Próbuję spowodować, że moja ciągła integracja nie powiedzie się, gdy zostaną wprowadzone nowe ostrzeżenia o kłaczkach, których nie ma w pliku lint-baseline.xml
. Chcę, aby wszystkie ostrzeżenia o lintach były traktowane jako błędy (więc kompilacja jest przerywana), ale chciałbym, aby sposób określania niektórych sprawdzeń lint traktować jako poziom informacyjny lub ostrzegawczy, tak aby nadal pojawiały się w wynikach szarpie, ale nie nie powodują przerwania kompilacji.Android - ustaw wszystkie ostrzeżenia o lintach jako błędy, z wyjątkiem pewnych
Oto przykład zasadzie to, co chciałbym zrobić (oprócz tego nie działa, kompilacja nie powiedzie się, jeśli istnieje jakieś non-zignorował ostrzeżenia):
lintOptions {
lintConfig file("lint.xml")
baseline file("lint-baseline.xml")
checkAllWarnings true
warningsAsErrors true
abortOnError true
informational 'MissingTranslation, ...' // don't fail the build for these
}
Czy istnieje prosty sposób traktować wszystkie sprawdzenia kłaczków jako błędy, z wyjątkiem niektórych? Pomyślałem o ręcznym ustawieniu wszystkich ponad 200 kontroli lint do poziomu błędu, ale to nie byłoby zbyt przyszłe, ponieważ musiałbym aktualizować listę za każdym razem, gdy dodawano nowe kontrole lint.
Problem polega chcę ostrzeżenia, aby nadal być oznaczone w IDE i jeśli to możliwe, także w Android wyników kontroli studio. Szuka sposobu, aby kompilacje ciągłej integracji zawiodły po wprowadzeniu nowych ostrzeżeń o lintach, z możliwością wyznaczania pewnych ostrzeżeń, które nie powinny zawieść kompilacji. Nie chcę jednak, aby te ostrzeżenia zostały całkowicie zignorowane lub wyłączone. – starkej2
Ignore wydaje się być słabszą wersją disable - uruchamia się, ale nie zawiedzie kompilacji, dlatego powinna się logować. czy to nie wystarczy, gdy wszystkie testy są włączone? A może zrozumiałem znaczenie ignorowania? –
Myślę, że zignorowanie uniemożliwia sprawdzenie linta. Nie widzę ignorowanych ostrzeżeń o lintach w Android Studio lub wyników lint. – starkej2