To jest poprawna odpowiedź. „Gromadzenie stopni” pominie także wiele innych zadań. Zobacz ten schemat, aby uzyskać pomysł. W przypadku typowych rzeczywistych wersji „stopniowy montaż” pominie jeszcze więcej zadań.
Działa, chociaż może być konieczne dodanie np . -x integTestItd -DskipTests. , Więc nie jest tak wygodny jak koc Mavena .
Jesse Glick,
1
@c_maker, Jak wykonać to z zaćmienia?
rinuthomaz
Czy można wykonać plik klasy? Mam na myśli to, runże widzę efekt mojego programu Hello. Ale myślę, że wszystko kompiluje ponownie. Chciałbym tylko uruchomić program Java.
Sigur,
107
Próbować:
gradle assemble
Aby wyświetlić listę wszystkich dostępnych zadań dla twojego projektu, spróbuj:
gradle tasks
AKTUALIZACJA:
Na początku może to nie wydawać się najbardziej poprawna odpowiedź, ale uważnie przeczytaj gradle taskswyniki lub dokumenty.
Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
Jako dodatkowa wskazówka w przypadku debugowania testów jednostkowych: gradle assemblenie skompiluje głównych plików. Jeśli pracujesz nad naprawą testu jednostkowego, potrzebujesz gradle assemble testClasses- myślę, że nazewnictwo zadania kompilacji jest dość mylące.
Martin
36
Przyjęta odpowiedź jest poprawna.
OTOH, sposobem, w jaki wcześniej to rozwiązałem, było dodanie następujących elementów do wszystkich projektów:
Dla mnie jest to nadal jedyna działająca opcja, ponieważ test -x wydaje się działać tylko na początkowym projekcie, ale nie na zależności w kompilacji wielu projektów (testowane w klasie 2.1). Umieść test.onlyif ... w bloku configure (podprojekty.findAll {javaProjects.contains (it.name)}) {} w głównym pliku build.gradle i będzie działał dla wszystkich projektów.
timm
Dobry. Ten sposób jest znany użytkownikom maven.
AlexR
23
Możesz dodać następujące wiersze build.gradle, **/*wykluczając wszystkie testy.
prześlij zrzut ekranu strony. nie wiem, gdzie umieścić ten wiersz kodu ....
Hossein Mansouri,
Ten fragment kodu powinien znaleźć się w twoim build.gradle :)
Suganthan Madhavan Pillai 28.04.17
2
innym sposobem wyłączenia zadań testowych w projekcie jest:
tasks.withType(Test) {enabled = false}
takie zachowanie jest czasami potrzebne, jeśli chcesz wyłączyć testy w jednym projekcie (lub grupie projektów).
W ten sposób działa na wszelkiego rodzaju zadania testowe, a nie tylko na „testach” java. Również ta droga jest bezpieczna. Oto, co mam na myśli, powiedzmy: masz zestaw projektów w różnych językach: jeśli spróbujemy dodać tego rodzaju zapis w głównym build.gradle:
@KirankumarDafda - nie. Możesz opublikować odpowiedź w dowolnym momencie, nawet jeśli istniejąca odpowiedź została zaakceptowana. Nowa odpowiedź może być lepsza niż odpowiedź zaakceptowana lub rozwiązać ją w inny sposób lub w inny sposób pomóc innym. Z recenzji .
Wai Ha Lee,
@WaiHaLee Nie mogę edytować mojego komentarza, ale ponieważ otrzymałem sugestie dla nowych użytkowników, chciałem wyjaśnić, że staram się dodawać odpowiedzi z dodatkowymi wyjaśnieniami, aby inny użytkownik mógł sprawdzić, czy ta odpowiedź lub kod jest dla nich pomocny.
$ gradle tasks
Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
testClasses - Assembles test classes.
Verification tasks
------------------
test - Runs the unit tests.
-DskipTests
jest dla MavenOdpowiedzi:
Powinieneś użyć
-x
argumentu wiersza poleceń, który wyklucza dowolne zadanie.Próbować:
Aktualizacja:
Link w komentarzu Piotra zmienił się. Oto schemat z podręcznika użytkownika Gradle
źródło
-x integTest
Itd-DskipTests
. , Więc nie jest tak wygodny jak koc Mavena .run
że widzę efekt mojego programu Hello. Ale myślę, że wszystko kompiluje ponownie. Chciałbym tylko uruchomić program Java.Próbować:
Aby wyświetlić listę wszystkich dostępnych zadań dla twojego projektu, spróbuj:
AKTUALIZACJA:
Na początku może to nie wydawać się najbardziej poprawna odpowiedź, ale uważnie przeczytaj
gradle tasks
wyniki lub dokumenty.źródło
gradle assemble
nie skompiluje głównych plików. Jeśli pracujesz nad naprawą testu jednostkowego, potrzebujeszgradle assemble testClasses
- myślę, że nazewnictwo zadania kompilacji jest dość mylące.Przyjęta odpowiedź jest poprawna.
OTOH, sposobem, w jaki wcześniej to rozwiązałem, było dodanie następujących elementów do wszystkich projektów:
Uruchom kompilację za pomocą,
-Dskip.tests=true
a wszystkie zadania testowe zostaną pominięte.źródło
Możesz dodać następujące wiersze
build.gradle
,**/*
wykluczając wszystkie testy.źródło
Możesz wykluczyć zadania
https://docs.gradle.org/current/userguide/command_line_interface.html#sec:command_line_executing_tasks
źródło
Odniesienie
Aby wykluczyć dowolne zadanie ze stopni, użyj
-x
opcji wiersza polecenia. Zobacz poniższy przykładWyjście:
gradle -q dist -x runningTest
Mam nadzieję, że to da ci podstawy
źródło
innym sposobem wyłączenia zadań testowych w projekcie jest:
takie zachowanie jest czasami potrzebne, jeśli chcesz wyłączyć testy w jednym projekcie (lub grupie projektów).
W ten sposób działa na wszelkiego rodzaju zadania testowe, a nie tylko na „testach” java. Również ta droga jest bezpieczna. Oto, co mam na myśli, powiedzmy: masz zestaw projektów w różnych językach: jeśli spróbujemy dodać tego rodzaju zapis w głównym
build.gradle
:poniesiemy porażkę w projekcie, jeśli nie będziemy mieli zadania zwanego testami
źródło
Korzystanie z
-x test
pomijania wykonywania testu, ale wyklucza to również kompilację kodu testowego.W naszym przypadku mamy proces CI / CD, w którym jednym celem jest kompilacja, a kolejnym testowanie (kompilacja -> test).
Tak więc dla naszego pierwszego
Build
celu chcieliśmy zapewnić, aby cały projekt był dobrze skompilowany. W tym celu wykorzystaliśmy:Przy kolejnym celu po prostu przeprowadzamy testy.
źródło
Jeśli Twoja maszyna ma wiele rdzeni. Jednak nie zaleca się używania czyszczenia równoległego.
źródło
Spróbuj tego:
gradlew -DskipTests=true build
źródło
We wtyczce Java :
Wersja Gradle bez testu masz dwie opcje:
ale jeśli chcesz wykonać test kompilacji:
źródło