You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ICompilerConfiguration.java 3.1KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. /********************************************************************
  2. * Copyright (c) 2007 Contributors. All rights reserved.
  3. * This program and the accompanying materials are made available
  4. * under the terms of the Eclipse Public License v1.0
  5. * which accompanies this distribution and is available at
  6. * http://eclipse.org/legal/epl-v10.html
  7. *
  8. * Contributors: IBM Corporation - initial API and implementation
  9. * Helen Hawkins - initial version (bug 148190)
  10. *******************************************************************/
  11. package org.aspectj.ajde.core;
  12. import java.util.List;
  13. import java.util.Map;
  14. import java.util.Set;
  15. /**
  16. * Interface that contains all the configuration required for the
  17. * compiler to be able to perform a build
  18. */
  19. public interface ICompilerConfiguration {
  20. /**
  21. * Returns the table of the current custom java options.
  22. * <p>
  23. * For a complete description of the configurable options, see
  24. * {@link org.aspectj.ajde.core.JavaOptions#getDefaultJavaOptions}
  25. * or {@link org.aspectj.org.eclipse.jdt.core.IJavaProject#getOptions(boolean)}
  26. * </p>
  27. *
  28. * @return table of current settings of all options
  29. * (key type: <code>String</code>; value type: <code>String</code>)
  30. * @see org.aspectj.ajde.core.JavaOptions#getDefaultJavaOptions or
  31. * org.aspectj.org.eclipse.jdt.core.IJavaProject#getOptions(boolean)
  32. */
  33. public Map /*String --> String */getJavaOptionsMap();
  34. /**
  35. * The non-standard options, typically prefaced with -X when used
  36. * with a command line compiler. The default is no non-standard
  37. * options. Options should be separated by a space, for example
  38. * "-showWeaveInfo -XnoInline"
  39. */
  40. public String getNonStandardOptions();
  41. /**
  42. * @return a list of those files to include in the build
  43. */
  44. public List /*String*/ getProjectSourceFiles();
  45. /**
  46. * @return the classpath to use
  47. */
  48. public String getClasspath();
  49. /**
  50. * @return the IOutputLocationManager associated with this
  51. * compiler configuration
  52. */
  53. public IOutputLocationManager getOutputLocationManager();
  54. /**
  55. * @return the set of input path elements for this compilation.
  56. * Set members should be of the type java.io.File.
  57. * An empty set or null is acceptable for this option.
  58. * From -inpath
  59. */
  60. public Set /*java.io.File*/ getInpath();
  61. /**
  62. * @return the output jar file for the compilation results.
  63. * Return null to leave classfiles unjar'd in output directory
  64. * From -outjar
  65. */
  66. public String getOutJar();
  67. /**
  68. * @return the set of aspect jar files to be used for the compilation.
  69. * Returning null or an empty set disables this option. Set members
  70. * should be of type java.io.File.
  71. * From -aspectpath
  72. */
  73. public Set /*java.io.File*/ getAspectPath();
  74. /**
  75. * Get the set of non-Java resources for this compilation.
  76. * Set members should be of type java.io.File.
  77. * An empty set or null is acceptable for this option.
  78. *
  79. * @return map from unique resource name to absolute path to source
  80. * resource (String to File)
  81. */
  82. public Map /*String --> java.io.File */getSourcePathResources();
  83. }