如何正确管理Tycho/EAP版本



我有一个Eclipse 4项目,它是使用Tycho(0.19.0)和Maven(3.0-5)构建的

在一个版本的开发过程中,比如说1.0.0,工件被配置为1.0.0-SNAPSHOT版本和1.0.0.qualifier版本,具体取决于文件。当我想发布版本时,我使用tycho版本:设置版本目标从1.0.0-SNAPSHOT更改为1.0.0。

然后,我构建产品并将其复制到发布更新网站的远程共享中,以便在发布时自动升级旧版本。

由于我有一些测试版,我使用了不止一个更新网站。其中一个包含稳定版本,我的测试版测试人员在启动时还有一个更新站点需要检查。另一个实际上是我发布的快照的更新网站,所以这些不是产品的发布版本。

我所经历的似乎很奇怪:当1.0.0应用程序启动时,它会找到以前的快照(版本为1.0.0.201312191455),认为这些工件是最近的,并将自己更新回旧版本。

我猜Eclipse的版本约定规定x.y.z比x.y.z.u旧。这是正确的吗?

如果是这样,那么当一个版本从快照更改为"发布"时,为什么tycho版本插件会删除限定符?这样做似乎会使工件看起来比任何快照都旧。处理这种情况的正确方法是什么?

答案在不久前的tycho邮件列表中给出:

http://dev.eclipse.org/mhonarc/lists/tycho-user/msg01001.html

详细信息:

OSGi没有"快照"版本的概念,所有版本都是处理相同,1.0.0限定符确实被认为是更新的超过1.0.0。

有两种版本控制方案的结果是合理的行为OSGi和Maven。

对两个Maven使用相同的四部分版本(例如1.0.0.20111112-0735)以及OSGi。当从快照到maven端的版本,即1.0.0-SNAPSHOT转到1.0.0.20111112-0735,但一切正常。

使用偶数/奇数约定对快照和发布版本进行版本设置,即。1.0.1-SNAPSHOT/1.0.1限定符发布为1.0.2/1.0.2。

我认为还可以将maven和osgi版本的已发布的工件,即对maven使用1.0.0,对OSGi,但就我个人而言,我觉得这很令人困惑,不推荐使用。和我不确定第谷将来是否会允许这样做。

--当做Igor

最新更新