誰かが私がgradle checkを実行するたびに「lint」を実行しないようにする方法を教えてもらえますか?
Build.gradleで定義しました
lintOptions {
quiet true
}
ただし、このタスクを実行し続けます。問題は、チェックを行うたびに時間がかかることです。
gradle build -x lint
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
}
}
プロジェクトのセットアップ中にタスクを無効にしました。
Android {
lintOptions {
tasks.lint.enabled = false
}
}
注:ステートメントをAndroid.lintOptions
内に配置する必要はありませんが、lintを構成しているので、それらをまとめておくと便利です。
checkReleaseBuilds
をfalse
に設定すると、リリースビルドの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
}
(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
}
}
}
それでもlintタスクを動作させたい場合は、次のこともできます。
project.tasks.check.dependsOn.remove("lint")
異なるビルドバリアントがある場合、おそらく、より堅牢なスクリプトソリューションは
afterEvaluate {
Set<Task> result = tasks.findAll { task -> task.name.startsWith('lintVital') }
result.each { Task task ->
task.enabled = false
}
}
次のコードを使用して、Gradleの新しい構成回避APIを使用してすべてのlintタスクを無効にします。
tasks.withType(com.Android.build.gradle.tasks.LintBaseTask).configureEach {
enabled = false
}
(Android Gradleプラグイン3.3.2でテスト済み。)