如何在无头服务器上构建 Eclipse 插件更新站点?
Posted
技术标签:
【中文标题】如何在无头服务器上构建 Eclipse 插件更新站点?【英文标题】:How to build Eclipse Plugin UpdateSite on headless server? 【发布时间】:2011-07-06 09:28:14 【问题描述】:在过去的几天里,我一直在尝试在无头 Debian VM 上测试构建我的 eclipse 插件。无头 Debian VM 的原因是,一旦我进行了构建设置,构建和 UpdateSite 将托管在远程服务器上。 到目前为止我所取得的成就:
自行构建插件 ($Projectname-$version.jar) 构建功能 ($Prohjectname_Feature_$version.jar) 将功能和插件以及 site.xml 移动到带有 ./features 和 ./plugins 的文件夹 $structured-folder在我的 Ubuntu 开发盒上,我可以在 CLI 上运行以下命令来构建所需的 content.jar 和 artifacts.jar:
/usr/bin/eclipse -application org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher -metadaRepository file:$folder-to-repo -artifactRepository file:$folder-to-repo -source $structured-folder -publishArtifacts -compress
在我的无头构建中,我尝试用
替换“/usr/bin/eclipse/”java -jar $path-to-eclipse/plugins/org.eclipse.equinox.launcher_$version-string.jar -initialize -application ...
但这根本没有给我任何输出。然后我尝试安装 eclipse 本身,但它并没有带来任何积极的结果,因为运行 /usr/bin/eclipse 需要 GTK 和 X。
所以我的问题是: 在无头模式下构建和发布 Eclipse 插件的正确设置是什么样的?我需要什么插件?我需要下载哪些 eclipse 以及我应该如何运行该过程?
【问题讨论】:
我不确定我是否会帮助您完成现有的构建,但我建议您切换到基于 tycho 的构建。您可以在eclipse tycho 或sonatype tycho 找到更多信息。我已经尝试设置两个基于 PDE 的构建,而 IMO tycho 是设置构建和更新站点的更快更好的方式。可能会有一些问题。例如,请查看this blog。我在github 有一个更真实的例子。 【参考方案1】:我正在使用 ant 和 hudson 构建我们的 eclipse 产品和更新站点。根据您的需要,任务将如下所示:
<java jar="$eclipse.build.launcher" fork="true" failonerror="true">
<arg value="-application" />
<arg value="org.eclipse.ant.core.antRunner" />
<arg value="-buildfile" />
<arg file="$basedir/process_artifacts.xml" />
<jvmarg value="-Dp2.repo=$repository" />
</java>
可以参考eclipse的P2 wiki page。
在我最初设置它时,Tycho 还没有准备好使用。几周前我又试了一下,效果非常好,所以我建议试一试。
【讨论】:
是否有 process_artifacts.xml 的示例? $repository 的值应该是多少?最好的问候托马斯。以上是关于如何在无头服务器上构建 Eclipse 插件更新站点?的主要内容,如果未能解决你的问题,请参考以下文章