web-dev-qa-db-fra.com

éviter les peluches lorsque gradle exécute la vérification

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.

29
Jose M Lechon
gradle build -x lint 

Source: Gradle User Guide: Excluding Tasks

70
kukido

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
    }
}
32
rciovati

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.

16
TWiStErRob

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
}
7
codezjx

(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
        }
    }
}
4
Zenel

Si vous souhaitez toujours que la tâche de nettoyage fonctionne, vous pouvez également:

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

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
  }
}
0
Sebastiano

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.)

0
Lanchon