Dlaczego miałbym uruchomić "gradle clean build" zamiast "gradle build"? Z tego co rozumiem, gradle może wykryć zmiany w źródle i zaktualizować końcowe artefakty, jeśli to konieczne. Dlaczego więc nadal musiałbym "czyścić"?Dlaczego warto uruchomić "czysty grad"?
Odpowiedz
The clean task jest określona przez java plugin i po prostu usuwa folder buildDir, więc wszystko w tym sprzątanie resztek z poprzednich kompilacji, które nie są już istotne. Nieprzestrzeganie tego może spowodować nieczystą kompilację, która może zostać zerwana z powodu artefaktów kompilacji wytworzonych przez poprzednie kompilacje.
Jako przykład załóżmy, że twoja kompilacja zawiera kilka testów, które się nie powiodły i zdecydowałeś, że są one przestarzałe, a zatem muszą zostać usunięte. Bez czyszczenia wyników testu (przy użyciu zadania cleanTest) lub zbudowania w całości (po uruchomieniu czystego zadania) utkniesz z wynikami testów, które nie powiodły się, co spowoduje, że twoja kompilacja się nie powiedzie. Podobne efekty uboczne mogą się zdarzyć również w przypadku zasobów/klas usuniętych ze źródeł, ale pozostały w folderze kompilacji, który nie został oczyszczony.
dzięki za odpowiedź. Jestem świadomy tego, co robi czysty, ale nie znam konkretnego przypadku, kiedy jest użyteczny. Czy możesz podać taki przykład, dla lepszego zrozumienia? Dzięki. –
Pewnie. Załóżmy, że twoja kompilacja zawiera kilka testów, które się nie powiodły, a ty zdecydowałeś, że są one przestarzałe, więc muszą zostać usunięte. Bez czyszczenia wyników testu (przy użyciu zadania cleanTest) lub zbudowania w całości (po uruchomieniu czystego zadania) utkniesz z wynikami testów, które nie powiodły się, co spowoduje, że twoja kompilacja się nie powiedzie. Podobne efekty uboczne mogą się zdarzyć również w przypadku zasobów/klas usuniętych ze źródeł, ale pozostały w folderze kompilacji, który nie został oczyszczony. –
Ma sens. Czy możesz edytować swoją odpowiedź, aby dołączyć ten przykład, aby oznaczyć go jako prawidłowy? –
Inne narzędzia do budowania, takie jak buck, wykryją, że niektóre testy zostały usunięte i nie uruchomią ich bez potrzeby uruchomienia czystego celu. Myślę, że to pułapka gradle.
To jest najczęściej niedokładne, Gradle ma śledzenie wejścia i wyjścia i prawie wszystkie zadania mogą obsłużyć tę sprawę. – mkobit
- 1. Dlaczego warto używać Gradle?
- 2. Dlaczego warto uruchomić program Visual Studio jako "Uruchom jako administrator"?
- 3. Dlaczego warto używać QObject :: setObjectName()?
- 4. Dlaczego warto blokować wątki?
- 5. Dlaczego warto używać NSAutoreleasePool?
- 6. Dlaczego warto używać shm_open?
- 7. Dlaczego warto etykietować filtry intencyjne?
- 8. Dlaczego warto korzystać z LabVIEW?
- 9. Dlaczego warto używać angularfire $ destroy()?
- 10. Dlaczego warto używać JIT UNITVERSIONING?
- 11. Dlaczego warto korzystać z wydarzeń?
- 12. Dlaczego warto używać AsynchronousFileChannel Java?
- 13. Dlaczego warto korzystać z @PostConstruct?
- 14. Dlaczego warto korzystać z Asprintf?
- 15. Dlaczego warto korzystać z DialogFragment?
- 16. Dlaczego warto używać wzorca konstruktora?
- 17. Dlaczego warto zbudować kostkę SSAS?
- 18. Dlaczego warto korzystać z dict.keys?
- 19. Dlaczego warto przedłużyć listę pytonów?
- 20. Dlaczego warto używać aliasingów klas?
- 21. Dlaczego warto zastąpić prywatne dziedziczenie?
- 22. ReactJS: Dlaczego warto używać this.props.children?
- 23. Dlaczego czysty kod zabronić else wyrażenie
- 24. Jak korzystać z wtyczki test-grad-android
- 25. Dlaczego warto używać ROLAP zamiast zwykłego MySQL?
- 26. Dlaczego warto używać Celery zamiast RabbitMQ?
- 27. Dlaczego warto używać argparse zamiast optparse?
- 28. Dlaczego warto skorzystać z funkcji wykonywania poleceń?
- 29. Dlaczego warto użyć SwingUtilities.invokeLater w głównej metodzie?
- 30. Dlaczego warto korzystać z @property w D?
Aby upewnić się, że otrzymywane błędy nie pochodzą z niewłaściwego indeksowania według gradle. Lub jeśli dodałeś nowe biblioteki, które zmieniają każdą zależność. – Tschallacka
"Gradel czysta kompilacja" pomaga usunąć wszystkie zależności, które zostały wygenerowane podczas ostatniej kompilacji i uzyskać nowe zależności od serwera i zbudować projekt. Dzięki – Naitik
@Naitik, to nieprawda. – Opal