2

Я ищу способ временно отключить ошибку lint или запланировать ошибку после определенной даты или условия.Как запланировать ошибку `lint` (update: use papercut)

Вот некоторый контекст:

У меня есть андроид приложение, которое транслируется на несколько языков, и я поставил его так, что lint завершается с ошибкой, если есть недостающие переводы. Очевидно, это делается так, что нетранслируемые строки не убегают в дикую природу. Всякий раз, когда есть новый ресурс string, требуется некоторое время, пока он не будет переведен, в течение которого lint не удастся. Это может быть подавлено или строки могут быть отмечены как непереводимые, но это превосходит цель проверки в первую очередь.

Помимо этого контекста существует множество случаев, когда конкретная настройка является «временной». Мне не нравится вспоминать, чтобы откидывать каждый переключатель.

Сборка на сервере CI часто происходит, и это происходит в команде, где любой может «временно» игнорировать предупреждения. Есть ли автоматический способ удостовериться, что при выпуске ничего не игнорируют?

Update: Так Задавая этот вопрос, кто-то разработали библиотеку, которая делает именно то, что я просил и больше: https://github.com/Stuie/papercut

ответ

3

Я не знаю, как вы determin, когда пришло время, чтобы де/активировать пух , Но, может быть, это поможет:
Вы можете переключать Lint вкл/выкл с булевому в Gradle сценария:

android { 
    lintOptions { 
    if (lintOn){ 
    checkReleaseBuilds true 
    abortOnError true 
    } else { 
    checkReleaseBuilds false 
    abortOnError false 
    } 
} 
} 

Добавить lintOn=false своим gradle.properties, иначе Gradle не распознает его как переменную.
Теперь вы Cann добавить задачу и сделать его запустить перед задачей сборки:

task preBuild << { 
    // do stuff to determin if lint should run 
    lintOn = true 
} 
build.dependsOn preBuild 

В этой preBuild задаче теперь вы можете реализовать код, чтобы проверить, следует ли запускать пух или нет.
Here - вот несколько хороших примеров того, что может сделать задача.