quelqu'un pourrait-il me dire un moyen d'éviter d'exécuter des "peluches" chaque fois que je cours en gradle check?
J'ai défini dans build.gradle
lintOptions {
quiet true
}
Cependant, il continue de faire cette tâche. Le problème est qu'il faut des âges à chaque fois que je dois faire un contrôle.
gradle build -x lint
Vous pouvez l'ignorer en ajoutant -x lint
lorsque vous exécutez la tâche check
:
./gradlew check -x lint
Si vous voulez le sauter définitivement, vous pouvez l'ajouter à votre build.gradle
avant apply plugin: 'com.Android.application'
:
tasks.whenTaskAdded { task ->
if (task.name.equals("lint")) {
task.enabled = false
}
}
Je viens de désactiver la tâche lors de la configuration du projet:
Android {
lintOptions {
tasks.lint.enabled = false
}
}
Remarque: il n'est pas nécessaire de mettre l'instruction dans Android.lintOptions
, mais comme il configure les peluches, c'est bien de les avoir ensemble.
Réglez checkReleaseBuilds
sur false
désactivera la vérification des peluches lors de la création de la version. Ajoutez les scripts suivants à votre fichier 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, tel que fourni avec Android Studio 1.1.0)
Pour ceux qui se demandent comment faire cela avec plusieurs sous-projets, j'ai fini par devoir les désactiver en utilisant le fichier build.gradle du projet racine comme ceci:
task lintCheck() {
getAllTasks(true).each {
def lintTasks = it.value.findAll { it.name.contains("lint") }
lintTasks.each {
it.enabled = false
}
}
}
Si vous souhaitez toujours que la tâche de nettoyage fonctionne, vous pouvez également:
project.tasks.check.dependsOn.remove("lint")
S'il vous arrive d'avoir différentes variantes de build, une solution de script plus robuste serait peut-être
afterEvaluate {
Set<Task> result = tasks.findAll { task -> task.name.startsWith('lintVital') }
result.each { Task task ->
task.enabled = false
}
}
utilisez ce code pour désactiver toutes les tâches lint à l'aide de la nouvelle API d'évitement de configuration de Gradle:
tasks.withType(com.Android.build.gradle.tasks.LintBaseTask).configureEach {
enabled = false
}
(testé sur Android Plugin Gradle 3.3.2.)