Class BootJar
java.lang.Object
org.gradle.api.internal.AbstractTask
org.gradle.api.DefaultTask
org.gradle.api.internal.ConventionTask
org.gradle.api.tasks.AbstractCopyTask
org.gradle.api.tasks.bundling.AbstractArchiveTask
org.gradle.api.tasks.bundling.Zip
org.gradle.jvm.tasks.Jar
org.gradle.api.tasks.bundling.Jar
org.springframework.boot.gradle.tasks.bundling.BootJar
- All Implemented Interfaces:
Comparable<Task>
,ContentFilterable
,CopyProcessingSpec
,CopySourceSpec
,CopySpec
,org.gradle.api.internal.DynamicObjectAware
,org.gradle.api.internal.file.copy.CopySpecSource
,org.gradle.api.internal.IConventionAware
,org.gradle.api.internal.TaskInternal
,Named
,ExtensionAware
,Task
,PatternFilterable
,Configurable<Task>
,BootArchive
@DisableCachingByDefault(because="Not worth caching")
public abstract class BootJar
extends Jar
implements BootArchive
A custom
Jar
task that produces a Spring Boot executable jar.- Since:
- 2.0.0
- Author:
- Andy Wilkinson, Madhura Bhave, Scott Frederick, Phillip Webb
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.gradle.api.Task
Task.Namer
-
Field Summary
Fields inherited from class org.gradle.jvm.tasks.Jar
DEFAULT_EXTENSION
Fields inherited from class org.gradle.api.tasks.bundling.Zip
ZIP_EXTENSION
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
-
Method Summary
Modifier and TypeMethodDescriptionCalls the givenaction
to add content to theBOOT-INF
directory of the jar.void
Adds files to the classpath to include in the archive.void
copy()
protected org.gradle.api.internal.file.copy.CopyAction
Returns aCopySpec
that can be used to add content to theBOOT-INF
directory of the jar.Returns the classpath that will be included in the archive.Returns theLaunchScriptConfiguration
that will control the script that is prepended to the archive.Returns the spec that describes the layers in a layered jar.protected boolean
isLibrary
(FileCopyDetails details) Return if theFileCopyDetails
are for a library.void
Configures the archive to have a prepended launch script.void
launchScript
(Action<LaunchScriptConfiguration> action) Configures the archive to have a prepended launch script, customizing its configuration using the givenaction
.void
layered
(Action<LayeredSpec> action) Configures the jar's layering using the givenaction
.void
requiresUnpack
(String... patterns) Adds Ant-style patterns that identify files that must be unpacked from the archive when it is launched.void
requiresUnpack
(Spec<FileTreeElement> spec) Adds a spec that identifies files that must be unpacked from the archive when it is launched.void
resolvedArtifacts
(Provider<Set<ResolvedArtifactResult>> resolvedArtifacts) Registers the given lazily providedresolvedArtifacts
.protected ZipCompression
resolveZipCompression
(FileCopyDetails details) Return theZipCompression
that should be used when adding the file represented by the givendetails
to the jar.void
setClasspath
(Object classpath) Sets the classpath to include in the archive.void
setClasspath
(FileCollection classpath) Sets the classpath to include in the archive.Methods inherited from class org.gradle.jvm.tasks.Jar
getManifest, getManifestContentCharset, getMetadataCharset, getMetaInf, manifest, metaInf, metaInf, setManifest, setManifestContentCharset, setMetadataCharset
Methods inherited from class org.gradle.api.tasks.bundling.Zip
getCompressor, getEntryCompression, isZip64, setEntryCompression, setZip64
Methods inherited from class org.gradle.api.tasks.bundling.AbstractArchiveTask
createCopyActionExecuter, getArchiveAppendix, getArchiveBaseName, getArchiveClassifier, getArchiveExtension, getArchiveFile, getArchiveFileName, getArchivePath, getArchiveVersion, getDestinationDirectory, into, into, into, isPreserveFileTimestamps, isReproducibleFileOrder, setPreserveFileTimestamps, setReproducibleFileOrder
Methods inherited from class org.gradle.api.tasks.AbstractCopyTask
createRootSpec, dirPermissions, eachFile, eachFile, exclude, exclude, exclude, exclude, expand, expand, filePermissions, filesMatching, filesMatching, filesNotMatching, filesNotMatching, filter, filter, filter, filter, from, from, from, getDirectoryFileTreeFactory, getDirMode, getDirPermissions, getDocumentationRegistry, getDuplicatesStrategy, getExcludes, getFileLookup, getFileMode, getFilePermissions, getFileResolver, getFileSystem, getFilteringCharset, getIncludeEmptyDirs, getIncludes, getInstantiator, getMainSpec, getObjectFactory, getRootSpec, getSource, include, include, include, include, isCaseSensitive, rename, rename, rename, rename, setCaseSensitive, setDirMode, setDuplicatesStrategy, setExcludes, setFileMode, setFilteringCharset, setIncludeEmptyDirs, setIncludes, with
Methods inherited from class org.gradle.api.internal.ConventionTask
conventionMapping, conventionMapping, getConventionMapping
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.springframework.boot.gradle.tasks.bundling.BootArchive
getIncludeTools, getLoaderImplementation, getMainClass, getTargetJavaVersion
Methods inherited from interface java.lang.Comparable
compareTo
Methods inherited from interface org.gradle.api.plugins.ExtensionAware
getExtensions
Methods inherited from interface org.gradle.api.Task
configure, dependsOn, doFirst, doFirst, doFirst, doLast, doLast, doLast, doNotTrackState, finalizedBy, getActions, getAnt, getConvention, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getFinalizedBy, getGroup, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getPath, getProject, getShouldRunAfter, getTaskDependencies, getTemporaryDir, getTimeout, hasProperty, mustRunAfter, notCompatibleWithConfigurationCache, onlyIf, onlyIf, onlyIf, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setFinalizedBy, setGroup, setMustRunAfter, setOnlyIf, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, usesService
-
Constructor Details
-
BootJar
public BootJar()Creates a newBootJar
task.
-
-
Method Details
-
resolvedArtifacts
Description copied from interface:BootArchive
Registers the given lazily providedresolvedArtifacts
. They are used to map from the files in theclasspath
to their dependency coordinates.- Specified by:
resolvedArtifacts
in interfaceBootArchive
- Parameters:
resolvedArtifacts
- the lazily provided resolved artifacts
-
copy
public void copy()- Overrides:
copy
in classAbstractCopyTask
-
createCopyAction
protected org.gradle.api.internal.file.copy.CopyAction createCopyAction()- Overrides:
createCopyAction
in classZip
-
requiresUnpack
Description copied from interface:BootArchive
Adds Ant-style patterns that identify files that must be unpacked from the archive when it is launched.- Specified by:
requiresUnpack
in interfaceBootArchive
- Parameters:
patterns
- the patterns
-
requiresUnpack
Description copied from interface:BootArchive
Adds a spec that identifies files that must be unpacked from the archive when it is launched.- Specified by:
requiresUnpack
in interfaceBootArchive
- Parameters:
spec
- the spec
-
getLaunchScript
Description copied from interface:BootArchive
Returns theLaunchScriptConfiguration
that will control the script that is prepended to the archive.- Specified by:
getLaunchScript
in interfaceBootArchive
- Returns:
- the launch script configuration, or
null
if the launch script has not been configured.
-
launchScript
public void launchScript()Description copied from interface:BootArchive
Configures the archive to have a prepended launch script.- Specified by:
launchScript
in interfaceBootArchive
-
launchScript
Description copied from interface:BootArchive
Configures the archive to have a prepended launch script, customizing its configuration using the givenaction
.- Specified by:
launchScript
in interfaceBootArchive
- Parameters:
action
- the action to apply
-
getLayered
Returns the spec that describes the layers in a layered jar.- Returns:
- the spec for the layers
- Since:
- 2.3.0
-
layered
Configures the jar's layering using the givenaction
.- Parameters:
action
- the action to apply- Since:
- 2.3.0
-
getClasspath
Description copied from interface:BootArchive
Returns the classpath that will be included in the archive.- Specified by:
getClasspath
in interfaceBootArchive
- Returns:
- the classpath
-
classpath
Description copied from interface:BootArchive
Adds files to the classpath to include in the archive. The givenclasspath
is evaluated as perProject.files(Object...)
.- Specified by:
classpath
in interfaceBootArchive
- Parameters:
classpath
- the additions to the classpath
-
setClasspath
Description copied from interface:BootArchive
Sets the classpath to include in the archive. The givenclasspath
is evaluated as perProject.files(Object...)
.- Specified by:
setClasspath
in interfaceBootArchive
- Parameters:
classpath
- the classpath
-
setClasspath
Description copied from interface:BootArchive
Sets the classpath to include in the archive.- Specified by:
setClasspath
in interfaceBootArchive
- Parameters:
classpath
- the classpath
-
getBootInf
Returns aCopySpec
that can be used to add content to theBOOT-INF
directory of the jar.- Returns:
- a
CopySpec
forBOOT-INF
- Since:
- 2.0.3
-
bootInf
Calls the givenaction
to add content to theBOOT-INF
directory of the jar.- Parameters:
action
- theAction
to call- Returns:
- the
CopySpec
forBOOT-INF
that was passed to theAction
- Since:
- 2.0.3
-
resolveZipCompression
Return theZipCompression
that should be used when adding the file represented by the givendetails
to the jar. By default, anylibrary
isstored
and all other files aredeflated
.- Parameters:
details
- the file copy details- Returns:
- the compression to use
-
isLibrary
Return if theFileCopyDetails
are for a library. By default any file inBOOT-INF/lib
is considered to be a library.- Parameters:
details
- the file copy details- Returns:
true
if the details are for a library- Since:
- 2.3.0
-