如何添加前缀目录,这样当我解压缩包含我的RCP应用程序的zip时,我会得到一个包含内容的目录?
当tycho资格化并存档我的rcp应用程序时,它会在没有目录前缀的情况下压缩目标/ products / my.rcp.app / linux / gtk / x86_64 / contents。
当前的zip内容:
所需的拉链内容:
当用户解压缩zip时,我想要创建app目录。我查看了tycho文档,但是归档和物化都不是配置它的正确位置。我总是可以使用antrun或汇编插件来完成这项工作,但这并不是解决问题的正确方法。
请告诉我如何添加前缀目录。
答案 0 :(得分:6)
配置实际上有点混乱而不是documented。由于您(当前)可以在一个eclipse-repository模块中拥有多个产品文件,因此您需要选择要应用配置的产品ID。
因此,要为ID为product.id
的产品设置存档根文件夹,您需要以下配置:
<build>
<plugins>
<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>
<goals>
<goal>archive-products</goal>
</goals>
</execution>
</executions>
<configuration>
<products>
<product>
<id>product.id</id>
<rootFolder>myapp</rootFolder>
</product>
</products>
</configuration>
</plugin>
</plugins>
</build>
答案 1 :(得分:0)
谢谢,但我需要使用rootFolder选项添加额外的目录。我尝试将achivePrefix注入.product文件,但是没有用。我终于崩溃了,抓住了tycho源并向后工作以找到rootFolder。在这次旅程之后,我在文档中看到了它并且扼杀了它的含义。
Doc:http://wiki.eclipse.org/Tycho/Packaging_Types#Creating_Product_Zip_Files
相关:https://issues.sonatype.org/browse/TYCHO-507
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-director-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<products>
<product>
<id>match-product-uid-field-from-foo.product-file</id>
<rootFolder>workbench</rootFolder>
</product>
</products>
</configuration>
<executions>
<execution>
<!-- install the product using the p2 director -->
<id>materialize-products</id>
<goals>
<goal>materialize-products</goal>
</goals>
</execution>
<execution>
<!-- create zip file with the installed product -->
<id>archive-products</id>
<goals>
<goal>archive-products</goal>
</goals>
<configuration>
<formats>
<linux>tar.gz</linux>
<win32>zip</win32>
</formats>
</configuration>
</execution>
</executions>
</plugin>