补丁:应用

全名

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

说明

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

属性

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

可选参数

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

参数详情

备份

是否在修改原始文件之前对其进行备份。
  • 类型boolean
  • 必需No
  • 默认false

目标文件

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

快速失败

标志是true如果期望的行为是在检测到的第一个失败的补丁上使构建失败。
  • 类型boolean
  • 必需No
  • 默认true

失败短语

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

忽略空白

应用补丁时是否忽略空格。
  • 类型boolean
  • 必需No
  • 默认true

忽略补丁

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

自然订单处理

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

优化

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

原始文件

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

补丁目录

参数指定的文件名的基目录 patches
  • 类型java.io.File
  • 必需No
  • 默认src/main/patches

补丁文件

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

补丁跟踪文件

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

补丁

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

删除空文件

设置为 时true,将删除修补过程产生的空文件。空的祖先目录也被删除。
  • 类型boolean
  • 1.1
  • 必需No
  • 默认false

反向

是否将这些补丁视为在补丁语法中具有相反的源和目标。
  • 类型boolean
  • 必需No
  • 默认false

跳过应用程序

是否跳过此目标的执行。
  • 类型boolean
  • 必需No
  • 默认false

严格补丁

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

剥离

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

目标目录

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

使用默认忽略

是否排除默认忽略的补丁项,例如 .svnCVS目录。
  • 类型boolean
  • 必需No
  • 默认true