补丁:应用

全名

org.apache.maven.plugins:maven-patch-plugin:1.2:apply

说明

将一个或多个补丁应用到项目源。

属性

  • 需要执行一个 Maven 项目。
  • 默认绑定到生命周期阶段process-sources

可选参数

姓名 类型 自从 描述
备份 布尔值 - 是否在修改原始文件之前对其进行备份。
默认值为false
二进制 布尔值 1.2 应用 --binary 选项来修补命令行
默认值为false
目标文件 文件 - 输出文件是原始文件,加上补丁的修改。默认情况下,文件将被就地修补。
快速失败 布尔值 - 如果期望的行为是在检测到的第一个失败补丁上使构建失败,则标志为真。
默认值为true
失败短语 列表 - 在补丁工具的命令输出中要注意的短语列表。如果找到,将导致构建失败。所有短语只能小写。默认情况下,使用短语 失败跳过拒绝
忽略空白 布尔值 - 应用补丁时是否忽略空格。
默认值为true
忽略补丁 列表 - 当设置了strictPatching标志时,此参数可用于标记应忽略而不导致构建失败的补丁源目录的某些内容。
自然订单处理 布尔值 - 将自然顺序处理设置为true将导致目录中的所有补丁都以自然顺序处理,从而减少了直接在项目文件中声明补丁的需要。
默认值为false
优化 布尔值 - 用于启用/禁用优化文件写入的标志。此文件跟踪上次实际执行此目标时应用的补丁程序。在启用项目源优化的情况下是必需的,因为如果项目源至少与源存档一样新鲜,则不会重新解压缩它们。如果我们避免重新解压项目源代码,我们需要确保不重新应用补丁。
注意:如果补丁列表更改并且启用了此标志,则必须在下一次构建之前执行“ mvn clean ”以删除跟踪文件。
默认值为true
原始文件 文件 - 将被补丁修改的原始文件。默认情况下,补丁工具会自动从补丁文件的头部导出原始文件。
补丁目录 文件 - 由参数patch指定的文件名的基目录 。
默认值为src/main/patches
补丁文件 文件 - 要应用的单个补丁文件。该参数与patch参数互斥。
补丁跟踪文件 文件 - 这是用于维护应用于当前位于目标目录中的解压缩项目源的补丁列表的跟踪文件。如果此文件存在,并且优化了项目源解包(这意味着除非项目源存档更新,否则不会重新解包),则此目标将不会执行,并且不会在当前构建中应用任何补丁。
默认值为${project.build.directory}/optimization-files/patches-applied.txt
补丁 列表 - 补丁文件名列表,提供应用补丁的顺序。此列表中的路径名必须相对于参数 patchDirectory指定的基本目录。该参数与patchfile参数互斥。
删除空文件 布尔值 1.1 设置为true时,将删除修补过程产生的空文件。空的祖先目录也被删除。
默认值为false
逆转 布尔值 - 是否将这些补丁视为在补丁语法中具有相反的源和目标。
默认值为false
跳过应用程序 布尔值 - 是否跳过此目标的执行。
默认值为false
严格补丁 布尔值 - 标志,当设置为true时,将确保补丁列表中包含的所有补丁都必须存在并描述补丁目录的完整内容。如果 strictPatching设置为true,并且 补丁列表的值与补丁目录中的文件不对应,则构建将失败。如果 strictPatching设置为true ,并且补丁目录包含未在补丁参数中列出的文件 ,则构建将失败。如果设置为 false,则仅应用 patchs 参数中列出的 具有相应文件的补丁;其余的将被忽略。
默认值为false
整数 - 在应用之前,从最左边或根目录开始,要从补丁文件路径中剥离的目录数。
默认值为0
目标目录 文件 - 应用补丁的目标目录。此目录中的文件将被修改。
默认值为${project.build.sourceDirectory}
使用默认忽略 布尔值 - 是否排除默认忽略的补丁项,例如 .svnCVS目录。
默认值为true

参数详情

备份

是否在修改原始文件之前对其进行备份。
  • 类型布尔值
  • 要求
  • 默认值

二进制

应用 --binary 选项来修补命令行
  • 类型布尔值
  • : 1.2
  • 要求
  • 默认值

目标文件

输出文件是原始文件,加上补丁的修改。默认情况下,文件将被就地修补。
  • 类型java.io.File
  • 要求

快速失败

如果期望的行为是在检测到的第一个失败补丁上使构建失败,则标志为真。
  • 类型布尔值
  • 要求
  • 默认值

失败短语

在补丁工具的命令输出中要注意的短语列表。如果找到,将导致构建失败。所有短语只能小写。默认情况下,使用短语 失败跳过拒绝
  • 类型java.util.List
  • 要求

忽略空白

应用补丁时是否忽略空格。
  • 类型布尔值
  • 要求
  • 默认值

忽略补丁

当设置了strictPatching标志时,此参数可用于标记应忽略而不导致构建失败的补丁源目录的某些内容。
  • 类型java.util.List
  • 要求

自然订单处理

将自然顺序处理设置为true将导致目录中的所有补丁都以自然顺序处理,从而减少了直接在项目文件中声明补丁的需要。
  • 类型布尔值
  • 要求
  • 默认值

优化

用于启用/禁用优化文件写入的标志。此文件跟踪上次实际执行此目标时应用的补丁程序。在启用项目源优化的情况下是必需的,因为如果项目源至少与源存档一样新鲜,则不会重新解压缩它们。如果我们避免重新解压项目源代码,我们需要确保不重新应用补丁。
注意:如果补丁列表更改并且启用了此标志,则必须在下一次构建之前执行“ mvn clean ”以删除跟踪文件。
  • 类型布尔值
  • 要求
  • 默认值

原始文件

将被补丁修改的原始文件。默认情况下,补丁工具会自动从补丁文件的头部导出原始文件。
  • 类型java.io.File
  • 要求

补丁目录

由参数patch指定的文件名的基目录 。
  • 类型java.io.File
  • 要求
  • 默认src/main/patches

补丁文件

要应用的单个补丁文件。该参数与patch参数互斥。
  • 类型java.io.File
  • 要求

补丁跟踪文件

这是用于维护应用于当前位于目标目录中的解压缩项目源的补丁列表的跟踪文件。如果此文件存在,并且优化了项目源解包(意味着除非项目源存档更新,否则不会重新解包),则此目标将不会执行,并且不会在当前构建中应用任何补丁。
  • 类型java.io.File
  • 要求
  • 默认值${project.build.directory}/optimization-files/patches-applied.txt

补丁

补丁文件名列表,提供应用补丁的顺序。此列表中的路径名必须相对于参数 patchDirectory指定的基本目录。该参数与patchfile参数互斥。
  • 类型java.util.List
  • 要求

删除空文件

设置为true时,将删除修补过程产生的空文件。空的祖先目录也被删除。
  • 类型布尔值
  • : 1.1
  • 要求
  • 默认值

反向

是否将这些补丁视为在补丁语法中具有相反的源和目标。
  • 类型布尔值
  • 要求
  • 默认值

跳过应用程序

是否跳过此目标的执行。
  • 类型布尔值
  • 要求
  • 默认值

严格补丁

标志,当设置为true时,将确保补丁列表中包含的所有补丁都必须存在并描述补丁目录的完整内容。如果 strictPatching设置为true,并且 补丁列表的值与补丁目录中的文件不对应,则构建将失败。如果 strictPatching设置为true ,并且补丁目录包含未在补丁参数中列出的文件 ,则构建将失败。如果设置为 false,则仅应用 patchs 参数中列出的 具有相应文件的补丁;其余的将被忽略。
  • 类型布尔值
  • 要求
  • 默认值

剥离

在应用之前,从最左边或根目录开始,要从补丁文件路径中剥离的目录数。
  • 类型整数
  • 要求
  • 默认值0

目标目录

应用补丁的目标目录。此目录中的文件将被修改。
  • 类型java.io.File
  • 要求
  • 默认值${project.build.sourceDirectory}

使用默认忽略

是否排除默认忽略的补丁项,例如 .svnCVS目录。
  • 类型布尔值
  • 要求
  • 默认值