我有一个java应用程序。
我可以运行 Maven Release 任务,它会为我做一些好事:
- 将版本号从 1.0.0-SNAPSHOT 更改为 1.0.0
- 将我的 pom 中的版本号增加到 1.0.1-SNAPSHOT
- 在源代码管理中标记发布
- 将生成的包上传到我的 Maven 存储库
我想更进一步。我有一些我目前正在手动执行的后期构建步骤。
- 使用适当的版本更新 launch4j 配置 xml 文件
- 使用 launch4j 将生成的 jar 包装到可执行文件中
- 将生成的 EXE 复制到包目录中
- 将几个支持文件复制到包目录中
- 压缩包目录
- 将包通过电子邮件发送给我的测试人员。
最终,我将承担额外的任务,即利用包目录构建安装程序。
我不知道 maven 或 ant 是自动化我剩下的 6 个任务的正确工具,但看起来其中一个或两者的组合都可能完成我需要的任务。
我可能可以编写一个批处理文件或一个简单的 perl 脚本来完成这些事情,而不是弄清楚如何做这些事情,但我更愿意让事情尽可能标准,这样我就不会承担支持的额外责任永久破解发布过程。
在我看来,这些任务可能不是构建/发布的标准部分,但很常见,应该有一个最佳/最常见的实践来完成它们。