2015-09-01 18 views
6

Co chcę osiągnąć:dla „sonar.libraries” w nowoczesnym projektu Gradle Android

W sonar możliwe jest śledzenie zależności osób trzecich użyte w projektach poprzez ustawienie właściwości „sonar.libraries "i być może jest więcej korzyści

Co próbowałem zrobić (jak wykrywania naruszeń, które są spowodowane przez zewnętrznych bibliotek?):

ustawić wartość build/intermediates/pre-dexed/debug/*.jar ale to wydaje się mało ef fect.

Pytanie:

Since it is no longer needed to use the "libs" folder for third party dependencies, co jest zalecenie dla nieruchomości o nazwie "sonar.libraries"?

Odpowiedz

4

Musimy wdrożyć specjalne przetwarzanie po wykryciu projektu Android. Prawidłowe ustawienie sonar.java.libraries jest jednym z wymagań. Bilet już istnieje, możesz zagłosować lub dostarczyć prośbę o odłożenie. https://jira.sonarsource.com/browse/SONARGRADL-6

Aktualizacja: wydaliśmy w wersji 2.1 wtyczki (currently RC2), który natywnie obsługuje projekty Android. Właściwości sonar.java.[test.]binaries i sonar.java.[test.]libraries zostaną automatycznie wypełnione.

+0

Świetnie! A co z własnością 'sonar.java.test.binaries' i' sonar.java.version'? – Alix

+0

@Alix Są one również obsługiwane, zaktualizuję moją odpowiedź. –

+0

Więc nie trzeba już określać sonar.java.version? – Alix

1

Folder sprzed deksu również wydawał mi się idealnym kandydatem. Niestety, jeśli zajrzysz do słoików w tym folderze, zobaczysz, że nie zawierają skompilowanych klas, ale pliki dex. Plik dx będący "plikiem wykonywalnym dalvik", to materiał dla systemu Android, a Sonar nie może nic z tym zrobić.

udało mi się odwoływać trochę z moich uzależnień, deklarując build/intermediates/exploded-aar/**/*.jar w nieruchomości sonar.libraries.

Dzięki tej linii zobaczysz wszystkie "librairies na Androida" (aar), od których zależy twój projekt. Jeszcze nie udało mi się śledzić wszystkich innych libraires zwykłego java (jar)

+0

Pliki aar powinny mieć plik classes.jar na poziomie katalogu głównego, nic nie powinno być edytowane. – bmg

+0

@bmg: koleś, po prostu przeczytaj pytanie i odpowiedź, zanim przypomnisz nam, że aar zawiera .jar i res/folder;) – ldavin

+0

Lol my bad; alternatywą może być wyodrębnienie wszystkich zależności aar i dodanie wyodrębnionych plików JAR do właściwości 'sonar.java.libraries'. – bmg

Powiązane problemy