Aar*_*lla 6 versioning release-management maven
我目前正在为Project Dash开发Maven工具.其中一个悬而未决的问题是如何处理错误.
Maven Central说:没有任何出版物发生变化.这是因为Maven从未试图弄清楚版本是否发生了变化(与SNAPSHOTs不同).
但我可能不得不创建一个新的"发布版",例如Eclipse 3.6.2的一部分.我应该使用哪个版本号?3.6.2.1,3.6.2-1,3.6.2_1,3.6.2pl1?为什么?
Jon*_*han 15
版本号的约定是major.minor.build.
major当公共接口更改不兼容时,会增加.例如,删除方法或更改其签名.使用您的库的客户端在使用具有不同主要版本的库时需要小心,因为事情可能会中断.
minor当公共接口以兼容的方式更改时,会增加.例如,添加了一种方法.客户不需要担心使用新版本,因为他们习惯看到的所有功能仍然存在并且行为相同.
build当函数的实现发生更改时,会增加,但不会添加或删除任何签名.例如,您发现了一个错误并修复了它.客户端可能应该更新到新版本,但如果它不起作用,因为它们依赖于破坏的行为,它们可以轻松降级.
这里棘手的问题是,它听起来像是在修改由其他人编写和发布的代码.正如我所看到的,这里的约定是使用-yourname-version或者只修改版本号version.例如,linux-image-2.6.28-27可能是Ubuntu内核映像的名称.
但是,由于Maven使用破折号来区分工件坐标,我建议(非常啰嗦地,显然)只是添加.version以避免混淆它.所以3.6.2.1在这种情况下.
| 归档时间: |
|
| 查看次数: |
6742 次 |
| 最近记录: |