我将 Eclipse RCP 产品的构建从 PDE-build 切换到 Maven Tycho。除了主(品牌)启动器可执行文件外,该产品现在还包括“eclipsec.exe”文件。我们想从我们的产品中省略这个基于控制台的启动器,因为它可能会使我们的客户感到困惑。有没有办法用第谷做到这一点?
问问题
2269 次
2 回答
13
我在tycho-users 列表上得到了这个答案:
在您的 eclipse-repository 项目中,假设您有一个 .product 文件,您可以在同一目录中放置另一个名为 .p2.inf 的文件
对于 p2.inf 文件的内容,您可以放置一个 p2 接触点来删除该文件:
instructions.configure=org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/eclipsec.exe);
于 2012-08-07T15:04:23.457 回答
2
我不知道如何直接用 tycho 解决,但是你可以用 maven-antrun-plugin 来实现。有一个小技巧可以及时删除eclipsec.exe。您必须将删除步骤放在物化和 p2-director-plugin 的存档目标之间。我将删除步骤放在阶段预集成测试中,并将存档步骤移至阶段集成测试。
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>delete-eclipsec.exe</id>
<phase>pre-integration-test</phase>
<configuration>
<target>
<delete file="${project.build.directory}/products/<<your.product.id>>/win32/win32/x86/eclipsec.exe"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-director-plugin</artifactId>
<version>${tycho-version}</version>
<executions>
<execution>
<id>materialize-products</id>
<goals>
<goal>materialize-products</goal>
</goals>
</execution>
<execution>
<id>archive-products</id>
<phase>integration-test</phase>
<goals>
<goal>archive-products</goal>
</goals>
</execution>
</executions>
</plugin>
结果:product.zip 中没有 eclipsec.exe。
希望有帮助。
于 2012-08-07T07:34:09.647 回答