命令行拉起build Eclipse 插件
Eclipse的插件打包采用了Eclipse PDE提供的build能力。
The Plug-in Development Environment (PDE) provides tools to create, develop, test, debug, build and deploy Eclipse plug-ins, fragments, features, update sites and RCP product
Build - Ant based tools and scripts to automate build processes
更详细的帮助文档参见Eclipse提供的Plug-in Development Environment Guide .
对于Build主要参见Tasks/PDE Build目录
有三个步骤,是准备build环境,build feature和安装插件且集成产品包。
准备Build环境
参见Automated Building of RCP applications from a product configuration file .
文档中写到,准备的build环境要是如下目录结构。
<buildDirectory>/
plugins/
pluginToBuildA
pluginToBuildB
myProduct.product
...
features/
featureToBuild
...
<buildConfiguration>/
我将我本地建好的一个目录结构截图如下,注意,plugins和features的结构必须是这样的层次和结构,不能变动.
将你要build的features和plugins拷贝至相应的目录。
将Eclipse/IDE plugins目录的PDE build插件提供headless模板中的build.properties文件拷贝至buildConfiguration目录。
build.properties模板文件所在路径类似于:
eclipse/plugins/org.eclipse.pde.build_3.7.0.v20111116-2009/templates/headless-build
Build feature
参见Eclipse帮助的Automated Building of Features 目录
这个分成两步
- 修改步骤1中拷贝至buildConfiguration目录的build.properties文件
buildDirectory = buildDirectory
# 這個路徑是 *Target Platform* 的 eclipse home,
# 內有現成的 plugins 與 fetures 兩個 directory
baseLocation = target_pathform/eclipse
# 這些步驟我們沒有做,所以要 skip
skipBase=true
skipFetch=true
# 若果是 true 的話,閣下 feature 內的 feature.xml 所提到
# Target Platform 的所有 plugins 與 features 都會被複製出來
runPackager=true
# PDE 完事後,就會在 buildDirectory 建立這個 folder,
# 將結果放進去
buildLabel = build_result
# 最後製成品的名稱是 ${feature name}-${buildId}.zip
buildId=20100523
# Java 版本
javacSource = 1.6
javacTarget = 1.6
logExtension=.log
javacDebugInfo=ture
javacFailOnError=true
javacVerbose=true
- 用命令行执行build feature的动作
下面是一个示例,你只需要讲相应的插件和路径更新成自己的。
java -jar /Users/mac/801.eclipse.dev/eclipse/plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar -application org.eclipse.ant.core.antRunner -buildfile /Users/mac/801.eclipse.dev/eclipse/plugins/org.eclipse.pde.build_3.7.0.v20111116-2009/scripts/build.xml -Dbuilder=/Users/mac/803.eclipse.build/configDirectory
执行完之后会有build是否成功的提示