我正在为Eclipse RCP应用程序配置自我更新机制。 除了一点之外,一切都像魅力一样,这是实施的流程:
当构建重建所有未更改的功能时,会使用新的限定符发布到存储库中,并标记为更新: - (
我绝对想避免这件事。
阅读此Wiki Page我认为通过使用p2.composite.repository的validate属性找到了解决方案,但它没有完成这项工作。这是我的蚂蚁任务:
<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
增加了。
感谢提前获得建议。
答案 0 :(得分:1)
阅读本Wiki页面我认为通过使用p2.composite.repository的validate属性找到了解决方案,但它没有完成这项工作。
我不认为这个问题应该在复合存储库级别解决。相反,如果功能没有更改,叶子存储库不应包含更改的限定符。
这正是第谷的Reproducible Version Qualifiers所针对的。如果您的代码驻留在Git存储库中,它们会将限定符与最新提交的时间戳同步。