当构建准备就绪时,我在不同平台的所有构建档案中都有p2文件夹。据我所知,从构建阶段的档案中排除p2目录是不可能的。所以我尝试自己打包归档,而不是使用归档产品执行。 问题是,如果我想为其他平台或架构制作档案,我将需要改变pom。 现在我有以下构建模式:
<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>
</executions>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>pack-zip-files</id>
<phase>package</phase>
<configuration>
<target>
<zip basedir="${project.build.directory}/products/xxx/win32/win32/x86"
destfile="${project.build.directory}/products/xxx-1.0.${BUILD_NUMBER}-win32.win32.x86.zip"
excludes="${exclude_p2}" />
<zip basedir="${project.build.directory}/products/xxx/linux/gtk/x86"
destfile="${project.build.directory}/products/xxx-1.0.${BUILD_NUMBER}-linux.gtk.x86.zip"
excludes="${exclude_p2}" />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
如何从所有zip文件中删除p2文件夹?
答案 0 :(得分:1)
你现在正在做的事情是唯一的方法。您可以将包装类型更改为eclipse-application
,并且不会创建该目录,但它是一种不推荐使用的包装类型,并且存在大量问题。
帮助多个POM支持的唯一方法是将POM配置放入配置文件中,让构建产品的项目继承自它。您还可以使用osgi.os
osgi.arch
属性代替win32
和linux
等硬编码。