Android Studio Jenkins集成Findbugs
Android Studio 集成Findbugs步驟:
? 一 丶 先在app目錄下的gradle里面引用
apply plugin: 'findbugs'
? 二丶添加一個(gè)findbugs方法
task findbugs(type: FindBugs, dependsOn: "assembleRelease") {
ignoreFailures = true
effort = "default"
reportLevel = "medium"
//過(guò)濾器
excludeFilter = new File("${project.rootDir}/findbug_filter.xml")
//這里填寫(xiě)項(xiàng)目classes目錄
classes = files("${project.rootDir}/CarshareTld/build/intermediates/javac/release/compileReleaseJavaWithJavac/classes")
source = fileTree('src/main/java')
classpath = files()
reports {
//只能開(kāi)啟一個(gè)
xml.enabled = true
html.enabled = false
}
}
(注意:dependsOn : 這后面內(nèi)容填寫(xiě)需要打包或者執(zhí)行的包樣式,比如類(lèi)型:
assembleDebug
assembleRelease
assembleAndroidTest
? ? excludeFilter 一個(gè)過(guò)濾器,過(guò)濾一些R文件,資源文件等,需要你在自己Project的根目錄下添加一個(gè) 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ì)過(guò)濾內(nèi)容,可以自己根據(jù)自己的有關(guān)要求;
? classes 目錄,填寫(xiě)位置,后面拼接的是你項(xiàng)目build下的classes文件目錄路徑,需要你自己查找索引路徑,一定不能填錯(cuò),不然會(huì)執(zhí)行不成功,
? 最后關(guān)鍵注意點(diǎn),reports 它下面有個(gè) xml 跟 html 開(kāi)關(guān),在本地執(zhí)行的時(shí)候,你設(shè)置 html 開(kāi)關(guān)為 true,xml 為 fasle,反之,在你上傳代碼到 jenkins 上的時(shí)候,則需要把 xml 改完true,html 改為 false)
在Android Studio上的基本流程已經(jīng)完成了,然后在jenkins的項(xiàng)目配置里配置相關(guān)的內(nèi)容
三丶打開(kāi) jenkins 項(xiàng)目里面的配置
找到構(gòu)建,在構(gòu)建Tasks 里面添加一個(gè) findbugs
然后在構(gòu)建后操作里面添加一個(gè) Publish FindBugs analysis results ,
填寫(xiě)你在Android Studio的項(xiàng)目里reports的根目錄路徑后追加findbugs/*.xml
最終大功告成,應(yīng)用保存退出。然后喝茶。查看你的bug吧~~
?Android Studio Jenkins集成Findbugs
Android Studio 集成Findbugs步驟:
? ?一 丶 先在app目錄下的gradle里面引用
applyplugin:'findbugs'
? 二丶添加一個(gè)findbugs方法?
task findbugs(type: FindBugs,dependsOn:"assembleRelease") {
ignoreFailures =true
effort ="default"
reportLevel ="medium"
//過(guò)濾器
excludeFilter =new File("${project.rootDir}/findbug_filter.xml")
//這里填寫(xiě)項(xiàng)目classes目錄
classes = files("${project.rootDir}/CarshareTld/build/intermediates/javac/release/compileReleaseJavaWithJavac/classes")
source = fileTree('src/main/java')
classpath = files()
reports {
//只能開(kāi)啟一個(gè)
xml.enabled =true
html.enabled =false
}
}
(注意:dependsOn : 這后面內(nèi)容填寫(xiě)需要打包或者執(zhí)行的包樣式,比如類(lèi)型:
assembleDebug
?assembleRelease?
assembleAndroidTest
? ? ?excludeFilter 一個(gè)過(guò)濾器,過(guò)濾一些R文件,資源文件等,需要你在自己Project的根目錄下添加一個(gè) 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ì)過(guò)濾內(nèi)容,可以自己根據(jù)自己的有關(guān)要求;
classes 目錄,填寫(xiě)位置,后面拼接的是你項(xiàng)目build下的classes文件目錄路徑,需要你自己查找索引路徑,一定不能填錯(cuò),不然會(huì)執(zhí)行不成功,
??最后關(guān)鍵注意點(diǎn),reports 它下面有個(gè) xml 跟 html 開(kāi)關(guān),在本地執(zhí)行的時(shí)候,你設(shè)置 html 開(kāi)關(guān)為 true,xml 為 fasle,反之,在你上傳代碼到 jenkins 上的時(shí)候,則需要把 xml 改完true,html 改為 false)
在Android Studio上的基本流程已經(jīng)完成了,然后在jenkins的項(xiàng)目配置里配置相關(guān)的內(nèi)容?
三丶打開(kāi) jenkins 項(xiàng)目里面的配置
?找到構(gòu)建,在構(gòu)建Tasks 里面添加一個(gè) findbugs?
然后在構(gòu)建后操作里面添加一個(gè) Publish FindBugs analysis results ,
填寫(xiě)你在Android Studio的項(xiàng)目里reports的根目錄路徑后追加findbugs/*.xml
最終大功告成,應(yīng)用保存退出。然后喝茶。查看你的bug吧~~