gpt4 book ai didi

eclipse - PDE Headless 构建的目标平台不起作用

转载 作者:行者123 更新时间:2023-12-04 15:15:56 25 4
gpt4 key购买 nike

我目前正在尝试让我的 headless (headless) 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 构建按预期工作!
这导致我认为目标 Eclipse 的配置不正确,但目前我不知道如何配置它!

我的目标是首先在我的本地站点上自动化 pde 构建,而不引用我的本地 eclipse,然后将此构建过程集成到我们正在运行的 Cruisecontrol 实例中。

正如我已经看到另一个关于定义目标 eclipse 的问题,如果有人可以提供有关该问题的提示或事实,我会很高兴。

问候,
安德烈亚斯

最佳答案

执行 headless (headless)构建时,目标可以与实际运行构建本身的 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这是一条通往 eclipse 的道路,也是你的目标。
  • buildDirectory这是构建实际发生的地方,源被提取到 plugins/和 features/子文件夹,但如果这里已经有二进制插件,那么它们也会成为目标的一部分。
  • pluginPath这是一个路径列表(在 Windows 上用 ';' 分隔,在 linux 上用 ':' 分隔)包含应被视为目标一部分的其他位置。这些位置可以是几件事:
  • 带有 plugins/和 features/子文件夹的类 Eclipse 安装的根目录。这是提供 delta-pack 的好方法,而不仅仅是在 eclipse 安装之上解压缩它。
  • 类似工作空间的文件夹的根目录,其中所有子文件夹都被视为插件或功能,具体取决于 list 或 feature.xml 的存在。
  • 捆绑包或功能的根,或捆绑包的 jar。
  • 如果您正在进行 p2 构建( p2.gathering = true ),您还可以在 ${repoBaseLocation} 下提供 p2 存储库。它将被转换并放置在 ${transformedRepoLocation} 下并将成为您目标的一部分,并且那里的 p2 元数据将获得 reused在构建过程中。
  • 关于eclipse - PDE Headless 构建的目标平台不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3184592/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com