Class CompileOptions
- java.lang.Object
-
- org.gradle.api.tasks.compile.AbstractOptions
-
- org.gradle.api.tasks.compile.CompileOptions
-
- All Implemented Interfaces:
java.io.Serializable
public abstract class CompileOptions extends AbstractOptions
Main options for Java compilation.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description CompileOptions(ObjectFactory objectFactory)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description CompileOptions
debug(java.util.Map<java.lang.String,java.lang.Object> debugArgs)
Deprecated.This method will be removed in Gradle 9.0void
debugOptions(Action<? super DebugOptions> action)
Execute the given action againstgetDebugOptions()
.CompileOptions
fork(java.util.Map<java.lang.String,java.lang.Object> forkArgs)
Deprecated.This method will be removed in Gradle 9.0void
forkOptions(Action<? super ForkOptions> action)
Execute the given action againstgetForkOptions()
.java.util.List<java.lang.String>
getAllCompilerArgs()
Returns all compiler arguments, added to thegetCompilerArgs()
or thegetCompilerArgumentProviders()
property.java.io.File
getAnnotationProcessorGeneratedSourcesDirectory()
Deprecated.UsegetGeneratedSourceOutputDirectory()
instead.FileCollection
getAnnotationProcessorPath()
Returns the classpath to use to load annotation processors.FileCollection
getBootstrapClasspath()
Returns the bootstrap classpath to be used for the compiler process.java.util.List<java.lang.String>
getCompilerArgs()
Returns any additional arguments to be passed to the compiler.java.util.List<CommandLineArgumentProvider>
getCompilerArgumentProviders()
Compiler argument providers.DebugOptions
getDebugOptions()
Returns options for generating debugging information.java.lang.String
getEncoding()
Returns the character encoding to be used when reading source files.java.lang.String
getExtensionDirs()
Returns the extension dirs to be used for the compiler process.ForkOptions
getForkOptions()
Returns options for running the compiler in a child process.DirectoryProperty
getGeneratedSourceOutputDirectory()
Returns the directory to place source files generated by annotation processors.DirectoryProperty
getHeaderOutputDirectory()
If this option is set to a non-null directory, it will be passed to the Java compiler's `-h` option, prompting it to generate native headers to that directory.Property<java.lang.Boolean>
getIncrementalAfterFailure()
Used to enable or disable incremental compilation after a failure.Property<java.lang.String>
getJavaModuleMainClass()
Set the main class of the Java module, if the module is supposed to be executable.Property<java.lang.String>
getJavaModuleVersion()
Set the version of the Java module.Property<java.lang.Integer>
getRelease()
Configures the Java language version for this compile task (--release
compiler flag).FileCollection
getSourcepath()
The source path to use for the compilation.boolean
isDebug()
Tells whether to include debugging information in the generated class files.boolean
isDeprecation()
Tells whether to log details of usage of deprecated members or classes.boolean
isFailOnError()
Tells whether to fail the build when compilation fails.boolean
isFork()
Tells whether to run the compiler in its own process.boolean
isIncremental()
informs whether to use incremental compilation feature.boolean
isListFiles()
Tells whether to log the files to be compiled.boolean
isVerbose()
Tells whether to produce verbose output.boolean
isWarnings()
Tells whether to log warning messages.void
setAnnotationProcessorGeneratedSourcesDirectory(java.io.File file)
Deprecated.UsegetGeneratedSourceOutputDirectory()
.set() instead.void
setAnnotationProcessorGeneratedSourcesDirectory(Provider<java.io.File> file)
Deprecated.UsegetGeneratedSourceOutputDirectory()
.set() instead.void
setAnnotationProcessorPath(FileCollection annotationProcessorPath)
Set the classpath to use to load annotation processors.void
setBootstrapClasspath(FileCollection bootstrapClasspath)
Sets the bootstrap classpath to be used for the compiler process.void
setCompilerArgs(java.util.List<java.lang.String> compilerArgs)
Sets any additional arguments to be passed to the compiler.void
setDebug(boolean debug)
Sets whether to include debugging information in the generated class files.void
setDebugOptions(DebugOptions debugOptions)
Deprecated.Setting a new instance of this property is unnecessary.void
setDeprecation(boolean deprecation)
Sets whether to log details of usage of deprecated members or classes.void
setEncoding(java.lang.String encoding)
Sets the character encoding to be used when reading source files.void
setExtensionDirs(java.lang.String extensionDirs)
Sets the extension dirs to be used for the compiler process.void
setFailOnError(boolean failOnError)
Sets whether to fail the build when compilation fails.void
setFork(boolean fork)
Sets whether to run the compiler in its own process.void
setForkOptions(ForkOptions forkOptions)
Deprecated.Setting a new instance of this property is unnecessary.CompileOptions
setIncremental(boolean incremental)
Configure the java compilation to be incremental (e.g.void
setListFiles(boolean listFiles)
Sets whether to log the files to be compiled.void
setSourcepath(FileCollection sourcepath)
Sets the source path to use for the compilation.void
setVerbose(boolean verbose)
Sets whether to produce verbose output.void
setWarnings(boolean warnings)
Sets whether to log warning messages.-
Methods inherited from class org.gradle.api.tasks.compile.AbstractOptions
define
-
-
-
-
Constructor Detail
-
CompileOptions
@Inject public CompileOptions(ObjectFactory objectFactory)
-
-
Method Detail
-
isFailOnError
@Input public boolean isFailOnError()
Tells whether to fail the build when compilation fails. Defaults totrue
.
-
setFailOnError
public void setFailOnError(boolean failOnError)
Sets whether to fail the build when compilation fails. Defaults totrue
.
-
isVerbose
@Console public boolean isVerbose()
Tells whether to produce verbose output. Defaults tofalse
.
-
setVerbose
public void setVerbose(boolean verbose)
Sets whether to produce verbose output. Defaults tofalse
.
-
isListFiles
@Console public boolean isListFiles()
Tells whether to log the files to be compiled. Defaults tofalse
.
-
setListFiles
public void setListFiles(boolean listFiles)
Sets whether to log the files to be compiled. Defaults tofalse
.
-
isDeprecation
@Console public boolean isDeprecation()
Tells whether to log details of usage of deprecated members or classes. Defaults tofalse
.
-
setDeprecation
public void setDeprecation(boolean deprecation)
Sets whether to log details of usage of deprecated members or classes. Defaults tofalse
.
-
isWarnings
@Console public boolean isWarnings()
Tells whether to log warning messages. The default istrue
.
-
setWarnings
public void setWarnings(boolean warnings)
Sets whether to log warning messages. The default istrue
.
-
getEncoding
@Nullable @Optional @Input public java.lang.String getEncoding()
Returns the character encoding to be used when reading source files. Defaults tonull
, in which case the platform default encoding will be used.
-
setEncoding
public void setEncoding(@Nullable java.lang.String encoding)
Sets the character encoding to be used when reading source files. Defaults tonull
, 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 totrue
. SeeDebugOptions.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 totrue
. SeeDebugOptions.getDebugLevel()
for which debugging information will be generated.
-
getDebugOptions
public DebugOptions getDebugOptions()
Returns options for generating debugging information.
-
setDebugOptions
@Deprecated public void setDebugOptions(DebugOptions debugOptions)
Deprecated.Setting a new instance of this property is unnecessary. This method will be removed in Gradle 9.0. UsedebugOptions(Action)
instead.Sets options for generating debugging information.
-
debugOptions
public void debugOptions(Action<? super DebugOptions> action)
Execute the given action againstgetDebugOptions()
.- Since:
- 8.11
-
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 tofalse
.
-
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 tofalse
.
-
getForkOptions
public ForkOptions getForkOptions()
Returns options for running the compiler in a child process.
-
setForkOptions
@Deprecated public void setForkOptions(ForkOptions forkOptions)
Deprecated.Setting a new instance of this property is unnecessary. This method will be removed in Gradle 9.0. UseforkOptions(Action)
instead.Sets options for running the compiler in a child process.
-
forkOptions
public void forkOptions(Action<? super ForkOptions> action)
Execute the given action againstgetForkOptions()
.- Since:
- 8.11
-
getBootstrapClasspath
@Nullable @Optional @CompileClasspath public FileCollection getBootstrapClasspath()
Returns the bootstrap classpath to be used for the compiler process. Defaults tonull
.- Since:
- 4.3
-
setBootstrapClasspath
public void setBootstrapClasspath(@Nullable FileCollection bootstrapClasspath)
Sets the bootstrap classpath to be used for the compiler process. Defaults tonull
.- Since:
- 4.3
-
getExtensionDirs
@Nullable @Optional @Input public java.lang.String getExtensionDirs()
Returns the extension dirs to be used for the compiler process. Defaults tonull
.
-
setExtensionDirs
public void setExtensionDirs(@Nullable java.lang.String extensionDirs)
Sets the extension dirs to be used for the compiler process. Defaults tonull
.
-
getCompilerArgs
@Input public java.util.List<java.lang.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--enable-preview
option that was added in newer Java versions:
Note that ifcompilerArgs.add("--enable-preview")
--release
is added then-target
and-source
are ignored.
-
getAllCompilerArgs
@Internal public java.util.List<java.lang.String> getAllCompilerArgs()
Returns all compiler arguments, added to thegetCompilerArgs()
or thegetCompilerArgumentProviders()
property.- Since:
- 4.5
-
getCompilerArgumentProviders
public java.util.List<CommandLineArgumentProvider> getCompilerArgumentProviders()
Compiler argument providers.- Since:
- 4.5
-
setCompilerArgs
public void setCompilerArgs(java.util.List<java.lang.String> compilerArgs)
Sets any additional arguments to be passed to the compiler. Defaults to the empty list.
-
fork
@Deprecated public CompileOptions fork(java.util.Map<java.lang.String,java.lang.Object> forkArgs)
Deprecated.This method will be removed in Gradle 9.0Convenience method to setForkOptions
with named parameter syntax. Calling this method will setfork
totrue
.
-
debug
@Deprecated public CompileOptions debug(java.util.Map<java.lang.String,java.lang.Object> debugArgs)
Deprecated.This method will be removed in Gradle 9.0Convenience method to setDebugOptions
with named parameter syntax. Calling this method will setdebug
totrue
.
-
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).
-
isIncremental
@Internal public boolean isIncremental()
informs whether to use incremental compilation feature. SeesetIncremental(boolean)
-
getIncrementalAfterFailure
@Input @Optional @Incubating public Property<java.lang.Boolean> getIncrementalAfterFailure()
Used to enable or disable incremental compilation after a failure.By default, incremental compilation after a failure is enabled for Java and Groovy. It has no effect for Scala. It has no effect if incremental compilation is not enabled.
When the Java command line compiler is used, i.e. when a custom java home is passed to forkOptions.javaHome or javac is passed to forkOptions.executable, this optimization is automatically disabled, since the compiler is not invoked via the compiler API.
- Since:
- 7.6
-
getSourcepath
@Optional @Nullable @IgnoreEmptyDirectories @PathSensitive(RELATIVE) @InputFiles public FileCollection 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 forjavac
, 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(FileCollection)
-
setSourcepath
public void setSourcepath(@Nullable FileCollection sourcepath)
Sets the source path to use for the compilation.- Parameters:
sourcepath
- the source path
-
getAnnotationProcessorPath
@Nullable @Optional @Classpath public FileCollection getAnnotationProcessorPath()
Returns the classpath to use to load annotation processors. This path is also used for annotation processor discovery.- Returns:
- The annotation processor path, or
null
if annotation processing is disabled. - Since:
- 3.4
-
setAnnotationProcessorPath
public void setAnnotationProcessorPath(@Nullable FileCollection annotationProcessorPath)
Set the classpath to use to load annotation processors. This path is also used for annotation processor discovery.- Parameters:
annotationProcessorPath
- The annotation processor path, ornull
to disable annotation processing.- Since:
- 3.4
-
getRelease
@Input @Optional public Property<java.lang.Integer> getRelease()
Configures the Java language version for this compile task (--release
compiler flag).If set, it will take precedences over the
AbstractCompile.getSourceCompatibility()
andAbstractCompile.getTargetCompatibility()
settings.This option is only taken into account by the
JavaCompile
task.- Since:
- 6.6
-
getJavaModuleVersion
@Optional @Input public Property<java.lang.String> getJavaModuleVersion()
Set the version of the Java module.- Since:
- 6.4
-
getJavaModuleMainClass
@Optional @Input public Property<java.lang.String> getJavaModuleMainClass()
Set the main class of the Java module, if the module is supposed to be executable.- Since:
- 6.4
-
getGeneratedSourceOutputDirectory
@Optional @OutputDirectory public DirectoryProperty getGeneratedSourceOutputDirectory()
Returns the directory to place source files generated by annotation processors.- Since:
- 6.3
-
getAnnotationProcessorGeneratedSourcesDirectory
@Nullable @Deprecated @ReplacedBy("generatedSourceOutputDirectory") public java.io.File getAnnotationProcessorGeneratedSourcesDirectory()
Deprecated.UsegetGeneratedSourceOutputDirectory()
instead. This method will be removed in Gradle 9.0.Returns the directory to place source files generated by annotation processors.- Since:
- 4.3
-
setAnnotationProcessorGeneratedSourcesDirectory
@Deprecated public void setAnnotationProcessorGeneratedSourcesDirectory(@Nullable java.io.File file)
Deprecated.UsegetGeneratedSourceOutputDirectory()
.set() instead. This method will be removed in Gradle 9.0.Sets the directory to place source files generated by annotation processors.- Since:
- 4.3
-
setAnnotationProcessorGeneratedSourcesDirectory
@Deprecated public void setAnnotationProcessorGeneratedSourcesDirectory(Provider<java.io.File> file)
Deprecated.UsegetGeneratedSourceOutputDirectory()
.set() instead. This method will be removed in Gradle 9.0.Sets the directory to place source files generated by annotation processors.- Since:
- 4.3
-
getHeaderOutputDirectory
@Optional @OutputDirectory public DirectoryProperty getHeaderOutputDirectory()
If this option is set to a non-null directory, it will be passed to the Java compiler's `-h` option, prompting it to generate native headers to that directory.- Since:
- 4.10
-
-