Class Wrapper
- java.lang.Object
-
- org.gradle.api.internal.AbstractTask
-
- org.gradle.api.DefaultTask
-
- org.gradle.api.tasks.wrapper.Wrapper
-
- All Implemented Interfaces:
java.lang.Comparable<Task>
,org.gradle.api.internal.DynamicObjectAware
,org.gradle.api.internal.TaskInternal
,Named
,ExtensionAware
,Task
,Configurable<Task>
@DisableCachingByDefault(because="Updating the wrapper is not worth caching") public abstract class Wrapper extends DefaultTask
Generates scripts (for *nix and windows) which allow you to build your project with Gradle, without having to install Gradle.
When a user executes a wrapper script the first time, the script downloads and installs the appropriate Gradle distribution and runs the build against this downloaded distribution. Any installed Gradle distribution is ignored when using the wrapper scripts.
The scripts generated by this task are intended to be committed to your version control system. This task also generates a small
gradle-wrapper.jar
bootstrap JAR file and properties file which should also be committed to your VCS. The scripts delegates to this JAR.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Wrapper.DistributionType
Specifies the Gradle distribution type.static class
Wrapper.PathBase
Specifies how the wrapper path should be interpreted.-
Nested classes/interfaces inherited from interface org.gradle.api.Task
Task.Namer
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
DEFAULT_DISTRIBUTION_PARENT_NAME
-
Fields inherited from interface org.gradle.api.Task
TASK_ACTION, TASK_CONSTRUCTOR_ARGS, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE
-
-
Constructor Summary
Constructors Constructor Description Wrapper()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description Wrapper.PathBase
getArchiveBase()
The archive base specifies whether the unpacked wrapper distribution should be stored in the project or in the gradle user home dir.java.lang.String
getArchivePath()
Returns the path where the gradle distributions archive should be saved (i.e.java.util.List<Wrapper.DistributionType>
getAvailableDistributionTypes()
The list of available gradle distribution types.java.io.File
getBatchScript()
Returns the file to write the wrapper batch script to.Wrapper.PathBase
getDistributionBase()
The distribution base specifies whether the unpacked wrapper distribution should be stored in the project or in the gradle user home dir.java.lang.String
getDistributionPath()
Returns the path where the gradle distributions needed by the wrapper are unzipped.java.lang.String
getDistributionSha256Sum()
The SHA-256 hash sum of the gradle distribution.Wrapper.DistributionType
getDistributionType()
Returns the type of the Gradle distribution to be used by the wrapper.java.lang.String
getDistributionUrl()
The URL to download the gradle distribution from.protected org.gradle.api.internal.file.FileLookup
getFileLookup()
java.lang.String
getGradleVersion()
Returns the gradle version for the wrapper.java.io.File
getJarFile()
Returns the file to write the wrapper jar file to.Property<java.lang.Integer>
getNetworkTimeout()
The network timeout specifies how many ms to wait for when the wrapper is performing network operations, such as downloading the wrapper jar.java.io.File
getPropertiesFile()
Returns the file to write the wrapper properties to.java.io.File
getScriptFile()
Returns the file to write the wrapper script to.abstract Property<java.lang.Boolean>
getValidateDistributionUrl()
Indicates if this task will validate the distribution url that has been configured.void
setArchiveBase(Wrapper.PathBase archiveBase)
The archive base specifies whether the unpacked wrapper distribution should be stored in the project or in the gradle user home dir.void
setArchivePath(java.lang.String archivePath)
Set's the path where the gradle distributions archive should be saved (i.e.void
setDistributionBase(Wrapper.PathBase distributionBase)
The distribution base specifies whether the unpacked wrapper distribution should be stored in the project or in the gradle user home dir.void
setDistributionPath(java.lang.String distributionPath)
Sets the path where the gradle distributions needed by the wrapper are unzipped.void
setDistributionSha256Sum(java.lang.String distributionSha256Sum)
The SHA-256 hash sum of the gradle distribution.void
setDistributionType(Wrapper.DistributionType distributionType)
The type of the Gradle distribution to be used by the wrapper.void
setDistributionUrl(java.lang.String url)
The URL to download the gradle distribution from.void
setGradleVersion(java.lang.String gradleVersion)
The version of the gradle distribution required by the wrapper.void
setJarFile(java.io.File jarFile)
The file to write the wrapper jar file to.void
setJarFile(java.lang.Object jarFile)
The file to write the wrapper jar file to.void
setScriptFile(java.io.File scriptFile)
The file to write the wrapper script to.void
setScriptFile(java.lang.Object scriptFile)
The file to write the wrapper script to.void
setWrapperVersionsResources(WrapperVersionsResources wrapperVersionsResources)
Set Wrapper versions resources.-
Methods inherited from class org.gradle.api.DefaultTask
compareTo, configure, dependsOn, doFirst, doFirst, doFirst, doLast, doLast, doLast, finalizedBy, getActions, getAnt, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExtensions, getFinalizedBy, getGroup, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOutputs, getPath, getProject, getShouldRunAfter, getState, getTaskDependencies, getTemporaryDir, getTimeout, hasProperty, mustRunAfter, onlyIf, onlyIf, onlyIf, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setFinalizedBy, setGroup, setMustRunAfter, setOnlyIf, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, usesService
-
Methods inherited from class org.gradle.api.internal.AbstractTask
acceptServiceReferences, appendParallelSafeAction, doNotTrackState, getAsDynamicObject, getConvention, getIdentityPath, getImpliesSubProjects, getLifecycleDependencies, getOnlyIf, getReasonNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, setImpliesSubProjects
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.gradle.api.Task
doNotTrackState, getConvention, notCompatibleWithConfigurationCache
-
-
-
-
Field Detail
-
DEFAULT_DISTRIBUTION_PARENT_NAME
public static final java.lang.String DEFAULT_DISTRIBUTION_PARENT_NAME
- See Also:
- Constant Field Values
-
-
Method Detail
-
getScriptFile
@OutputFile public java.io.File getScriptFile()
Returns the file to write the wrapper script to.
-
setScriptFile
public void setScriptFile(java.io.File scriptFile)
The file to write the wrapper script to.- Since:
- 4.0
-
setScriptFile
public void setScriptFile(java.lang.Object scriptFile)
The file to write the wrapper script to.
-
getBatchScript
@OutputFile public java.io.File getBatchScript()
Returns the file to write the wrapper batch script to.
-
getJarFile
@OutputFile public java.io.File getJarFile()
Returns the file to write the wrapper jar file to.
-
setJarFile
public void setJarFile(java.io.File jarFile)
The file to write the wrapper jar file to.- Since:
- 4.0
-
setJarFile
public void setJarFile(java.lang.Object jarFile)
The file to write the wrapper jar file to.
-
getPropertiesFile
@OutputFile public java.io.File getPropertiesFile()
Returns the file to write the wrapper properties to.
-
getDistributionPath
@Input public java.lang.String getDistributionPath()
Returns the path where the gradle distributions needed by the wrapper are unzipped. The path is relative to the distribution base directory- See Also:
setDistributionPath(String)
-
setDistributionPath
public void setDistributionPath(java.lang.String distributionPath)
Sets the path where the gradle distributions needed by the wrapper are unzipped. The path is relative to the distribution base directory- See Also:
setDistributionPath(String)
-
setWrapperVersionsResources
@Incubating public void setWrapperVersionsResources(WrapperVersionsResources wrapperVersionsResources)
Set Wrapper versions resources.- Since:
- 8.1
-
getGradleVersion
@Input public java.lang.String getGradleVersion()
Returns the gradle version for the wrapper.- Throws:
GradleException
- if the label that can be provided viasetGradleVersion(String)
can not be resolved at the moment. For example, there is not a `release-candidate` available at all times.- See Also:
setGradleVersion(String)
-
setGradleVersion
public void setGradleVersion(java.lang.String gradleVersion)
The version of the gradle distribution required by the wrapper. This is usually the same version of Gradle you use for building your project. The following labels are allowed to specify a version:latest
,release-candidate
,nightly
, andrelease-nightly
The resulting distribution url is validated before it is written to the gradle-wrapper.properties file.
-
getDistributionType
@Input public Wrapper.DistributionType getDistributionType()
Returns the type of the Gradle distribution to be used by the wrapper.- See Also:
setDistributionType(DistributionType)
-
setDistributionType
public void setDistributionType(Wrapper.DistributionType distributionType)
The type of the Gradle distribution to be used by the wrapper. By default, this isWrapper.DistributionType.BIN
, which is the binary-only Gradle distribution without documentation.- See Also:
Wrapper.DistributionType
-
getAvailableDistributionTypes
public java.util.List<Wrapper.DistributionType> getAvailableDistributionTypes()
The list of available gradle distribution types.
-
getDistributionUrl
@Input public java.lang.String getDistributionUrl()
The URL to download the gradle distribution from.If not set, the download URL is the default for the specified
getGradleVersion()
.If
getGradleVersion()
is not set, will return null.The wrapper downloads a certain distribution only once and caches it. If your distribution base is the project, you might submit the distribution to your version control system. That way no download is necessary at all. This might be in particular interesting, if you provide a custom gradle snapshot to the wrapper, because you don't need to provide a download server then.
-
setDistributionUrl
public void setDistributionUrl(java.lang.String url)
The URL to download the gradle distribution from.If not set, the download URL is the default for the specified
getGradleVersion()
.If
getGradleVersion()
is not set, will return null.The wrapper downloads a certain distribution and caches it. If your distribution base is the project, you might submit the distribution to your version control system. That way no download is necessary at all. This might be in particular interesting, if you provide a custom gradle snapshot to the wrapper, because you don't need to provide a download server then.
The distribution url is validated before it is written to the gradle-wrapper.properties file.
-
getDistributionSha256Sum
@Nullable @Optional @Input public java.lang.String getDistributionSha256Sum()
The SHA-256 hash sum of the gradle distribution.If not set, the hash sum of the gradle distribution is not verified.
The wrapper allows for verification of the downloaded Gradle distribution via SHA-256 hash sum comparison. This increases security against targeted attacks by preventing a man-in-the-middle attacker from tampering with the downloaded Gradle distribution.
- Since:
- 4.5
-
setDistributionSha256Sum
public void setDistributionSha256Sum(@Nullable java.lang.String distributionSha256Sum)
The SHA-256 hash sum of the gradle distribution.If not set, the hash sum of the gradle distribution is not verified.
The wrapper allows for verification of the downloaded Gradle distribution via SHA-256 hash sum comparison. This increases security against targeted attacks by preventing a man-in-the-middle attacker from tampering with the downloaded Gradle distribution.
- Since:
- 4.5
-
getDistributionBase
@Input public Wrapper.PathBase getDistributionBase()
The distribution base specifies whether the unpacked wrapper distribution should be stored in the project or in the gradle user home dir.
-
setDistributionBase
public void setDistributionBase(Wrapper.PathBase distributionBase)
The distribution base specifies whether the unpacked wrapper distribution should be stored in the project or in the gradle user home dir.
-
getArchivePath
@Input public java.lang.String getArchivePath()
Returns the path where the gradle distributions archive should be saved (i.e. the parent dir). The path is relative to the archive base directory.
-
setArchivePath
public void setArchivePath(java.lang.String archivePath)
Set's the path where the gradle distributions archive should be saved (i.e. the parent dir). The path is relative to the parent dir specified withgetArchiveBase()
.
-
getArchiveBase
@Input public Wrapper.PathBase getArchiveBase()
The archive base specifies whether the unpacked wrapper distribution should be stored in the project or in the gradle user home dir.
-
setArchiveBase
public void setArchiveBase(Wrapper.PathBase archiveBase)
The archive base specifies whether the unpacked wrapper distribution should be stored in the project or in the gradle user home dir.
-
getNetworkTimeout
@Input @Incubating @Optional public Property<java.lang.Integer> getNetworkTimeout()
The network timeout specifies how many ms to wait for when the wrapper is performing network operations, such as downloading the wrapper jar.- Since:
- 7.6
-
getValidateDistributionUrl
@Incubating @Input public abstract Property<java.lang.Boolean> getValidateDistributionUrl()
Indicates if this task will validate the distribution url that has been configured.- Returns:
- whether this task will validate the distribution url
- Since:
- 8.2
-
getFileLookup
@Inject protected org.gradle.api.internal.file.FileLookup getFileLookup()
-
-