Copy Directory Step

This step copies the contents of a directory to one or more other directories, overwriting files but not deleting any.

Required properties:

Property Name Description
Source Directory The directory to copy
Destination Directories Specify a new-line-separated list of directories to which to copy
Include Files

Specify a new-line-separated list of file/directory patterns to include.

Pattern Matching Rules:

* matches zero or more characters

? matches one character

** matches zero or more directories

Examples:

*.java - matches .java, x.java, and FooBar.java

?.java - matches x.java, A.java

**/*.txt - matches all txt files recursively

**/CVS/* - matches all files in CVS directories anywhere in the directory tree

org/apache/jakarta/** - matches all files in the org/apache/jakarta directory tree

org/apache/**/CVS/* - matches all files in CVS directories anywhere in the in the directory tree under org/apache/

**/test/** - matches all files that have a test element in their path, including test as a filename

Optional properties:

Property Name Description
Exclude Files Specify a new-line-separated list of file/directory patterns to exclude. Pattern matching rules are the same as those listed in Include Files.
Rename Rules

Specify rules for renaming files in the destination directories. Each rule must be on a separate line in the format FROM->TO.

Examples:

a.txt->b.txt (Renames files named a.txt to b.txt)

*.java->*.java.bak (Renames all files ending with .java to instead end with .java.bak)

Rules are applied in the order that they are given. A file will have at most one rule applied to it.

Flatten Ignore the directory structure of the source files, and copy all files into the directories specified by the Destination Directories property.