Class CompileOptions

java.lang.Object
org.gradle.api.tasks.compile.AbstractOptions
org.gradle.api.tasks.compile.CompileOptions
All Implemented Interfaces:
Serializable

public class CompileOptions extends AbstractOptions
Main options for Java compilation.
See Also:
  • Constructor Details

    • CompileOptions

      @Inject public CompileOptions(ObjectFactory objectFactory)
  • Method Details

    • isFailOnError

      @Input public boolean isFailOnError()
      Tells whether to fail the build when compilation fails. Defaults to true.
    • setFailOnError

      public void setFailOnError(boolean failOnError)
      Sets whether to fail the build when compilation fails. Defaults to true.
    • isVerbose

      @Console public boolean isVerbose()
      Tells whether to produce verbose output. Defaults to false.
    • setVerbose

      public void setVerbose(boolean verbose)
      Sets whether to produce verbose output. Defaults to false.
    • isListFiles

      @Console public boolean isListFiles()
      Tells whether to log the files to be compiled. Defaults to false.
    • setListFiles

      public void setListFiles(boolean listFiles)
      Sets whether to log the files to be compiled. Defaults to false.
    • isDeprecation

      @Console public boolean isDeprecation()
      Tells whether to log details of usage of deprecated members or classes. Defaults to false.
    • setDeprecation

      public void setDeprecation(boolean deprecation)
      Sets whether to log details of usage of deprecated members or classes. Defaults to false.
    • isWarnings

      @Console public boolean isWarnings()
      Tells whether to log warning messages. The default is true.
    • setWarnings

      public void setWarnings(boolean warnings)
      Sets whether to log warning messages. The default is true.
    • getEncoding

      @Input @Optional public String getEncoding()
      Returns the character encoding to be used when reading source files. Defaults to null, in which case the platform default encoding will be used.
    • setEncoding

      public void setEncoding(String encoding)
      Sets the character encoding to be used when reading source files. Defaults to null, in which case the platform default encoding will be used.
    • isDebug

      @Input public boolean isDebug()
      Tells whether to include debugging information in the generated class files. Defaults to true. See DebugOptions.getDebugLevel() for which debugging information will be generated.
    • setDebug

      public void setDebug(boolean debug)
      Sets whether to include debugging information in the generated class files. Defaults to true. See DebugOptions.getDebugLevel() for which debugging information will be generated.
    • getDebugOptions

      public DebugOptions getDebugOptions()
      Returns options for generating debugging information.
    • setDebugOptions

      public void setDebugOptions(DebugOptions debugOptions)
      Sets options for generating debugging information.
    • isFork

      @Input public boolean isFork()
      Tells whether to run the compiler in its own process. Note that this does not necessarily mean that a new process will be created for each compile task. Defaults to false.
    • setFork

      public void setFork(boolean fork)
      Sets whether to run the compiler in its own process. Note that this does not necessarily mean that a new process will be created for each compile task. Defaults to false.
    • getForkOptions

      public ForkOptions getForkOptions()
      Returns options for running the compiler in a child process.
    • setForkOptions

      public void setForkOptions(ForkOptions forkOptions)
      Sets options for running the compiler in a child process.
    • getBootClasspath

      @Deprecated @Internal public String getBootClasspath()
      Deprecated.
      Returns the bootstrap classpath to be used for the compiler process. Defaults to null.
    • setBootClasspath

      @Deprecated public void setBootClasspath(String bootClasspath)
      Deprecated.
      Sets the bootstrap classpath to be used for the compiler process. Defaults to null.
    • getBootstrapClasspath

      @Optional @CompileClasspath public FileCollection getBootstrapClasspath()
      Returns the bootstrap classpath to be used for the compiler process. Defaults to null.
      Since:
      4.3
    • setBootstrapClasspath

      public void setBootstrapClasspath(FileCollection bootstrapClasspath)
      Sets the bootstrap classpath to be used for the compiler process. Defaults to null.
      Since:
      4.3
    • getExtensionDirs

      @Input @Optional public String getExtensionDirs()
      Returns the extension dirs to be used for the compiler process. Defaults to null.
    • setExtensionDirs

      public void setExtensionDirs(String extensionDirs)
      Sets the extension dirs to be used for the compiler process. Defaults to null.
    • getCompilerArgs

      @Input public List<String> getCompilerArgs()
      Returns any additional arguments to be passed to the compiler. Defaults to the empty list. Compiler arguments not supported by the DSL can be added here. For example, it is possible to pass the --release option of JDK 9:
      compilerArgs.addAll(['--release', '7'])
      Note that if --release is added then -target and -source are ignored.
    • setCompilerArgs

      public void setCompilerArgs(List<String> compilerArgs)
      Sets any additional arguments to be passed to the compiler. Defaults to the empty list.
    • fork

      public CompileOptions fork(Map<String,Object> forkArgs)
      Convenience method to set ForkOptions with named parameter syntax. Calling this method will set fork to true.
    • debug

      public CompileOptions debug(Map<String,Object> debugArgs)
      Convenience method to set DebugOptions with named parameter syntax. Calling this method will set debug to true.
    • setIncremental

      public CompileOptions setIncremental(boolean incremental)
      Configure the java compilation to be incremental (e.g. compiles only those java classes that were changed or that are dependencies to the changed classes).
    • optionMap

      public Map<String,Object> optionMap()
      Internal method.
      Overrides:
      optionMap in class AbstractOptions
    • excludeFromAntProperties

      protected boolean excludeFromAntProperties(String fieldName)
      Overrides:
      excludeFromAntProperties in class AbstractOptions
    • getAntPropertyName

      protected String getAntPropertyName(String fieldName)
      Overrides:
      getAntPropertyName in class AbstractOptions
    • getAntPropertyValue

      protected Object getAntPropertyValue(String fieldName, Object value)
      Overrides:
      getAntPropertyValue in class AbstractOptions
    • isIncremental

      @Input public boolean isIncremental()
      informs whether to use incremental compilation feature. See setIncremental(boolean)
    • getSourcepath

      The source path to use for the compilation.

      The source path indicates the location of source files that may be compiled if necessary. It is effectively a complement to the class path, where the classes to be compiled against are in source form. It does not indicate the actual primary source being compiled.

      The source path feature of the Java compiler is rarely needed for modern builds that use dependency management.

      The default value for the source path is null, which indicates an empty source path. Note that this is different to the default value for the -sourcepath option for javac, which is to use the value specified by -classpath. If you wish to use any source path, it must be explicitly set.

      Returns:
      the source path
      See Also:
    • setSourcepath

      @Incubating public void setSourcepath(FileCollection sourcepath)
      Sets the source path to use for the compilation.
      Parameters:
      sourcepath - the source path
    • getAnnotationProcessorPath

      @Optional @Incubating @Internal @Nullable public FileCollection getAnnotationProcessorPath()
      Returns the classpath to use to load annotation processors. This path is also used for annotation processor discovery. The default value is null, which means use the compile classpath.
      Returns:
      The annotation processor path, or null to use the default.
      Since:
      3.4
    • setAnnotationProcessorPath

      @Incubating public void setAnnotationProcessorPath(@Nullable FileCollection annotationProcessorPath)
      Set the classpath to use to load annotation processors. This path is also used for annotation processor discovery. The value can be null, which means use the compile classpath.
      Parameters:
      annotationProcessorPath - The annotation processor path, or null to use the default.
      Since:
      3.4
    • getAnnotationProcessorGeneratedSourcesDirectory

      @Optional @Nullable @Incubating @OutputDirectory public File getAnnotationProcessorGeneratedSourcesDirectory()
      Returns the directory to place source files generated by annotation compilers.
      Since:
      4.3
    • setAnnotationProcessorGeneratedSourcesDirectory

      @Incubating public void setAnnotationProcessorGeneratedSourcesDirectory(File file)
      Sets the directory to place source files generated by annotation compilers.
      Since:
      4.3
    • setAnnotationProcessorGeneratedSourcesDirectory

      @Incubating public void setAnnotationProcessorGeneratedSourcesDirectory(Provider<File> file)
      Sets the directory to place source files generated by annotation compilers.
      Since:
      4.3