自动化编译说明书

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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文件

目的是使得PDE工具在编译该插件的时候,使用用户自己定义的build.xml

2 提供满足PDE接口的build.xml

注:创建方法如下:

(1)暂时去掉build.properties中custom=true的定义

(2)使用PDE工具编译该插件(编译会失败)

编译过程中自动生成的build.xml可以作为模板,去掉大部分不用的执行

主要修改如下:

表1 定义的变量

①②定义之后,生成的jar包名称即为com.fujitsu.interstage.ide.findbugs_2.0.3.jar

表2 定义的

(1)调用findbug本体的build.xml进行

--clean:清空

--build:编译

--srcZip:src打包

(2)主要进行:

--调用target="build.findbug",编译本体

--调用buildFbPlugin.xml,进行clean

--调用buildFbPlugin.xml,进行编译

(3)拷贝dist目录下的编译结果至tmp目录,以便PDE后续进行打包等动作

3 将findbug添加到FJPlugin工程中

在com.fujitsu.interstage.ide.platform.core-feature的feature.xml文件中添加如下表3 添加到feature工程

注:表示com.fujitsu.interstage.ide.findbugs需要unpack

4 定义变量eclipsePlugin.dir

在buildEnv\FJPlugin\com.fujitsu.releng.builder\build.properties中添加如下

5

在buildEnv\FJPlugin\src\eclipse\build\build.fjplugin-sdk.properties中添加

【本体编译工程的修正】

1 工程名称的修正

将library.findbugs导入到eclipse中,显示的project名称为findbugs,因此作如下修改

2 添加src打包功能

3 修改删除功能

默认的删除动作会删除

|--plugin

| |--findbugsCommunalCloud.jar, webCloudClient.jar

|--optionalPlugin

| |--bugCollectionCloud.jar, noUpdateChecks.jar, poweruser.jar

编译中需要保留上面的jar,所以修改build.xml如下

【plugin编译工程的修正】

1 正确处理qualifier

默认认为插件版本都为‘[数字版本]. qualifier’的形式,当不存在‘qualifier’字段的时候,原有的xml 将无法实现替换,所以需要修改

修正对象为:com.fujitsu.interstage.ide.findbugs/buildFbPlugin.xml

修改上述代码之后,MANIFEST.MF中Bundle-Version字段的变化为如下

注:如果不进行代码的修正,当version时此种情况时候,执行会报错

2 src打包

修正对象为:com.fujitsu.interstage.ide.findbugs/buildFbPlugin.xml

3 工程名称的修正

将com.fujitsu.interstage.ide.findbugs导入到eclipse中,显示的project名称为findBugsEclipsePlugin,因此作如下修改

4 依赖classpath的修正

同时导入com.fujitsu.interstage.ide.findbugs和library.findbugs到eclipse中,

相关文档
最新文档