仅释放已更改的组件

时间:2012-12-20 12:08:59

标签: java maven release

我们有Java项目,我们应该只提供已更改的工件,但同时产品包含此版本中未更改组件和更改组件的最新发布版本。 我们使用Maven 3进行构建。

让我们看看我们是否有产品1.1-SNAPSHOT(意味着它正在开发中),其中6个组件有自己的发布版本。

现在,如果有这样的结构:

- c1 - 1.0-SNAPSHOT
  |- m1 - 2.0-SNAPSHOT
  |- m2 - 3.0-SNAPSHOT
- c2 - 4.0-SNAPSHOT
  |- m3 - 5.0-SNAPSHOT
  |- m4 - 6.0-SNAPSHOT

其中c是父组件,m是模块。版本是随机的。可能存在一些依赖关系,例如m4取决于m2。

我们认为我们已经更新了m2模块,我们想要发布它。我们怎么做到的?手动只在m2和m4模块上启动发布过程?什么标记问题也出现了?我想它应该是包含新版本的整个产品,用于标记已发布的模块和修订未更新模块的源代码。

接下来我们想要的是创建产品发布包,它将是1.1版本,其中包括m1的最新发布版本(可以是0.99)和m3(可以是4.99),可以从1.0的版本中获取产品,因为他们没有改变。 m2的新发布版本(将为3.0)和m4(将为6.0)应该是1.1软件包的一部分。怎么做?

我看到的唯一解决方案是使用maven-version-plugin,但在此过程中需要进行多次黑客攻击。

我们的想法是拥有最少的版本,并且刚刚发布了已更改的模块。

maven可以自动提供什么? Maven-release-plugin在这个级别没有帮助。如何发布刚更改的组件?我开始想也许我们不需要使用SNAPSHOT来支持这种意识形态。

谢谢。

0 个答案:

没有答案