maven - 如何正确管理 Tycho/EAP 版本控制

标签 maven eclipse-rcp tycho

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

在版本(例如 1.0.0)的开发过程中, Artifact 会根据文件配置版本 1.0.0-SNAPSHOT 和 1.0.0.qualifier。当我想要发布版本时,我使用 tycho-versions:set-version 目标从 1.0.0-SNAPSHOT 更改为 1.0.0。

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

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

我遇到的情况似乎很奇怪:当 1.0.0 应用程序启动时,它会找到以前的快照(版本号 1.0.0.201312191455),认为这些 Artifact 是较新的,并将自身更新回较旧的版本。

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

如果是这样,那么当版本从快照更改为“发布”时,为什么 tycho 版本插件会删除限定符?这样做似乎会让这些文物看起来比任何快照都要古老。处理这种情况的正确方法是什么?

最佳答案

前段时间tycho邮件列表中已经给出了答案:

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

详细信息:

OSGi does not have a notion of "snapshot" versions, all versions are treated the same and 1.0.0.qualifier is indeed considered to be newer than 1.0.0.

There are two versioning schemes that result is reasonable behaviour both for OSGi and Maven.

Use the same four part version (eg., 1.0.0.20111112-0735) for both Maven and OSGi. This results in slightly odd version jump when going from snapshots to releases on the maven side, i.e. 1.0.0-SNAPSHOT goes to 1.0.0.20111112-0735, but everything works otherwise.

Use even/odd convention to version snapshots and releases, i.e. 1.0.1-SNAPSHOT/1.0.1.qualifier is released as 1.0.2/1.0.2.

I think it is also possible to decouple maven and osgi versions of released artifacts, i.e. use 1.0.0 for maven and 1.0.0.20111112-0735 for OSGi, but personally I find this confusing and would not recommend. And I am not sure if Tycho will allow this in the future.

-- Regards, Igor

关于maven - 如何正确管理 Tycho/EAP 版本控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20842256/

相关文章:

java - 将 Eclipse RCP 应用程序导出到可运行的 jar 文件

java - Spring +Maven | 404错误: The requested resource is not available

java - 在集成测试阶段执行 Maven 模块

java - 如何创建具有下拉功能的 SWT.RADIO 样式的 Eclipse 工具栏项?

java - Maven:如何添加修补的依赖项

maven - 如何将 Bundle-classpath jar 及其依赖项从 Maven 存储库复制到我的本地 lib 文件夹?

eclipse - Tycho:单独构建插件时无法解决对项目其他插件的依赖

java - Java 5 中的 CXF - 额外的 Maven 依赖项

xml - 执行mvn help时输出有效的xml :effective-pom

Eclipse RCP 的 Maven 原型(prototype)