java.io.Serializable
public abstract class CompileOptions extends AbstractOptions
Constructor | Description |
---|---|
CompileOptions(ObjectFactory objectFactory) |
Modifier and Type | Method | Description |
---|---|---|
CompileOptions |
debug(java.util.Map<java.lang.String,java.lang.Object> debugArgs) |
Convenience method to set
DebugOptions with named parameter syntax. |
CompileOptions |
fork(java.util.Map<java.lang.String,java.lang.Object> forkArgs) |
Convenience method to set
ForkOptions with named parameter syntax. |
java.util.List<java.lang.String> |
getAllCompilerArgs() |
Returns all compiler arguments, added to the
getCompilerArgs() or the getCompilerArgumentProviders() property. |
java.io.File |
getAnnotationProcessorGeneratedSourcesDirectory() |
Deprecated.
Use
getGeneratedSourceOutputDirectory() 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.
Use
getGeneratedSourceOutputDirectory() .set() instead. |
void |
setAnnotationProcessorGeneratedSourcesDirectory(Provider<java.io.File> file) |
Sets the directory to place source files generated by annotation processors.
|
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) |
Sets options for generating debugging information.
|
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) |
Sets options for running the compiler in a child process.
|
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.
|
define
@Inject public CompileOptions(ObjectFactory objectFactory)
@Input public boolean isFailOnError()
true
.public void setFailOnError(boolean failOnError)
true
.@Console public boolean isVerbose()
false
.public void setVerbose(boolean verbose)
false
.@Console public boolean isListFiles()
false
.public void setListFiles(boolean listFiles)
false
.@Console public boolean isDeprecation()
false
.public void setDeprecation(boolean deprecation)
false
.@Console public boolean isWarnings()
true
.public void setWarnings(boolean warnings)
true
.@Nullable @Optional @Input public java.lang.String getEncoding()
null
, in which
case the platform default encoding will be used.public void setEncoding(@Nullable java.lang.String encoding)
null
, in which
case the platform default encoding will be used.@Input public boolean isDebug()
true
. See DebugOptions.getDebugLevel()
for which debugging information will be generated.public void setDebug(boolean debug)
true
. See DebugOptions.getDebugLevel()
for which debugging information will be generated.public DebugOptions getDebugOptions()
public void setDebugOptions(DebugOptions debugOptions)
@Input public boolean isFork()
false
.public void setFork(boolean fork)
false
.public ForkOptions getForkOptions()
public void setForkOptions(ForkOptions forkOptions)
@Nullable @Optional @CompileClasspath public FileCollection getBootstrapClasspath()
null
.public void setBootstrapClasspath(@Nullable FileCollection bootstrapClasspath)
null
.@Nullable @Optional @Input public java.lang.String getExtensionDirs()
null
.public void setExtensionDirs(@Nullable java.lang.String extensionDirs)
null
.@Input public java.util.List<java.lang.String> getCompilerArgs()
--enable-preview
option that was added in newer Java versions:
compilerArgs.add("--enable-preview")
Note that if --release
is added then -target
and -source
are ignored.@Internal public java.util.List<java.lang.String> getAllCompilerArgs()
getCompilerArgs()
or the getCompilerArgumentProviders()
property.public java.util.List<CommandLineArgumentProvider> getCompilerArgumentProviders()
public void setCompilerArgs(java.util.List<java.lang.String> compilerArgs)
public CompileOptions fork(java.util.Map<java.lang.String,java.lang.Object> forkArgs)
ForkOptions
with named parameter syntax.
Calling this method will set fork
to true
.public CompileOptions debug(java.util.Map<java.lang.String,java.lang.Object> debugArgs)
DebugOptions
with named parameter syntax.
Calling this method will set debug
to true
.public CompileOptions setIncremental(boolean incremental)
@Internal public boolean isIncremental()
setIncremental(boolean)
@Input @Optional @Incubating public Property<java.lang.Boolean> getIncrementalAfterFailure()
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.
@Optional @Nullable @IgnoreEmptyDirectories @PathSensitive(RELATIVE) @InputFiles public FileCollection getSourcepath()
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.
setSourcepath(FileCollection)
public void setSourcepath(@Nullable FileCollection sourcepath)
sourcepath
- the source path@Nullable @Optional @Classpath public FileCollection getAnnotationProcessorPath()
null
if annotation processing is disabled.public void setAnnotationProcessorPath(@Nullable FileCollection annotationProcessorPath)
annotationProcessorPath
- The annotation processor path, or null
to disable annotation processing.@Input @Optional public Property<java.lang.Integer> getRelease()
--release
compiler flag).
If set, it will take precedences over the AbstractCompile.getSourceCompatibility()
and AbstractCompile.getTargetCompatibility()
settings.
This option is only taken into account by the JavaCompile
task.
@Optional @Input public Property<java.lang.String> getJavaModuleVersion()
@Optional @Input public Property<java.lang.String> getJavaModuleMainClass()
@Optional @OutputDirectory public DirectoryProperty getGeneratedSourceOutputDirectory()
@Nullable @Deprecated @ReplacedBy("generatedSourceOutputDirectory") public java.io.File getAnnotationProcessorGeneratedSourcesDirectory()
getGeneratedSourceOutputDirectory()
instead. This method will be removed in Gradle 9.0.@Deprecated public void setAnnotationProcessorGeneratedSourcesDirectory(@Nullable java.io.File file)
getGeneratedSourceOutputDirectory()
.set() instead. This method will be removed in Gradle 9.0.public void setAnnotationProcessorGeneratedSourcesDirectory(Provider<java.io.File> file)
@Optional @OutputDirectory public DirectoryProperty getHeaderOutputDirectory()