Applies the unified diff patches found at patches and
ending with the diffExtension (.diff by default)
to the content at the content path and writes the results
to the destination path.
The patch path can identify a file, in which case the content path must
also identify a file and the diffExtension is ignored, or a
directory in which case the content path must also identify a directory.
If these paths identify files then the result will be a file with the same
name as the content file, placed in the destination directory.
If patches and content are directories then the task will look for all
patches with the diffExtension under the source directory, and
apply the patches to files with the identical relative paths under the content
directory.
In other words, the patches must be named the same as the content files, with the diff extension added. These match and produce the result:
${patches}/a/b/c/d/e.txt.diff
${content}/a/b/c/d/e.txt
${destination}/a/b/c/d/e.txt
When the patch task is applied with the structure given in the
example above, the unified diff patch in e.txt.diff
is going to be applied to e.txt, and this generates the
file with the same name in the destination directory.
| Fields inherited from class | Fields |
|---|---|
class org.gradle.api.DefaultTask |
TASK_NAME, TASK_DESCRIPTION, TASK_GROUP, TASK_TYPE, TASK_DEPENDS_ON, TASK_OVERWRITE, TASK_ACTION, TASK_CONSTRUCTOR_ARGS |
| Type | Name and description |
|---|---|
static java.nio.charset.Charset |
DEFAULT_CHARSETThe default character set, UTF-8. |
static java.lang.String |
DEFAULT_DIFF_EXTENSIONThe patching logic looks for files with the .diff
extension by default. |
java.nio.charset.Charset |
charsetThe character set in use, UTF-8 by default. |
java.lang.Object |
contentThe content to apply the patch(es) to. |
java.lang.Object |
destinationThe directory (not file) to write the patched content into. |
java.lang.String |
diffExtensionThe extension identifying the patch files. |
java.lang.Object |
patchThe patch to apply - syntactic sugar for using with single patches. |
java.lang.Object |
patchesThe patch(es) to apply. |
| Type Params | Return Type | Name and description |
|---|---|---|
|
void |
apply()Applies the patches to the content. |
|
static void |
apply(java.lang.String patchPath, java.lang.String filePath, java.lang.String destPath)Applies the parameter patch(es) to the parameter file(s). |
|
static void |
apply(java.lang.String patchPath, java.lang.String filePath, java.lang.String diffExtension, java.nio.charset.Charset charset, java.lang.String destPath)Applies the parameter patch(es) to the parameter file(s). |
|
static void |
apply(java.io.File patch, java.io.File content, java.io.File destination)Applies the parameter patch(es) to the parameter file(s). |
|
static java.util.List<java.lang.String> |
apply(java.io.File patchOrPatches, java.io.File fileOrFiles, java.lang.String diffExtension, java.nio.charset.Charset charset, java.io.File destinationDir)Applies one or more patches to one or more files. |
|
static java.util.List<java.lang.String> |
applyDirectory(java.io.File patchDir, java.io.File contentDir, java.lang.String diffExtension, java.nio.charset.Charset charset, java.io.File destinationDir)Applies a directory of patches to a directory of content. |
|
static java.util.List<java.lang.String> |
applyFile(java.io.File patchFile, java.io.File contentFile, java.nio.charset.Charset charset, java.io.File destinationFile, java.util.List<java.lang.String> errors)Applies a patch file to a content file. |
|
static void |
applyOrThrow(java.io.File patchFile, java.io.File contentFile, java.nio.charset.Charset charset, java.io.File destinationFile)Applies a patch file to a content file. |
|
static void |
applyOrThrow(java.io.File patchFile, java.io.File contentFile, java.io.File destinationFile, java.nio.charset.Charset charset)Applies a patch file to a content file and produces a destination file. |
|
static java.io.File |
getFile(java.lang.String propertyName, java.lang.Object spec)Converts a spec object to a file, if possible. |
|
static java.io.File |
getFile(java.lang.Object spec)Converts a spec object to a file, if possible. |
| Methods inherited from class | Name |
|---|---|
class org.gradle.api.DefaultTask |
org.gradle.api.DefaultTask#getProject(), org.gradle.api.DefaultTask#setDescription(java.lang.String), org.gradle.api.DefaultTask#setActions(java.util.List), org.gradle.api.DefaultTask#getTaskDependencies(), org.gradle.api.DefaultTask#getTaskDependencies(), org.gradle.api.DefaultTask#getDependsOn(), org.gradle.api.DefaultTask#setDependsOn(java.lang.Iterable), org.gradle.api.DefaultTask#dependsOn([Ljava.lang.Object;), org.gradle.api.DefaultTask#onlyIf(org.gradle.api.specs.Spec), org.gradle.api.DefaultTask#onlyIf(groovy.lang.Closure), org.gradle.api.DefaultTask#setOnlyIf(groovy.lang.Closure), org.gradle.api.DefaultTask#setOnlyIf(org.gradle.api.specs.Spec), org.gradle.api.DefaultTask#setDidWork(boolean), org.gradle.api.DefaultTask#getDidWork(), org.gradle.api.DefaultTask#doFirst(groovy.lang.Closure), org.gradle.api.DefaultTask#doFirst(java.lang.String, org.gradle.api.Action), org.gradle.api.DefaultTask#doFirst(org.gradle.api.Action), org.gradle.api.DefaultTask#doLast(org.gradle.api.Action), org.gradle.api.DefaultTask#doLast(groovy.lang.Closure), org.gradle.api.DefaultTask#doLast(java.lang.String, org.gradle.api.Action), org.gradle.api.DefaultTask#getEnabled(), org.gradle.api.DefaultTask#getAnt(), org.gradle.api.DefaultTask#getLogging(), org.gradle.api.DefaultTask#getLogging(), org.gradle.api.DefaultTask#getConvention(), org.gradle.api.DefaultTask#setGroup(java.lang.String), org.gradle.api.DefaultTask#getOutputs(), org.gradle.api.DefaultTask#getOutputs(), org.gradle.api.DefaultTask#getDestroyables(), org.gradle.api.DefaultTask#getLocalState(), org.gradle.api.DefaultTask#getTemporaryDir(), org.gradle.api.DefaultTask#mustRunAfter([Ljava.lang.Object;), org.gradle.api.DefaultTask#setMustRunAfter(java.lang.Iterable), org.gradle.api.DefaultTask#getMustRunAfter(), org.gradle.api.DefaultTask#finalizedBy([Ljava.lang.Object;), org.gradle.api.DefaultTask#setFinalizedBy(java.lang.Iterable), org.gradle.api.DefaultTask#getFinalizedBy(), org.gradle.api.DefaultTask#shouldRunAfter([Ljava.lang.Object;), org.gradle.api.DefaultTask#setShouldRunAfter(java.lang.Iterable), org.gradle.api.DefaultTask#getShouldRunAfter(), org.gradle.api.DefaultTask#usesService(org.gradle.api.provider.Provider), org.gradle.api.DefaultTask#getSharedResources(), org.gradle.api.DefaultTask#getIdentityPath(), org.gradle.api.DefaultTask#getTaskIdentity(), org.gradle.api.DefaultTask#getStandardOutputCapture(), org.gradle.api.DefaultTask#getAsDynamicObject(), org.gradle.api.DefaultTask#injectIntoNewInstance(org.gradle.api.internal.project.ProjectInternal, org.gradle.api.internal.project.taskfactory.TaskIdentity, java.util.concurrent.Callable), org.gradle.api.DefaultTask#getTaskActions(), org.gradle.api.DefaultTask#hasTaskActions(), org.gradle.api.DefaultTask#getOnlyIf(), org.gradle.api.DefaultTask#getImpliesSubProjects(), org.gradle.api.DefaultTask#setImpliesSubProjects(boolean), org.gradle.api.DefaultTask#replaceLogger(org.gradle.api.logging.Logger), org.gradle.api.DefaultTask#getTemporaryDirFactory(), org.gradle.api.DefaultTask#prependParallelSafeAction(org.gradle.api.Action), org.gradle.api.DefaultTask#appendParallelSafeAction(org.gradle.api.Action), org.gradle.api.DefaultTask#isHasCustomActions(), org.gradle.api.DefaultTask#getRequiredServices(), org.gradle.api.DefaultTask#getLogger(), org.gradle.api.DefaultTask#getTimeout(), org.gradle.api.DefaultTask#setProperty(java.lang.String, java.lang.Object), org.gradle.api.DefaultTask#compareTo(java.lang.Object), org.gradle.api.DefaultTask#compareTo(org.gradle.api.Task), org.gradle.api.DefaultTask#getName(), org.gradle.api.DefaultTask#getActions(), org.gradle.api.DefaultTask#getState(), org.gradle.api.DefaultTask#getState(), org.gradle.api.DefaultTask#getPath(), org.gradle.api.DefaultTask#getExtensions(), org.gradle.api.DefaultTask#property(java.lang.String), org.gradle.api.DefaultTask#configure(groovy.lang.Closure), org.gradle.api.DefaultTask#configure(groovy.lang.Closure), org.gradle.api.DefaultTask#isEnabled(), org.gradle.api.DefaultTask#getDescription(), org.gradle.api.DefaultTask#setEnabled(boolean), org.gradle.api.DefaultTask#hasProperty(java.lang.String), org.gradle.api.DefaultTask#getGroup(), org.gradle.api.DefaultTask#getInputs(), org.gradle.api.DefaultTask#getInputs(), org.gradle.api.DefaultTask#wait(long, int), org.gradle.api.DefaultTask#wait(long), org.gradle.api.DefaultTask#wait(), org.gradle.api.DefaultTask#equals(java.lang.Object), org.gradle.api.DefaultTask#toString(), org.gradle.api.DefaultTask#hashCode(), org.gradle.api.DefaultTask#getClass(), org.gradle.api.DefaultTask#notify(), org.gradle.api.DefaultTask#notifyAll() |
The default character set, UTF-8.
The patching logic looks for files with the .diff
extension by default.
The character set in use, UTF-8 by default.
The content to apply the patch(es) to. Can be a string path, a file object or a closure producing either.
The directory (not file) to write the patched content into.
The extension identifying the patch files. Set this property to a
different value like .patch for example, to instruct
the patching logic to look for files with an extension other than
.patch.
The patch to apply - syntactic sugar for using with single patches.
Use either patch or patches, it does not matter
which, if both are used then patch will be ignored.
The patch(es) to apply. Can be a string path, a file object or a closure producting either.
Applies the patches to the content.
Applies the parameter patch(es) to the parameter file(s).
patchPath - The path to the patch(es) to applyfilePath - The path to the file(s) to apply the patch todestPath - The path to write toApplies the parameter patch(es) to the parameter file(s).
patchPath - The path to the patch(es) to applyfilePath - The path to the file(s) to apply the patch todiffExtension - The file extension that identifies the patch filescharset - The character set in use, defaults to UTF-8destPath - The path to write toApplies the parameter patch(es) to the parameter file(s).
patch - The patch file to applycontent - The content to apply the patch todestination - The destination to write toApplies one or more patches to one or more files.
patchOrPatches - A patch file or directory containing patch filesfileOrFiles - A content file or directory containing content filesdiffExtension - The file extension that identifies the patch filescharset - The character set in use, defaults to UTF-8destinatinDir - The directory to write toApplies a directory of patches to a directory of content.
patchDir - A directory containing patch filescontentDir - A content directorydiffExtension - The file extension that identifies the patch filescharset - The character set in use, defaults to UTF-8destinationDir - The directory to write toApplies a patch file to a content file.
patchFile - A patch filecontentFile - A content filecharset - The character set in use, defaults to UTF-8destinationFile - The file to write toerrors - An error list to add to if patching failsApplies a patch file to a content file.
patchFile - A patch filecontentFile - A content filecharset - The character set in use, defaults to UTF-8destinationFile - The file to write toApplies a patch file to a content file and produces a destination file.
patchFile - A patch filecontentFile - A content filedestinationFile - The output file to write tocharset - The character set in use, defaults to UTF-8Converts a spec object to a file, if possible. The spec can be a string path, a file object or a closure that yields a path or a file.
propertyName - The property name, only used for an exception messagespec - The object to convert to a fileConverts a spec object to a file, if possible. The spec can be a string path, a file object or a closure that yields a path or a file. The function returns null if it for some reason can't produce a file.
spec - The object to convert to a file