我目前正试图让我的无头pde-build工作,但我陷入了一个我不知道如何继续的地步。 问题是如何定义相关的目标平台来编译插件。 我有一个带有以下调用的build.bat(全部在一行!):
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,Delta Pack,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,然后将此构建过程集成到我们正在运行的cruisecontrol实例中。
正如我已经看到关于定义目标日食的另一个问题,如果有人能提供有关该问题的提示或事实,我会很高兴。
此致 安德烈亚斯
答案 0 :(得分:5)
执行无头构建时,目标可以与实际运行构建本身的eclipse分开。你在这里遇到的问题是你用来运行构建的eclipse没有正确安装PDE / Build。
这就是没有设置${eclipse.pdebuild.scripts}
的原因,因为PDE / Build没有安装到那个eclipse实例中,org.eclipse.pde.build包没有被解析,并且设置这个属性的代码永远不会被调用。同样,PDE / Build任务所需的ant类路径条目也不会正确设置。
您需要在其中安装带有PDE的Eclipse来运行构建,但构建的目标可以与此分开。
在build.properties
下找到的-Dbuilder=c:\pde-build\scripts
文件中,您可以设置多个properties:
baseLocation
这是一条通往日食的道路。buildDirectory
这是构建实际发生的地方,源代码被提取到插件/功能/子文件夹,但如果已经存在二进制插件,那么它们也会成为目标的一部分。pluginPath
这是路径列表(在Windows上用';'分隔,在linux上用':'分隔),其中包含应被视为目标一部分的其他位置。这些位置可以是几件事:
p2.gathering = true
),您还可以在${repoBaseLocation}
下提供p2存储库,这些存储库将被转换并置于${transformedRepoLocation}
下并成为您的目标的一部分,在构建期间,p2元数据将获得reused。答案 1 :(得分:0)
现在的工作解决方案如下:将eclipse SDK复制到目标位置并运行此版本。在此必要的PDE-Tools中安装以启用插件开发。之后,关闭IDE并将delta pack +相应的svn插件(我在sourceforge中使用org.eclipse.pde.build.svn-1.0.1RC2)复制到目标平台,然后就完成了。 现在,我的自动PDE构建正在按预期运行。
现在只有小问题如下:结果产品包含eclipse特定的菜单条目,当我从我的dev-eclipse中运行它时,它们不存在。
有关于此的任何提示吗?
答案 2 :(得分:0)
我刚刚发布了关于此类主题的问题的答案,这可能会对您有所帮助: