Bir Android projesinin son sürümünü kullanarak PMD, Findbugs ve Checkstyle statik kod analiz araçlarını nasıl kurabilirim? Birkaç şey denedim ama onları çalıştırmayı başaramıyorum.PMD, checkstyle ve findbugs android kurulumu
Teşekkür
Bir Android projesinin son sürümünü kullanarak PMD, Findbugs ve Checkstyle statik kod analiz araçlarını nasıl kurabilirim? Birkaç şey denedim ama onları çalıştırmayı başaramıyorum.PMD, checkstyle ve findbugs android kurulumu
Teşekkür
Checkstyle/PMD
Eğer checkstyle ve pmd için kullanabileceğiniz güzel bir eklenti vardır. Sadece küresel gradle.build için
buildscript {
repositories {
// ...
}
dependencies {
// ...
classpath 'com.android.tools.build:gradle:1.2.3'
// Enables checkStyle and pmd gradle support for android modules
classpath 'com.noveogroup.android:check:1.1.2'
}
}
ekleyip gibi modül (ler) kullanmak aşağıdaki:
// configuration is optional
check {
// skip source code checking or not, false by default
skip true/false
// fails build if code style violation is found, false by default
abortOnError true/false
checkstyle {
// skip Checkstyle, false by deafult
skip true/false
// fails build if Checkstyle rule violation is found, false by default
abortOnError true/false
// configuration file
config project.file('path/to/checkstyle.xml')
// configuration resource
// see http://gradle.org/docs/2.2/release-notes#sharing-configuration-files-across-builds
config resources.text.fromFile(someTask)
// configuration path
config 'path/to/checkstyle.xml'
// predefined configurations: easy and hard
config easy()
config hard()
// plugin find configuration file in project.file('config/checkstyle.xml') by default
// if there are no configuration file, easy() configuration will be used
}
pmd {
// the same configuration as for Checkstyle
// plugin find configuration file in project.file('config/pmd.xml') by default
// if there are no configuration file, easy() configuration will be used
}
}
Here size: Bu yapılandırmaların
apply plugin: 'com.noveogroup.android.check'
check {
abortOnError false
checkstyle {
config "$rootProject.rootDir/path/to/your/checkstyle.xml"
}
pmd {
config "$rootProject.rootDir/path/tp/your/pmd-ruleset.xml"
}
}
veya herhangi Eklentinin ana sayfasını ve kaynak kodunu bulabilir.
Findbugs
//
noveogroup (1.2.3) tarafındanson eklentisi şimdi de FindBugs destekler // GÜNCELLEME. Yani bunu checkstyle veya pmd gibi aynı şekilde özelleştirebilirsiniz:
// configuration of FindBugs checker
findbugs {
// the same configuration as for Checkstyle
// by default plugin finds configuration file in <rootProject>/config/findbugs.xml,
// after that in <project>/config/findbugs.xml and if there are no configuration
// file, easy() configuration will be used.
}
// GÜNCELLEME SON //
Ben findbugs size modülün build.gradle eklemek aşağıdaki gradle komut snippet'iyle kontrol koşmak :
apply plugin: 'findbugs'
task customFindbugs(type: FindBugs) {
ignoreFailures = true
effort = "default"
reportLevel = "medium"
classes = files("$project.buildDir/intermediates/classes")
excludeFilter = file("$rootProject.rootDir/config/findbugs/exclude.xml")
source = fileTree('src/main/java/')
classpath = files()
reports {
xml.enabled = false
xml.withMessages = true
html.enabled = !xml.isEnabled()
xml.destination "$project.buildDir/outputs/findbugs/findbugs-output.xml"
html.destination "$project.buildDir/outputs/findbugs/findbugs-output.html"
}
}
// UPDATE: renamed the task to customFindbugs and made it automatically be called when build is called
build.dependsOn customFindbugs
Benim exclude.xml aşağıdaki gibi görünür:
<FindBugsFilter>
<Match>
<Class name="~.*R\$.*"/>
</Match>
<Match>
<Class name="~.*Manifest\$.*"/>
</Match>
<Match>
<Class name="~.*_"/>
</Match>
</FindBugsFilter>
whe reas son onay AndroidAnnotations tarafından oluşturulan sınıfları atlamak için kullanılır ve büyük olasılıkla ben herhangi aldın
./gradlew customFindbugs
// or it is also included in the build task like the checks, too
./gradlew build
tarafından görevi çalıştırmak mümkün değilim Bundan sonra bu çeki ...
kullanmaz Bunun için çözüm? –
Olası kopyası [Android yakalama eklentisi ve birlikte çalışma stilini/komut satırı kullanımı] al (https://stackoverflow.com/questions/17050654/get-android-gradle-plugin-checkstyle-working-together-command-line-usage) – tir38