- 7
- 0
- 约7.54千字
- 约 6页
- 2017-07-09 发布于河南
- 举报
自动化编译说明书
Findbugs2.0.3编译说明
【问题现象】
1)Findbugs plugin使用自定义的build.xml,如何在PDE编译框架上实现自动化编译
2)Findbugs plugin在自动化编译的时候,如何解决依赖的本体jar包
3)Findbugs plugin在自动编译的时候如何提供本体src和pluginsrc
4)Findbugs plugin编译的产物中如何去掉开源的信息,例如vendor信息,plugin id等
【解决方法】
1)PDE编译框架下,如果将待编译的插件申明在已有的feature.xml文件中,那么PDE在编译feature的时候能够自动编译feature.xml中申明的插件
2)Findbugs plugin使用自定义的build.xml,可以利用PDE允许编译中调用用户自定义行为的特点,直接调用自定义的xml文件即可(细节可以参考javaee6的src打包)
3)plugin的编译需要依赖本体,可通过编译服务器上提供的下载代码功能,将本体下载至本地
4)src打包的功能需要在已有的build.xml重新定义
5)修改MANIFEST文件中关于对插件的描述部分
具体实现方法如下
【自动编译的实现】
1 修改build.properties文件
custom=true ##添加 目的是使得PDE工具在编译该插件的时候,使用用户自己定义的build.xml
2 提供满足PDE接口的build.xml
|--build.xml ------新建的xml文件(注)
|--buildFbPlugin.xml -----原有build.xml注:创建方法如下:
(1)暂时去掉build.properties中custom=true的定义
(2)使用PDE工具编译该插件(编译会失败)
编译过程中自动生成的build.xml可以作为模板,去掉大部分不用target的执行
主要修改如下:
表1 定义的变量
property file=build.properties /
property file=${buildDirectory}/finalPluginsVersions.properties/
property name=bundleId value=com.fujitsu.interstage.ide.findbugs/ ①
property name=bundleVersion value=${com.fujitsu.interstage.ide.findbugs}/②
property name=customBuildFile value=buildFbPlugin.xml/
property name=findbug.buildFile value=${findbugs.dir}/build.xml/ ①②定义之后,生成的jar包名称即为com.fujitsu.interstage.ide.findbugs_2.0.3.jar
表2 定义的target
target name=build.findbug depends=init
ant dir=${findbugs.dir} inheritall=false target=clean /
ant dir=${findbugs.dir} inheritall=false target=build /
ant dir=${findbugs.dir} inheritall=false target=srcZip /
/target
target name=build.jars depends=init description=Compile classes and build nested jars for the plug-in: com.fujitsu.interstage.ide.findbugs.
delete file=${compilation.problem.marker} quiet=true/
!-- compile the source code --
antcall target=build.findbug/
ant antfile=${customBuildFile} target=clean/
ant antfile=${customBuildFile} /
/target
target name=gather.bin.parts depends=init if=destination.temp.folder
mkdir dir=${destination.temp.folder}/${bundleId}_${bundleVer
原创力文档

文档评论(0)