public interface CopySpec extends CopySourceSpec, CopyProcessingSpec, PatternFilterable
def myCopySpec = project.copySpec {
into('webroot')
exclude('**/.data/**')
from('src/main/webapp') {
include '**/*.jsp'
}
from('src/main/js') {
include '**/*.js'
}
}
In this example, the into and exclude specifications at the root level are inherited by the
two child CopySpecs.
Copy specs can be reused in other copy specs via with(CopySpec...) method. This enables reuse of the copy spec instances.
def contentSpec = copySpec {
from("content") {
include "**/*.txt"
}
}
task copy(type: Copy) {
into "$buildDir/copy"
with contentSpec
}
Copy Task,
Project.copy()| 修飾子とタイプ | メソッドと説明 |
|---|---|
CopySpec |
eachFile(Action<? super FileCopyDetails> action)
Adds an action to be applied to each file as it is about to be copied into its destination.
|
CopySpec |
eachFile(Closure closure)
Adds an action to be applied to each file as it about to be copied into its destination.
|
CopySpec |
exclude(Closure excludeSpec)
Adds an exclude spec.
|
CopySpec |
exclude(Iterable<String> excludes)
Adds an ANT style exclude pattern.
|
CopySpec |
exclude(Spec<FileTreeElement> excludeSpec)
Adds an exclude spec.
|
CopySpec |
exclude(String... excludes)
Adds an ANT style exclude pattern.
|
CopySpec |
expand(Map<String,?> properties)
Expands property references in each file as it is copied.
|
CopySpec |
filesMatching(String pattern,
Action<? super FileCopyDetails> action)
Configure the
FileCopyDetails for each file whose path matches the specified Ant-style pattern. |
CopySpec |
filesNotMatching(String pattern,
Action<? super FileCopyDetails> action)
Configure the
FileCopyDetails for each file whose path does not match the specified
Ant-style pattern. |
CopySpec |
filter(Class<? extends FilterReader> filterType)
Adds a content filter to be used during the copy.
|
CopySpec |
filter(Closure closure)
Adds a content filter based on the provided closure.
|
CopySpec |
filter(Map<String,?> properties,
Class<? extends FilterReader> filterType)
Adds a content filter to be used during the copy.
|
CopySpec |
from(Object... sourcePaths)
Specifies source files or directories for a copy.
|
CopySpec |
from(Object sourcePath,
Closure c)
Specifies the source files or directories for a copy and creates a child
CopySourceSpec. |
DuplicatesStrategy |
getDuplicatesStrategy()
Returns the strategy to use when trying to copy more than one file to the same destination.
|
boolean |
getIncludeEmptyDirs()
Tells if empty target directories will be included in the copy.
|
CopySpec |
include(Closure includeSpec)
Adds an include spec.
|
CopySpec |
include(Iterable<String> includes)
Adds an ANT style include pattern.
|
CopySpec |
include(Spec<FileTreeElement> includeSpec)
Adds an include spec.
|
CopySpec |
include(String... includes)
Adds an ANT style include pattern.
|
CopySpec |
into(Object destPath)
Specifies the destination directory for a copy.
|
CopySpec |
into(Object destPath,
Closure configureClosure)
Creates and configures a child
CopySpec with the given destination path. |
boolean |
isCaseSensitive()
Specifies whether case-sensitive pattern matching should be used.
|
CopySpec |
rename(Closure closure)
Renames a source file to a different relative location under the target directory.
|
CopyProcessingSpec |
rename(Pattern sourceRegEx,
String replaceWith)
Renames files based on a regular expression.
|
CopySpec |
rename(String sourceRegEx,
String replaceWith)
Renames files based on a regular expression.
|
void |
setCaseSensitive(boolean caseSensitive)
Specifies whether case-sensitive pattern matching should be used for this CopySpec.
|
void |
setDuplicatesStrategy(DuplicatesStrategy strategy)
The strategy to use when trying to copy more than one file to the same destination.
|
CopySpec |
setExcludes(Iterable<String> excludes)
Set the allowable exclude patterns.
|
void |
setIncludeEmptyDirs(boolean includeEmptyDirs)
Controls if empty target directories should be included in the copy.
|
CopySpec |
setIncludes(Iterable<String> includes)
Set the allowable include patterns.
|
CopySpec |
with(CopySpec... sourceSpecs)
Adds the given specs as a child of this spec.
|
getDirMode, getFileMode, setDirMode, setFileModegetExcludes, getIncludesboolean isCaseSensitive()
void setCaseSensitive(boolean caseSensitive)
caseSensitive - true for case-sensitive matching.boolean getIncludeEmptyDirs()
void setIncludeEmptyDirs(boolean includeEmptyDirs)
includeEmptyDirs - true if empty target directories should be included in the copy, false otherwise@Incubating DuplicatesStrategy getDuplicatesStrategy()
The value can be set with a case insensitive string of the enum value (e.g. 'exclude' for DuplicatesStrategy.EXCLUDE).
This strategy can be overridden for individual files by using eachFile(org.gradle.api.Action) or filesMatching(String, org.gradle.api.Action).
DuplicatesStrategy@Incubating void setDuplicatesStrategy(@Nullable DuplicatesStrategy strategy)
null to use the default strategy, which is inherited
from the parent copy spec, if any, or DuplicatesStrategy.INCLUDE if this copy spec has no parent.@Incubating CopySpec filesMatching(String pattern, Action<? super FileCopyDetails> action)
FileCopyDetails 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.pattern - Ant-style pattern used to match against files' relative pathsaction - action called for the FileCopyDetails of each file matching pattern@Incubating CopySpec filesNotMatching(String pattern, Action<? super FileCopyDetails> action)
FileCopyDetails for each file whose path does not match the specified
Ant-style pattern. This is equivalent to using eachFile() and selectively applying a configuration based on the
file's path.pattern - Ant-style pattern used to match against files' relative pathsaction - action called for the FileCopyDetails of each file that does not match patternCopySpec with(CopySpec... sourceSpecs)
def contentSpec = copySpec {
from("content") {
include "**/*.txt"
}
}
task copy(type: Copy) {
into "$buildDir/copy"
with contentSpec
}
sourceSpecs - The specs to addCopySpec from(Object... sourcePaths)
Project.files(Object...).from インタフェース内 CopySourceSpecsourcePaths - Paths to source files for the copyCopySpec from(Object sourcePath, Closure c)
CopySourceSpec. The given source
path is evaluated as per Project.files(Object...) .from インタフェース内 CopySourceSpecsourcePath - Path to source for the copyc - closure for configuring the child CopySourceSpecCopySpec setIncludes(Iterable<String> includes)
PatternFilterable.include(Iterable) this replaces any previously
defined includes.setIncludes インタフェース内 PatternFilterableincludes - an Iterable providing new include patternsPattern FormatCopySpec setExcludes(Iterable<String> excludes)
PatternFilterable.exclude(Iterable) this replaces any previously
defined excludes.setExcludes インタフェース内 PatternFilterableexcludes - an Iterable providing new exclude patternsPattern FormatCopySpec include(String... includes)
include インタフェース内 PatternFilterableincludes - a vararg list of include patternsPattern FormatCopySpec include(Iterable<String> includes)
include インタフェース内 PatternFilterableincludes - a Iterable providing more include patternsPattern FormatCopySpec include(Spec<FileTreeElement> includeSpec)
include インタフェース内 PatternFilterableincludeSpec - the spec to addPattern FormatCopySpec include(Closure includeSpec)
FileTreeElement as its parameter.
If includes are not provided, then all files in this container will be included. If includes are provided, then a
file must match at least one of the include patterns or specs to be included.include インタフェース内 PatternFilterableincludeSpec - the spec to addPattern FormatCopySpec exclude(String... excludes)
exclude インタフェース内 PatternFilterableexcludes - a vararg list of exclude patternsPattern FormatCopySpec exclude(Iterable<String> excludes)
exclude インタフェース内 PatternFilterableexcludes - a Iterable providing new exclude patternsPattern FormatCopySpec exclude(Spec<FileTreeElement> excludeSpec)
exclude インタフェース内 PatternFilterableexcludeSpec - the spec to addPattern FormatCopySpec exclude(Closure excludeSpec)
FileTreeElement 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 match
any exclude pattern to be processed.exclude インタフェース内 PatternFilterableexcludeSpec - the spec to addPattern FormatCopySpec into(Object destPath)
Project.file(Object).into インタフェース内 CopyProcessingSpecdestPath - Path to the destination directory for a CopyCopySpec into(Object destPath, Closure configureClosure)
CopySpec with the given destination path.
The destination is evaluated as per Project.file(Object).destPath - Path to the destination directory for a CopyconfigureClosure - The closure to use to configure the child CopySpec.CopySpec rename(Closure closure)
rename インタフェース内 CopyProcessingSpecclosure - rename closureCopySpec rename(String sourceRegEx, String replaceWith)
Example:
rename '(.*)_OEM_BLUE_(.*)', '$1$2'would map the file 'style_OEM_BLUE_.css' to 'style.css'
rename インタフェース内 CopyProcessingSpecsourceRegEx - Source regular expressionreplaceWith - Replacement string (use $ syntax for capture groups)CopyProcessingSpec rename(Pattern sourceRegEx, String replaceWith)
CopyProcessingSpec.rename(String, String).rename インタフェース内 CopyProcessingSpecsourceRegEx - Source regular expressionreplaceWith - Replacement string (use $ syntax for capture groups)CopySpec filter(Map<String,?> properties, Class<? extends FilterReader> filterType)
Adds a content filter to be used during the copy. Multiple calls to filter, add additional filters to the
filter chain. Each filter should implement java.io.FilterReader. Include org.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'])
filter インタフェース内 ContentFilterableproperties - map of filter propertiesfilterType - Class of filter to addCopySpec filter(Class<? extends FilterReader> filterType)
Adds a content filter to be used during the copy. Multiple calls to filter, add additional filters to the
filter chain. Each filter should implement java.io.FilterReader. Include org.apache.tools.ant.filters.* for access to all the standard Ant filters.
Examples:
filter(StripJavaComments)
filter(com.mycompany.project.CustomFilter)
filter インタフェース内 ContentFilterablefilterType - Class of filter to addCopySpec filter(Closure closure)
filter インタフェース内 ContentFilterableclosure - to implement line based filteringCopySpec expand(Map<String,?> properties)
Expands property references in each file as it is copied. More specifically, each file is transformed using
Groovy's SimpleTemplateEngine. This means you can use simple property references, such as
$property or ${property} in the file. You can also include arbitrary Groovy code in the
file, such as ${version ?: 'unknown'} or ${classpath*.name.join(' ')}
expand インタフェース内 ContentFilterableproperties - to implement line based filteringCopySpec eachFile(Action<? super FileCopyDetails> action)
eachFile インタフェース内 CopyProcessingSpecaction - The action to execute.CopySpec eachFile(Closure closure)
FileCopyDetails as its parameter. Actions are executed in the order
added, and are inherited from the parent spec.eachFile インタフェース内 CopyProcessingSpecclosure - The action to execute.