web-dev-qa-db-ja.com

gradleがチェックを実行するときに糸くずを避けます

誰かが私がgradle checkを実行するたびに「lint」を実行しないようにする方法を教えてもらえますか?

Build.gradleで定義しました

lintOptions { 

    quiet true 

}

ただし、このタスクを実行し続けます。問題は、チェックを行うたびに時間がかかることです。

29
Jose M Lechon
gradle build -x lint 

ソース: Gradle User Guide:タスクを除く

70
kukido

checkタスクを実行するときに-x lintを追加してスキップできます:

./gradlew check -x lint 

永久にスキップしたい場合は、build.gradleの前のapply plugin: 'com.Android.application'にこれを追加できます:

tasks.whenTaskAdded { task ->
    if (task.name.equals("lint")) {
        task.enabled = false
    }
}
32
rciovati

プロジェクトのセットアップ中にタスクを無効にしました。

Android {
    lintOptions {
        tasks.lint.enabled = false
    }
}

注:ステートメントをAndroid.lintOptions内に配置する必要はありませんが、lintを構成しているので、それらをまとめておくと便利です。

16
TWiStErRob

checkReleaseBuildsfalseに設定すると、リリースビルドのlintチェックが無効になります。 build.gradleファイルに次のスクリプトを追加します。

lintOptions {
     /**
     * Set whether lint should check for fatal errors during release builds. Default is true.
     * If issues with severity "fatal" are found, the release build is aborted.
     */
    checkReleaseBuilds false
}
7
codezjx

(Gradle 1.1.0、Android Studio 1.1.0でパッケージ化)

複数のサブプロジェクトでこれを行う方法を知りたい人のために、ルートプロジェクトのbuild.gradleファイルを使用してそれらを無効にする必要がありました:

task lintCheck() {
    getAllTasks(true).each {
        def lintTasks = it.value.findAll { it.name.contains("lint") }
        lintTasks.each {
            it.enabled = false
        }
    }
}
4
Zenel

それでもlintタスクを動作させたい場合は、次のこともできます。

project.tasks.check.dependsOn.remove("lint")
0
Yu Han

異なるビルドバリアントがある場合、おそらく、より堅牢なスクリプトソリューションは

afterEvaluate {
  Set<Task> result = tasks.findAll { task -> task.name.startsWith('lintVital') }
  result.each { Task task ->
    task.enabled = false
  }
}
0
Sebastiano

次のコードを使用して、Gradleの新しい構成回避APIを使用してすべてのlintタスクを無効にします。

tasks.withType(com.Android.build.gradle.tasks.LintBaseTask).configureEach {
    enabled = false
}

(Android Gradleプラグイン3.3.2でテスト済み。)

0
Lanchon