我一直在使用发布插件,但我正在尝试根据我们的需要稍微自动化它的解决方案。
目前,我们所有的构建都运行以下命令:
mvn clean initialize release:prepare release:perform
虽然这很实用,但它并不像我想要的那样简洁。我在我的超级 pom 中定义了一些插件,这些插件在该initialize
阶段被激活,并且在发布插件运行之前是必需的。理想情况下,我希望看到我的命令类似于:
mvn doMyRelease
这反过来又调用了不同插件的必要阶段/目标。
此外,我想创建一个名为的阶段doMyStage
,它将执行以下操作:
mvn clean initialize release:prepare release:stage
我认为具有自定义生命周期的自定义插件是解决此问题的方法,但我很困惑如何实现这一点。根据我的阅读,生命周期映射到包装类型。我不希望更改我的任何项目的打包类型(因为它们的打包仍然正确),而只是提供构建命令行的快捷方式。
我也很难为这个概念找到一个好的教程/工作 maven 3 示例。我看到的大多数示例都引用了一个components.xml
文件,但我读到这已被default-bindings.xml
Maven 3 中的描述符替换。
我发现这篇文章https://developer.jboss.org/wiki/CreatingaCustomLifecycleinMaven?_sscc=t涉及到一点问题,但像大多数示例一样,它需要更改包装类型以匹配生命周期提示。
有没有办法做到这一点?