如何使 Eclipse RCP 在仅限定符更改时不检测更新
How to make Eclipse RCP does not detect updates when only qualifier changed
我正在为 Eclipse RCP 应用程序配置自我更新机制。
除了一点,一切都像魅力一样工作,这是实现的流程:
- Maven/Tycho 生成产品及其 p2 存储库
- 此存储库 copied/declared 到 -public- 复合存储库
- 检测到更新并向用户提出(当然是在从以前版本安装的产品中)
很好!但是...
随着构建重建所有内容 未更改的功能使用新的限定符发布到存储库中,并标记为更新 :-(
我绝对想避免的事情。
阅读这篇文章 Wiki Page 我认为通过使用 p2.composite.repository 的验证属性找到了解决方案,但它没有完成这项工作。这是我的蚂蚁任务:
<target name="add">
<p2.composite.repository validate="org.eclipse.equinox.p2.repository.tools.jar.comparator">
<!--
also tried with the other comparatorid
<p2.composite.repository validate="org.eclipse.equinox.artifact.md5.comparator">
-->
<repository location="file:/local/www/productname/releases"
name="Product Repository" compressed="false" append="true"/>
<add>
<repository location="http://localhost/productname/releases/1.0.0"/>
<repository location="http://localhost/productname/releases/1.0.1"/>
</add>
</p2.composite.repository>
</target>
1.0.1 中的所有功能都设置为更新,即使其中只有 2 个包含更改并增加了 major.minor.service
。
提前感谢您的建议。
Reading this Wiki Page I thought to have found the solution by using the validate attribute of p2.composite.repository but it does not do the job.
我认为这个问题不应该在复合存储库级别解决。相反,如果功能未更改,则叶存储库不应包含已更改的限定符。
这正是第谷 Reproducible Version Qualifiers 的用途。如果您的代码位于 Git 存储库中,他们会将限定符与最新提交的时间戳同步。
我正在为 Eclipse RCP 应用程序配置自我更新机制。 除了一点,一切都像魅力一样工作,这是实现的流程:
- Maven/Tycho 生成产品及其 p2 存储库
- 此存储库 copied/declared 到 -public- 复合存储库
- 检测到更新并向用户提出(当然是在从以前版本安装的产品中)
很好!但是...
随着构建重建所有内容 未更改的功能使用新的限定符发布到存储库中,并标记为更新 :-(
我绝对想避免的事情。
阅读这篇文章 Wiki Page 我认为通过使用 p2.composite.repository 的验证属性找到了解决方案,但它没有完成这项工作。这是我的蚂蚁任务:
<target name="add">
<p2.composite.repository validate="org.eclipse.equinox.p2.repository.tools.jar.comparator">
<!--
also tried with the other comparatorid
<p2.composite.repository validate="org.eclipse.equinox.artifact.md5.comparator">
-->
<repository location="file:/local/www/productname/releases"
name="Product Repository" compressed="false" append="true"/>
<add>
<repository location="http://localhost/productname/releases/1.0.0"/>
<repository location="http://localhost/productname/releases/1.0.1"/>
</add>
</p2.composite.repository>
</target>
1.0.1 中的所有功能都设置为更新,即使其中只有 2 个包含更改并增加了 major.minor.service
。
提前感谢您的建议。
Reading this Wiki Page I thought to have found the solution by using the validate attribute of p2.composite.repository but it does not do the job.
我认为这个问题不应该在复合存储库级别解决。相反,如果功能未更改,则叶存储库不应包含已更改的限定符。
这正是第谷 Reproducible Version Qualifiers 的用途。如果您的代码位于 Git 存储库中,他们会将限定符与最新提交的时间戳同步。