Table of Contents
API Documentation: | War |
---|
Assembles a WAR archive.
Property | Description |
archiveAppendix | The appendix part of the archive name, if any. |
archiveBaseName | The base name of the archive. |
archiveClassifier | The classifier part of the archive name, if any. |
archiveExtension | The extension part of the archive name. |
archiveFile | The |
archiveFileName | The archive name. If the name has not been explicitly set, the pattern for the name is: |
archiveVersion | The version part of the archive name. |
caseSensitive | Specifies whether case-sensitive pattern matching should be used. |
classpath | The classpath to include in the WAR archive. Any JAR or ZIP files in this classpath are included in the |
destinationDirectory | The directory where the archive will be placed. |
dirPermissions | Property for querying and configuring directory access permissions.If the property has no value set, that means that existing permissions are preserved.It is dependent on the copy action implementation whether these permissions will actually be applied.For details see |
duplicatesStrategy | The strategy to use when trying to copy more than one file to the same destination. |
entryCompression | The compression level of the entries of the archive. If set to |
excludes | The set of exclude patterns. |
filePermissions | Property for querying and configuring file access permissions.If the property has no value set, that means that existing permissions are preserved.It is dependent on the copy action implementation whether these permissions will actually be applied.For details see |
includeEmptyDirs | Tells if empty target directories will be included in the copy. |
includes | The set of include patterns. |
manifest | The manifest for this JAR archive. |
metadataCharset | The character set used to encode JAR metadata like file names.Defaults to UTF-8.You can change this property but it is not recommended as JVMs expect JAR metadata to be encoded using UTF-8 |
preserveFileTimestamps | Specifies whether file timestamps should be preserved in the archive. |
reproducibleFileOrder | Specifies whether to enforce a reproducible file order when reading files from directories. |
source | The source files for this task. |
webXml | The |
zip64 | Whether the zip can contain more than 65535 files and/or support files greater than 4GB in size. |
Method | Description |
classpath(classpath) | Adds files to the classpath to include in the WAR archive. |
eachFile(closure) | Adds an action to be applied to each file as it about to be copied into its destination. The given closure iscalled with a |
eachFile(action) | Adds an action to be applied to each file as it is about to be copied into its destination. The action can changethe destination path of the file, filter the contents of the file, or exclude the file from the result entirely.Actions are executed in the order added, and are inherited from the parent spec. |
exclude(excludeSpec) | Adds an exclude spec. This method may be called multiple times to append new specs.The given closure is passed a |
exclude(excludes) | Adds an ANT style exclude pattern. This method may be called multiple times to append new patterns and multiplepatterns may be specified in a single call.If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not matchany exclude pattern to be processed. |
exclude(excludes) | Adds an ANT style exclude pattern. This method may be called multiple times to append new patterns and multiplepatterns may be specified in a single call.If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not matchany exclude pattern to be processed. |
exclude(excludeSpec) | Adds an exclude spec. This method may be called multiple times to append new specs.If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not matchany exclude pattern to be processed. |
expand(properties) | Expands property references in each file as it is copied. More specifically, each file is transformed usingGroovy's |
expand(properties, action) | Expands property references in each file as it is copied. More specifically, each file is transformed usingGroovy's |
filesMatching(patterns, action) | Configure the |
filesMatching(pattern, action) | Configure the |
filesNotMatching(patterns, action) | Configure the |
filesNotMatching(pattern, action) | Configure the |
filter(closure) | Adds a content filter based on the provided closure. The Closure will be called with each line (stripped of lineendings) and should return a String to replace the line or |
filter(filterType) | Adds a content filter to be used during the copy. Multiple calls to filter, add additional filters to thefilter chain. Each filter should implement |
filter(properties, filterType) | Adds a content filter to be used during the copy. Multiple calls to filter, add additional filters to thefilter chain. Each filter should implement |
filter(transformer) | Adds a content filter based on the provided transformer. The Closure will be called with each line (stripped of lineendings) and should return a String to replace the line or |
from(sourcePath, c) | Specifies the source files or directories for a copy and creates a child |
from(sourcePath, configureAction) | Specifies the source files or directories for a copy and creates a child |
from(sourcePaths) | Specifies source files or directories for a copy. The given paths are evaluated as per |
include(includeSpec) | Adds an include spec. This method may be called multiple times to append new specs. The given closure is passed a |
include(includes) | Adds an ANT style include pattern. This method may be called multiple times to append new patterns and multiplepatterns may be specified in a single call.If includes are not provided, then all files in this container will be included. If includes are provided, then afile must match at least one of the include patterns to be processed. |
include(includes) | Adds an ANT style include pattern. This method may be called multiple times to append new patterns and multiplepatterns may be specified in a single call.If includes are not provided, then all files in this container will be included. If includes are provided, then afile must match at least one of the include patterns to be processed. |
include(includeSpec) | Adds an include spec. This method may be called multiple times to append new specs.If includes are not provided, then all files in this container will be included. If includes are provided, then afile must match at least one of the include patterns or specs to be included. |
into(destPath) | Specifies the destination directory *inside* the archive for the files.The destination is evaluated as per |
into(destPath, configureClosure) | Creates and configures a child |
into(destPath, copySpec) | Creates and configures a child |
manifest(configureClosure) | Configures the manifest for this JAR archive. |
manifest(configureAction) | Configures the manifest for this JAR archive. |
metaInf(configureClosure) | Adds content to this JAR archive's META-INF directory. |
metaInf(configureAction) | Adds content to this JAR archive's META-INF directory. |
rename(closure) | Renames a source file. The closure will be called with a single parameter, the name of the file.The closure should return a String object with a new target name. The closure may return null,in which case the original name will be used. |
rename(sourceRegEx, replaceWith) | Renames files based on a regular expression. Uses java.util.regex type of regular expressions. Note that thereplace string should use the '$1' syntax to refer to capture groups in the source regular expression. Filesthat do not match the source regular expression will be copied with the original name. |
rename(sourceRegEx, replaceWith) | Renames files based on a regular expression. See |
rename(renamer) | Renames a source file. The function will be called with a single parameter, the name of the file.The function should return a new target name. The function may return null,in which case the original name will be used. |
webInf(configureClosure) | Adds some content to the |
webInf(configureAction) | Adds some content to the |
with(sourceSpecs) | Adds the given specs as a child of this spec. |
The appendix part of the archive name, if any.
- Default with
war
plugin: ""
The base name of the archive.
- Default with
war
plugin: project.archivesBaseName
The classifier part of the archive name, if any.
- Default with
war
plugin: ""
Provider
<RegularFile
>
archiveFile
Provider
<RegularFile
>TheRegularFile
where the archive is constructed.The path is simply thedestinationDirectory
plus thearchiveFileName
.
- Default with
war
plugin: ${destinationDirectory}
/${archiveFileName}
The archive name. If the name has not been explicitly set, the pattern for the name is:[archiveBaseName]-[archiveAppendix]-[archiveVersion]-[archiveClassifier].[archiveExtension]
- Default with
war
plugin: ${archiveBaseName}
-${archiveAppendix}
-${archiveVersion}
-${archiveClassifier}
.${archiveExtension}
The version part of the archive name.
- Default with
war
plugin: project.version
Specifies whether case-sensitive pattern matching should be used.
- Default with
war
plugin: true
FileCollection
classpath
The classpath to include in the WAR archive. Any JAR or ZIP files in this classpath are included in theWEB-INF/lib
directory. Any directories in this classpath are included intheWEB-INF/classes
directory.
- Default with
war
plugin: project.sourceSets.main.runtimeClasspath - project.configurations.providedRuntime
DirectoryProperty
destinationDirectory
The directory where the archive will be placed.
- Default with
war
plugin: project.distsDir
Property
<ConfigurableFilePermissions
>
dirPermissions
Property
<ConfigurableFilePermissions
>Property for querying and configuring directory access permissions.If the property has no value set, that means that existing permissions are preserved.It is dependent on the copy action implementation whether these permissions will actually be applied.For details seeConfigurableFilePermissions
.
- Default with
war
plugin: null
DuplicatesStrategy
duplicatesStrategy
The strategy to use when trying to copy more than one file to the same destination.
The value can be set with a case insensitive string of the enum value (e.g.'exclude'
forDuplicatesStrategy.EXCLUDE
).
This strategy can be overridden for individual files by usingCopySpec.eachFile(org.gradle.api.Action)
orCopySpec.filesMatching(java.lang.String, org.gradle.api.Action)
.
- Default with
war
plugin: DuplicatesStrategy.INHERIT
ZipEntryCompression
entryCompression
The compression level of the entries of the archive. If set toZipEntryCompression.DEFLATED
(the default), each entry iscompressed using the DEFLATE algorithm. If set toZipEntryCompression.STORED
the entries of the archive are left uncompressed.
- Default:
ZipEntryCompression.DEFLATED
Property
<ConfigurableFilePermissions
>
filePermissions
Property
<ConfigurableFilePermissions
>Property for querying and configuring file access permissions.If the property has no value set, that means that existing permissions are preserved.It is dependent on the copy action implementation whether these permissions will actually be applied.For details seeConfigurableFilePermissions
.
- Default with
war
plugin: null
Tells if empty target directories will be included in the copy.
- Default with
war
plugin: true
Manifest
manifest
The manifest for this JAR archive.
String
metadataCharset
The character set used to encode JAR metadata like file names.Defaults to UTF-8.You can change this property but it is not recommended as JVMs expect JAR metadata to be encoded using UTF-8
- Default:
UTF-8
Specifies whether file timestamps should be preserved in the archive.
Iffalse
this ensures that archive entries have the same time for builds between different machines, Java versions and operating systems.
- Default with
war
plugin: true
Specifies whether to enforce a reproducible file order when reading files from directories.
Gradle will then walk the directories on disk which are part of this archive in a reproducible orderindependent of file systems and operating systems.This helps Gradle reliably produce byte-for-byte reproducible archives.
- Default with
war
plugin: false
FileCollection
source
(read-only)
The source files for this task.
File
webXml
Theweb.xml
file to include in the WAR archive. Whennull
, noweb.xml
file is included in the WAR.
- Default with
war
plugin: null
Whether the zip can contain more than 65535 files and/or support files greater than 4GB in size.
The standard zip format has hard limits on file size and count.TheZip64 format extensionpractically removes these limits and is therefore required for building large zips.
However, not all Zip readers support the Zip64 extensions.Notably, theZipInputStream
JDK class does not support Zip64 for versions earlier than Java 7.This means you should not enable this property if you are building JARs to be used with Java 6 and earlier runtimes.
- Default:
false
void
classpath
(Object
...
classpath)
Object
...Adds files to the classpath to include in the WAR archive.
AbstractCopyTask
eachFile
(Closure
closure)
Adds an action to be applied to each file as it about to be copied into its destination. The given closure iscalled with aFileCopyDetails
as its parameter. Actions are executed in the orderadded, and are inherited from the parent spec.
AbstractCopyTask
eachFile
(Action
<? superFileCopyDetails
>
action)
Action
<? superFileCopyDetails
>Adds an action to be applied to each file as it is about to be copied into its destination. The action can changethe destination path of the file, filter the contents of the file, or exclude the file from the result entirely.Actions are executed in the order added, and are inherited from the parent spec.
AbstractCopyTask
exclude
(Closure
excludeSpec)
Adds an exclude spec. This method may be called multiple times to append new specs.The given closure is passed aFileTreeElement
as its parameter. The closure should return true or false. Example:
copySpec { from'source' into'destination'//an example of excluding files from certain configuration: exclude { it.file in configurations.someConf.files }}
If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not matchany exclude pattern to be processed.
AbstractCopyTask
exclude
(Iterable
<String
>
excludes)
Iterable
<String
>Adds an ANT style exclude pattern. This method may be called multiple times to append new patterns and multiplepatterns may be specified in a single call.If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not matchany exclude pattern to be processed.
AbstractCopyTask
exclude
(String
...
excludes)
String
...Adds an ANT style exclude pattern. This method may be called multiple times to append new patterns and multiplepatterns may be specified in a single call.If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not matchany exclude pattern to be processed.
AbstractCopyTask
exclude
(Spec
<FileTreeElement
>
excludeSpec)
Spec
<FileTreeElement
>Adds an exclude spec. This method may be called multiple times to append new specs.If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not matchany exclude pattern to be processed.
AbstractCopyTask
expand
(Map
<String
, ?>
properties)
Map
<String
, ?>Expands property references in each file as it is copied. More specifically, each file is transformed usingGroovy'sSimpleTemplateEngine
. This means you can use simple property references, such as$property
or${property}
in the file. You can also include arbitrary Groovy code in thefile, such as${version ?: 'unknown'}
or${classpath*.name.join(' ')}
Note that all escape sequences (\n
,\t
,\\
, etc) are converted to the symbolsthey represent, so, for example,\n
becomes newline. If this is undesirable thenContentFilterable.expand(java.util.Map, org.gradle.api.Action)
should be used to disable this behavior.
AbstractCopyTask
expand
(Map
<String
, ?>
properties,Action
<? superExpandDetails
>
action)
Map
<String
, ?>Action
<? superExpandDetails
>Expands property references in each file as it is copied. More specifically, each file is transformed usingGroovy'sSimpleTemplateEngine
. This means you can use simple property references, such as$property
or${property}
in the file. You can also include arbitrary Groovy code in thefile, such as${version ?: 'unknown'}
or${classpath*.name.join(' ')}
. The templateengine can be configured with the provided action.
Note that by default all escape sequences (\n
,\t
,\\
, etc) are converted to the symbolsthey represent, so, for example,\n
becomes newline. This behavior is controlled byExpandDetails.getEscapeBackslash()
property. It should be set totrue
to disable escape sequencesconversion:
expand(one:'1', two:2) { escapeBackslash = true }
AbstractCopyTask
filesMatching
(Iterable
<String
>
patterns,Action
<? superFileCopyDetails
>
action)
Iterable
<String
>Action
<? superFileCopyDetails
>Configure theFileCopyDetails
for each file whose path matches any of the specified Ant-style patterns.This is equivalent to using eachFile() and selectively applying a configuration based on the file's path.
AbstractCopyTask
filesMatching
(String
pattern,Action
<? superFileCopyDetails
>
action)
Action
<? superFileCopyDetails
>Configure theFileCopyDetails
for each file whose path matches the specified Ant-style pattern.This is equivalent to using eachFile() and selectively applying a configuration based on the file's path.
AbstractCopyTask
filesNotMatching
(Iterable
<String
>
patterns,Action
<? superFileCopyDetails
>
action)
Iterable
<String
>Action
<? superFileCopyDetails
>Configure theFileCopyDetails
for each file whose path does not match any of the specifiedAnt-style patterns. This is equivalent to using eachFile() and selectively applying a configuration based on thefile's path.
AbstractCopyTask
filesNotMatching
(String
pattern,Action
<? superFileCopyDetails
>
action)
Action
<? superFileCopyDetails
>Configure theFileCopyDetails
for each file whose path does not match the specifiedAnt-style pattern. This is equivalent to using eachFile() and selectively applying a configuration based on thefile's path.
AbstractCopyTask
filter
(Closure
closure)
Adds a content filter based on the provided closure. The Closure will be called with each line (stripped of lineendings) and should return a String to replace the line ornull
to remove the line. If every line isremoved, the result will be an empty file, not an absent one.
AbstractCopyTask
filter
(Class
<? extendsFilterReader
>
filterType)
Class
<? extendsFilterReader
>Adds a content filter to be used during the copy. Multiple calls to filter, add additional filters to thefilter chain. Each filter should implementjava.io.FilterReader
. Includeorg.apache.tools.ant.filters.*
for access to all the standard Ant filters.
Examples:
filter(StripJavaComments) filter(com.mycompany.project.CustomFilter)
AbstractCopyTask
filter
(Map
<String
, ?>
properties,Class
<? extendsFilterReader
>
filterType)
Map
<String
, ?>Class
<? extendsFilterReader
>Adds a content filter to be used during the copy. Multiple calls to filter, add additional filters to thefilter chain. Each filter should implementjava.io.FilterReader
. Includeorg.apache.tools.ant.filters.*
for access to all the standard Ant filters.
Filter properties may be specified using groovy map syntax.
Examples:
filter(HeadFilter, lines:25, skip:2) filter(ReplaceTokens, tokens:[copyright:'2009', version:'2.3.1'])
AbstractCopyTask
filter
(Transformer
<String
,String
>
transformer)
Transformer
<String
,String
>Adds a content filter based on the provided transformer. The Closure will be called with each line (stripped of lineendings) and should return a String to replace the line ornull
to remove the line. If every line isremoved, the result will be an empty file, not an absent one.
AbstractCopyTask
from
(Object
sourcePath,Closure
c)
Specifies the source files or directories for a copy and creates a childCopySourceSpec
. The given sourcepath is evaluated as perProject.files(java.lang.Object[])
.
AbstractCopyTask
from
(Object
sourcePath,Action
<? superCopySpec
>
configureAction)
Action
<? superCopySpec
>Specifies the source files or directories for a copy and creates a childCopySpec
. The given sourcepath is evaluated as perProject.files(java.lang.Object[])
.
AbstractCopyTask
from
(Object
...
sourcePaths)
Object
...Specifies source files or directories for a copy. The given paths are evaluated as perProject.files(java.lang.Object[])
.
AbstractCopyTask
include
(Closure
includeSpec)
Adds an include spec. This method may be called multiple times to append new specs. The given closure is passed aFileTreeElement
as its parameter.If includes are not provided, then all files in this container will be included. If includes are provided, then afile must match at least one of the include patterns or specs to be included.
AbstractCopyTask
include
(Iterable
<String
>
includes)
Iterable
<String
>Adds an ANT style include pattern. This method may be called multiple times to append new patterns and multiplepatterns may be specified in a single call.If includes are not provided, then all files in this container will be included. If includes are provided, then afile must match at least one of the include patterns to be processed.
AbstractCopyTask
include
(String
...
includes)
String
...Adds an ANT style include pattern. This method may be called multiple times to append new patterns and multiplepatterns may be specified in a single call.If includes are not provided, then all files in this container will be included. If includes are provided, then afile must match at least one of the include patterns to be processed.
AbstractCopyTask
include
(Spec
<FileTreeElement
>
includeSpec)
Spec
<FileTreeElement
>Adds an include spec. This method may be called multiple times to append new specs.If includes are not provided, then all files in this container will be included. If includes are provided, then afile must match at least one of the include patterns or specs to be included.
AbstractArchiveTask
into
(Object
destPath)
Specifies the destination directory *inside* the archive for the files.The destination is evaluated as perProject.file(java.lang.Object)
.Don't mix it up withAbstractArchiveTask.getDestinationDirectory()
which specifies the output directory for the archive.
AbstractArchiveTask
into
(Object
destPath,Closure
configureClosure)
Creates and configures a childCopySpec
with a destination directory *inside* the archive for the files.The destination is evaluated as perProject.file(java.lang.Object)
.Don't mix it up withAbstractArchiveTask.getDestinationDirectory()
which specifies the output directory for the archive.
Creates and configures a childCopySpec
with a destination directory *inside* the archive for the files.The destination is evaluated as perProject.file(java.lang.Object)
.Don't mix it up withAbstractArchiveTask.getDestinationDirectory()
which specifies the output directory for the archive.
Configures the manifest for this JAR archive.
The given closure is executed to configure the manifest. TheManifest
is passed to the closure as its delegate.
Configures the manifest for this JAR archive.
The given action is executed to configure the manifest.
Adds content to this JAR archive's META-INF directory.
The given closure is executed to configure aCopySpec
. TheCopySpec
is passed to the closure as its delegate.
Adds content to this JAR archive's META-INF directory.
The given action is executed to configure aCopySpec
.
AbstractCopyTask
rename
(Closure
closure)
Renames a source file. The closure will be called with a single parameter, the name of the file.The closure should return a String object with a new target name. The closure may return null,in which case the original name will be used.
AbstractCopyTask
rename
(String
sourceRegEx,String
replaceWith)
Renames files based on a regular expression. Uses java.util.regex type of regular expressions. Note that thereplace string should use the '$1' syntax to refer to capture groups in the source regular expression. Filesthat do not match the source regular expression will be copied with the original name.
Example:
rename'(.*)_OEM_BLUE_(.*)','$1$2'
would map the file 'style_OEM_BLUE_.css' to 'style.css'
AbstractCopyTask
rename
(Pattern
sourceRegEx,String
replaceWith)
Renames files based on a regular expression. SeeCopyProcessingSpec.rename(java.lang.String, java.lang.String)
.
AbstractCopyTask
rename
(Transformer
<String
,String
>
renamer)
Transformer
<String
,String
>Renames a source file. The function will be called with a single parameter, the name of the file.The function should return a new target name. The function may return null,in which case the original name will be used.
Adds some content to theWEB-INF
directory for this WAR archive.
The given closure is executed to configure aCopySpec
. TheCopySpec
is passed to the closure as its delegate.
Adds some content to theWEB-INF
directory for this WAR archive.
The given action is executed to configure aCopySpec
.