Android Studio Jenkins集成Findbugs
Android Studio 集成Findbugs步驟:
? 一 丶 先在app目錄下的gradle里面引用
apply plugin: 'findbugs'
? 二丶添加一個findbugs方法
task findbugs(type: FindBugs, dependsOn: "assembleRelease") {
ignoreFailures = true
effort = "default"
reportLevel = "medium"
//過濾器
excludeFilter = new File("${project.rootDir}/findbug_filter.xml")
//這里填寫項目classes目錄
classes = files("${project.rootDir}/CarshareTld/build/intermediates/javac/release/compileReleaseJavaWithJavac/classes")
source = fileTree('src/main/java')
classpath = files()
reports {
//只能開啟一個
xml.enabled = true
html.enabled = false
}
}
(注意:dependsOn : 這后面內(nèi)容填寫需要打包或者執(zhí)行的包樣式蚕愤,比如類型:
assembleDebug
assembleRelease
assembleAndroidTest
? ? excludeFilter 一個過濾器犹菱,過濾一些R文件掺喻,資源文件等诉瓦,需要你在自己Project的根目錄下添加一個 findbug_flter.xml? ,里面的內(nèi)容如下:
<?xml version="1.0" encoding="UTF-8"?>
<FindBugsFilter>
<Match>
<!-- ignore all issues in resource generation -->
<Class name="~.*\.R\$.*"/>
</Match>
<Match>
<Class name="~.*\.Manifest\$.*"/>
</Match>
<Match>
<Class name="~.*\.*Test" />
<!-- test classes are suffixed by 'Test' -->
<Not>
<Bug code="IJU" /> <!-- 'IJU' is the code for bugs related to JUnit test code -->
</Not>
</Match>
</FindBugsFilter>
? 詳細(xì)過濾內(nèi)容,可以自己根據(jù)自己的有關(guān)要求弊知;
? classes 目錄缀程,填寫位置,后面拼接的是你項目build下的classes文件目錄路徑盲赊,需要你自己查找索引路徑,一定不能填錯敷扫,不然會執(zhí)行不成功哀蘑,
? 最后關(guān)鍵注意點,reports 它下面有個 xml 跟 html 開關(guān)葵第,在本地執(zhí)行的時候绘迁,你設(shè)置 html 開關(guān)為 true,xml 為 fasle卒密,反之缀台,在你上傳代碼到 jenkins 上的時候,則需要把 xml 改完true哮奇,html 改為 false)
在Android Studio上的基本流程已經(jīng)完成了将硝,然后在jenkins的項目配置里配置相關(guān)的內(nèi)容
三丶打開 jenkins 項目里面的配置
找到構(gòu)建,在構(gòu)建Tasks 里面添加一個 findbugs
然后在構(gòu)建后操作里面添加一個 Publish FindBugs analysis results ,
填寫你在Android Studio的項目里reports的根目錄路徑后追加findbugs/*.xml
最終大功告成屏镊,應(yīng)用保存退出依疼。然后喝茶。查看你的bug吧~~
?Android Studio Jenkins集成Findbugs
Android Studio 集成Findbugs步驟:
? ?一 丶 先在app目錄下的gradle里面引用
applyplugin:'findbugs'
? 二丶添加一個findbugs方法?
task findbugs(type: FindBugs,dependsOn:"assembleRelease") {
ignoreFailures =true
effort ="default"
reportLevel ="medium"
//過濾器
excludeFilter =new File("${project.rootDir}/findbug_filter.xml")
//這里填寫項目classes目錄
classes = files("${project.rootDir}/CarshareTld/build/intermediates/javac/release/compileReleaseJavaWithJavac/classes")
source = fileTree('src/main/java')
classpath = files()
reports {
//只能開啟一個
xml.enabled =true
html.enabled =false
}
}
(注意:dependsOn : 這后面內(nèi)容填寫需要打包或者執(zhí)行的包樣式而芥,比如類型:
assembleDebug
?assembleRelease?
assembleAndroidTest
? ? ?excludeFilter 一個過濾器律罢,過濾一些R文件,資源文件等棍丐,需要你在自己Project的根目錄下添加一個 findbug_flter.xml? ,里面的內(nèi)容如下:
<?xml version="1.0" encoding="UTF-8"?>
<Class name="~.*\.R\$.*"/>
<Class name="~.*\.Manifest\$.*"/>
<Class name="~.*\.*Test" />
<Bug code="IJU" />
</FindBugsFilter>
? ?詳細(xì)過濾內(nèi)容误辑,可以自己根據(jù)自己的有關(guān)要求;
classes 目錄歌逢,填寫位置巾钉,后面拼接的是你項目build下的classes文件目錄路徑,需要你自己查找索引路徑秘案,一定不能填錯砰苍,不然會執(zhí)行不成功潦匈,
??最后關(guān)鍵注意點,reports 它下面有個 xml 跟 html 開關(guān)赚导,在本地執(zhí)行的時候茬缩,你設(shè)置 html 開關(guān)為 true,xml 為 fasle吼旧,反之凰锡,在你上傳代碼到 jenkins 上的時候,則需要把 xml 改完true圈暗,html 改為 false)
在Android Studio上的基本流程已經(jīng)完成了掂为,然后在jenkins的項目配置里配置相關(guān)的內(nèi)容?
三丶打開 jenkins 項目里面的配置
?找到構(gòu)建,在構(gòu)建Tasks 里面添加一個 findbugs?
然后在構(gòu)建后操作里面添加一個 Publish FindBugs analysis results ,
填寫你在Android Studio的項目里reports的根目錄路徑后追加findbugs/*.xml
最終大功告成员串,應(yīng)用保存退出勇哗。然后喝茶。查看你的bug吧~~