2010-07-06 71 views
6

我目前正试图让我的无头PD构建工作,但我卡在一个点,我不知道如何继续。 问题是如何定义相关目标平台来编译插件。 我有以下调用的build.bat(全部在同一行!):PDE的目标平台无头构建不起作用

java -jar D:\target\eclipse\plugins\org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar 
-application org.eclipse.ant.core.antRunner 
-f D:\target\eclipse\plugins\org.eclipse.pde.build_3.5.2.R35x_20100114\scripts\productBuild\productBuild.xml 
-Dbuilder=c:\pde-build\scripts %* 

我试图创建从不同地区的目标Eclipse平台:在Eclipse SDK,RCP SDK,三角包,PDE-所有组合中的SDK,但都没有效果。

我得到了以下错误:

BUILD FAILED 
D:\target\eclipse\plugins\org.eclipse.pde.build_3.5.2.R35x_20100114\scripts\productBuild\productBuild.xml:18: Cannot fin 
d ${eclipse.pdebuild.scripts}/build.xml imported from D:\target\eclipse\plugins\org.eclipse.pde.build_3.5.2.R35x_2010011 
4\scripts\productBuild\productBuild.xml 

其中变量$ {} eclipse.pdebuild.scripts没有得到解决。我也尝试通过命令行给出这个参数,但后来我得到了另一个关于svn任务失败的错误,这是绝对令人困惑的,因为这与我引用的本地eclipse安装一起工作。

当我将d:/ target/eclipse的路径替换为本地eclipse安装时,pde构建按预期工作! 这导致我的目标日食的配置不正确,但我不知道如何配置这一点!

我的目标是在本地站点上首先自动执行pde构建,而无需引用本地eclipse,之后将此构建过程集成到我们正在运行的巡航控件实例中。

正如我看到关于定义目标日食的另一个问题,我会很高兴如果任何人都可以提供有关问题的提示或事实。

问候, 安德烈亚斯

+0

有关更多信息,$ {eclipse.pdebuild.scripts}变量由antrunner apllication在Java代码中设置(位于org.eclipse.pde.internal.build.properties中的org.eclipse.pde.build插件中包) – 2010-07-06 09:57:16

回答

0

经过一番深入调查的时候,我发现了,我做错了什么至今。正如我前面提到的那样,定义目标平台并不像将SDK和插件复制到一个位置那样简单(就像在eclipse开发的早期阶段一样)。

现在的工作解决方案如下:将eclipse SDK复制到目标位置并运行此版本。在这里安装必要的PDE-Tools来启用插件开发。之后,关闭IDE并将delta pack +相应的svn插件(我使用sourceforge中的org.eclipse.pde.build.svn-1.0.1RC2)复制到目标平台中,然后完成。 现在我的自动PDE构建按预期运行。

现在唯一的小问题是:结果产品包含日食特定的菜单条目,当我在dev-eclipse中运行该菜单条目时,它们不在那里。

对此有何暗示?

0

我刚刚发布了一个回答我的问题对这类话题,可能是这可以帮助你:

Plugin product VS Feature product

+0

嗨曼努埃尔,我在这里写了一个答案,这导致我工作的解决方案。但我仍在寻找“最佳”目标平台。不过,我的产品确实包含了所有需要的插件,因此可以运行。我试着用模板+视图插件,这导致了一个48MB的zip文件;-)。 – Andreas 2010-07-06 09:54:03

5

当执行一个无头的构建,目标可以是在Eclipse分开实际上运行构建本身。您在这里遇到的问题是,您用于运行构建的eclipse没有正确安装PDE/Build。

这就是为什么${eclipse.pdebuild.scripts}未设置,因为PDE/Build未安装到该eclipse实例org.eclipse.pde中。构建包未解决,设置此属性的代码从未被调用过。同样,PDE/Build任务所需的ant类路径条目也不会被正确设置。

您需要安装PDE的Eclipse才能运行构建,但构建的目标可以与此分开。

在根据-Dbuilder=c:\pde-build\scripts你可以设置几个properties发现build.properties文件:

  1. baseLocation这是一个Eclipse是你的目标的路径。
  2. buildDirectory这是构建实际发生的地方,源被提取到插件/和特性/子文件夹,但是如果这里已经有二进制插件,那么这些插件也会成为目标的一部分。
  3. pluginPath这是一个路径列表(在Windows上以';'分隔,或在linux上以':'分隔)包含应该被视为目标的一部分的其他位置。这些位置可能有以下几种情况:
    1. 类似eclipse的安装包含插件/和功能/子文件夹的根目录。这是提供增量包的一种好方法,而不是仅仅在eclipse安装上解压它。
    2. 类似工作区的文件夹的根目录,其中根据清单或feature.xml的存在情况将所有子文件夹视为插件或功能。
    3. 捆绑包或功能的根,或捆绑包的jar。
  4. 如果你正在做一个P2构建(p2.gathering = true)您也可以提供下一个${repoBaseLocation} P2存储库将${transformedRepoLocation}下转化和放置,将成为你的目标的一部分,和p 2元中会有获得reused构建。
+0

嗨安德鲁, thx为伟大的解释。我认为这对我来说更加清晰了!希望别人也;-) – Andreas 2010-07-07 12:35:37