public interface JavaPluginExtension
JavaBasePlugin
.Modifier and Type | Method | Description |
---|---|---|
void |
consistentResolution(Action<? super JavaResolutionConsistency> action) |
Configure the dependency resolution consistency for this Java project.
|
void |
disableAutoTargetJvm() |
If this method is called, Gradle will not automatically try to fetch
dependencies which have a JVM version compatible with the target compatibility
of this module.
|
boolean |
getAutoTargetJvmDisabled() |
Tells if automatic JVM targeting is enabled.
|
DirectoryProperty |
getDocsDir() |
Returns a file pointing to the root directory supposed to be used for all docs.
|
ModularitySpec |
getModularity() |
Configure the module path handling for tasks that have a 'classpath' as input.
|
JavaVersion |
getSourceCompatibility() |
Returns the source compatibility used for compiling Java sources.
|
SourceSetContainer |
getSourceSets() |
The source sets container.
|
JavaVersion |
getTargetCompatibility() |
Returns the target compatibility used for compiling Java sources.
|
DirectoryProperty |
getTestReportDir() |
Returns a file pointing to the root directory to be used for reports.
|
DirectoryProperty |
getTestResultsDir() |
Returns a file pointing to the root directory of the test results.
|
JavaToolchainSpec |
getToolchain() |
Gets the project wide toolchain requirements that will be used for tasks requiring a tool from the toolchain (e.g.
|
Manifest |
manifest() |
Creates a new instance of a
Manifest . |
Manifest |
manifest(Closure closure) |
Creates and configures a new instance of a
Manifest . |
Manifest |
manifest(Action<? super Manifest> action) |
Creates and configures a new instance of a
Manifest . |
void |
registerFeature(java.lang.String name,
Action<? super FeatureSpec> configureAction) |
Registers a feature.
|
void |
setSourceCompatibility(java.lang.Object value) |
Sets the source compatibility used for compiling Java sources.
|
void |
setSourceCompatibility(JavaVersion value) |
Sets the source compatibility used for compiling Java sources.
|
void |
setTargetCompatibility(java.lang.Object value) |
Sets the target compatibility used for compiling Java sources.
|
void |
setTargetCompatibility(JavaVersion value) |
Sets the target compatibility used for compiling Java sources.
|
java.lang.Object |
sourceSets(Closure closure) |
Configures the source sets of this project.
|
JavaToolchainSpec |
toolchain(Action<? super JavaToolchainSpec> action) |
Configures the project wide toolchain requirements for tasks that require a tool from the toolchain (e.g.
|
void |
withJavadocJar() |
Adds a task
javadocJar that will package the output of the javadoc task in a JAR with classifier javadoc . |
void |
withSourcesJar() |
Adds a task
sourcesJar that will package the Java sources of the main SourceSet in a JAR with classifier sources . |
JavaVersion getSourceCompatibility()
void setSourceCompatibility(JavaVersion value)
This property cannot be set if a toolchain
has been configured.
value
- The value for the source compatibilitytoolchain(Action)
JavaVersion getTargetCompatibility()
void setTargetCompatibility(JavaVersion value)
This property cannot be set if a toolchain
has been configured.
value
- The value for the target compatibilitytoolchain(Action)
void registerFeature(java.lang.String name, Action<? super FeatureSpec> configureAction)
The new feature will have a default capability corresponding to the "group", "name" + feature name and version of this project. For example, if the group of the component is "org", that the project name is "lib" the version is "1.0" and the feature name is "myFeature", then a capability named "org:lib-my-feature:1.0" is automatically added.
In order to consume this feature in another module add a dependency like the following:
dependencies { implementation(project(":lib")) { capabilities { requireCapability("org:lib-my-feature:1.0") } } }The
FeatureSpec.capability(String, String, String)
method can be
used to refine the capabilities of this feature.name
- the name of the featureconfigureAction
- the configuration for the featurevoid disableAutoTargetJvm()
This should be used whenever the default behavior is not applicable, in particular when for some reason it's not possible to split a module and that this module only has some classes which require dependencies on higher versions.
void withJavadocJar()
javadocJar
that will package the output of the javadoc
task in a JAR with classifier javadoc
.
The produced artifact is registered as a documentation variant on the java
component and added as a dependency on the assemble
task.
This means that if maven-publish
or ivy-publish
is also applied, the javadoc JAR will be published.
If the project already has a task named javadocJar
then no task is created.
The publishing of the Javadoc variant can also be disabled using ConfigurationVariantDetails.skip()
through AdhocComponentWithVariants.withVariantsFromConfiguration(Configuration, Action)
,
if it should only be built locally by calling or wiring the ':javadocJar' task.
void withSourcesJar()
sourcesJar
that will package the Java sources of the main SourceSet
in a JAR with classifier sources
.
The produced artifact is registered as a documentation variant on the java
component and added as a dependency on the assemble
task.
This means that if maven-publish
or ivy-publish
is also applied, the sources JAR will be published.
If the project already has a task named sourcesJar
then no task is created.
The publishing of the sources variant can be disabled using ConfigurationVariantDetails.skip()
through AdhocComponentWithVariants.withVariantsFromConfiguration(Configuration, Action)
,
if it should only be built locally by calling or wiring the ':sourcesJar' task.
ModularitySpec getModularity()
JavaToolchainSpec getToolchain()
JavaCompile
).
Configuring a toolchain cannot be used together with sourceCompatibility
or targetCompatibility
on this extension.
Both values will be sourced from the toolchain.
JavaToolchainSpec toolchain(Action<? super JavaToolchainSpec> action)
JavaCompile
).
Configuring a toolchain cannot be used together with sourceCompatibility
or targetCompatibility
on this extension.
Both values will be sourced from the toolchain.
@Incubating void consistentResolution(Action<? super JavaResolutionConsistency> action)
action
- the configuration actionjava.lang.Object sourceSets(Closure closure)
The given closure is executed to configure the SourceSetContainer
. The SourceSetContainer
is passed to the closure as its delegate.
See the example below how SourceSet
'main' is accessed and how the SourceDirectorySet
'java'
is configured to exclude some package from compilation.
plugins { id 'java' } sourceSets { main { java { exclude 'some/unwanted/package/**' } } }
closure
- The closure to execute.DirectoryProperty getDocsDir()
DirectoryProperty getTestResultsDir()
DirectoryProperty getTestReportDir()
void setSourceCompatibility(java.lang.Object value)
value
- The value for the source compatibility as defined by JavaVersion.toVersion(Object)
void setTargetCompatibility(java.lang.Object value)
value
- The value for the target compatibility as defined by JavaVersion.toVersion(Object)
Manifest manifest(@DelegatesTo(Manifest.class) Closure closure)
Manifest
. The given closure configures
the new manifest instance before it is returned.closure
- The closure to use to configure the manifest.Manifest manifest(Action<? super Manifest> action)
Manifest
.action
- The action to use to configure the manifest.SourceSetContainer getSourceSets()
boolean getAutoTargetJvmDisabled()