Android Checkstyle插件不添加渐变任务

Android Checkstyle插件不添加渐变任务,android,gradle,checkstyle,gradle-plugin,Android,Gradle,Checkstyle,Gradle Plugin,我想在我的gradle项目中使用checkstyle插件,gradle文档说它将添加一些任务: 我将此添加到我的app build.gradle文件中: apply plugin: 'checkstyle' 我想从cmd运行gradle任务来执行代码样式检查,但没有一个checkstyle任务。我通过键入以下内容检查了整个列表: ./gradlew tasks 我还尝试将checkstyle jar作为库依赖项添加到应用程序模块中。 有谁能告诉我我做错了什么,以及如何获得checkstyl

我想在我的gradle项目中使用checkstyle插件,gradle文档说它将添加一些任务:

我将此添加到我的app build.gradle文件中:

apply plugin: 'checkstyle'
我想从cmd运行gradle任务来执行代码样式检查,但没有一个checkstyle任务。我通过键入以下内容检查了整个列表:

./gradlew tasks
我还尝试将checkstyle jar作为库依赖项添加到应用程序模块中。
有谁能告诉我我做错了什么,以及如何获得checkstyle任务吗?

您还需要一个checkstyle配置文件,可以将其放置在文档中的位置,也可以显式配置它

例如:

checkstyle {
  config = resources.text.fromFile('config/checkstyle.xml')
}
tasks.withType(Checkstyle).each {
    it.group = 'verification'
}

好的,checkstyle插件将其任务添加到“其他任务”虚拟任务组中。这些任务实际上是尚未分配给任务组的任务。因此,只有在运行
/gradlew任务--all
(请注意
--all
)时才会显示它们

完成工作build.gradle:

...
apply plugin: 'checkstyle'

...

checkstyle {
    configFile rootProject.file('checkstyle.xml')
    ignoreFailures false
    showViolations true
    toolVersion = "7.8.1"
}

task Checkstyle(type: Checkstyle) {
    configFile rootProject.file('checkstyle.xml')
    source 'src/main/java'
    ignoreFailures false
    showViolations true
    include '**/*.java'
    classpath = files()
}

// adds checkstyle task to existing check task
afterEvaluate {
    if (project.tasks.getByName("check")) {
        check.dependsOn('checkstyle')
    }
}
然后运行
/gradlew任务--all
,输出:

<...snip...>
Other tasks
-----------
checkstyleMain - Run Checkstyle analysis for main classes
checkstyleTest - Run Checkstyle analysis for test classes
<...snip...>

查看其他使用Gradle构建的运行checkstyle(感谢Square)的Android项目,我发现我需要进行一些设置才能显示任务。如果没有任务声明,我仍然会看到我的初始错误

build.gradle:

...
apply plugin: 'checkstyle'

...

checkstyle {
    configFile rootProject.file('checkstyle.xml')
    ignoreFailures false
    showViolations true
    toolVersion = "7.8.1"
}

task Checkstyle(type: Checkstyle) {
    configFile rootProject.file('checkstyle.xml')
    source 'src/main/java'
    ignoreFailures false
    showViolations true
    include '**/*.java'
    classpath = files()
}

// adds checkstyle task to existing check task
afterEvaluate {
    if (project.tasks.getByName("check")) {
        check.dependsOn('checkstyle')
    }
}

你需要一个配置文件,整个事情才有意义,但你不需要它只是让任务出现。我正在使用android插件
com.android.[library | application]
2。我确实用了全旗。我会更新我的问题。
...
apply plugin: 'checkstyle'

...

checkstyle {
    configFile rootProject.file('checkstyle.xml')
    ignoreFailures false
    showViolations true
    toolVersion = "7.8.1"
}

task Checkstyle(type: Checkstyle) {
    configFile rootProject.file('checkstyle.xml')
    source 'src/main/java'
    ignoreFailures false
    showViolations true
    include '**/*.java'
    classpath = files()
}

// adds checkstyle task to existing check task
afterEvaluate {
    if (project.tasks.getByName("check")) {
        check.dependsOn('checkstyle')
    }
}