问题所在
从许多OSGi包中,我使用PDE无头功能构建创建了一个p2更新站点。我不想复制整个源树(如果可以避免的话),所以我将buildDirectory属性指向我的源的位置。
我遇到的一般问题是,PDE构建将构建工件分散到源目录中(而不是像所有其他体面的构建工具一样,将构建构件存储到单独的位置,例如Maven的target文件夹)。我可以接受这种情况,但更令人烦恼的是,PDE构建修改了每个已编译包的MANIFEST.MF文件。
对MANIFEST.MF文件的唯一真正更改是
Bundle-Version: 1.0.0.qualifier被重写为
Bundle-Version: 1.0.0.<yyyyMMddhhmm>除此之外,整个文件被重新格式化。当然,将文件重写到组装的jars中的内容是正确的,但是修改后的清单应该是IMHO,而不是覆盖源清单。
一个可能的解决方案?
有没有人知道是否有一种方法可以告诉PDE无头构建将所有构建工件发送到与源文件分离的位置?
那些细节..。
请在下面找到有关我的构建的详细信息。
我如何称呼PDE无头
这是我用来调用PDE无头构建的命令:
java \
-jar \
<prefix>/eclipse/3.8.1/SDK/plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar \
-application \
org.eclipse.ant.core.antRunner \
-buildfile \
<prefix>/eclipse/3.8.1/SDK/plugins/org.eclipse.pde.build_3.8.1.v20120725-202643/scripts/build.xml \
-data \
<prefix>/target/pde_workspace \
-Dbuilder=<prefix>/eclipse/3.8.1/SDK/plugins/org.eclipse.pde.build_3.8.1.v20120725-202643/templates/headless-build \
-DtopLevelElementId=org.example.myproject.feature \
-DtopLevelElementType=feature \
-DbuildDirectory=<prefix>/source \
-DbaseLocation=<prefix>/targetPlatform \
-DjavacSource=1.7 \
-DjavacTarget=1.7 \
-DcompilerArg=-g \
-DbuildLabel=output \
-DarchivePrefix=org.example.myproject \
-DbuildId=org.example.myproject.feature \
-DarchivesFormat=*,*,* - folder \
-Dp2.gathering=true \
-Dp2.build.repo=<prefix>/target/update-site \
-DskipMirroring=true \
-DcollectingFolder=<prefix>/target/tmp我希望添加-DcollectingFolder可以将所有构建工件重定向到这个文件夹,但它仍然是空的。
PDE无头文件
PDE无头构建的文档是全面的,但有些不精确。例如,它的许多选项之一是:
buildType:构建的类型,通常类似于I,N,M等。
我找到的文件是:
有人知道PDE无头构建的其他文档吗?
发布于 2014-11-11 14:16:42
您希望设置属性buildTempFolder和feature.temp.folder。我不相信这些财产在任何地方都有记载。
如果您熟悉ant,那么了解它的方法是查看为插件生成的build.xml文件。在buildTempFolder目标中,如果设置了<init>,则生成将最终设置如下
build.result.folder=${buildTempFolder}/plugins/org.example.plugin_1.2.3.201411110853`
如果未设置buildTempFolder,则默认值为${basedir},${basedir}是插件的根文件夹。
这个build.result.folder将是大多数已编译的.class文件(参见<@dot>目标)的目标,清单将在修改之前复制到那里(参见<publish.bin.parts>目标)。如果您使用customBuildCallbacks,那么在调用自定义回调之前,所有事情都将在这里进行处理。
feature.temp.folder类似于buildTempFolder,但是影响特性而不是插件。
https://stackoverflow.com/questions/25723990
复制相似问题