2016-03-11 15 views
6

Do wszystkich naszych projektów używamy Gradle Wrapper, ale jedno z naszych narzędzi (IntelliJ IDEA) często ponownie uruchamia zadanie opakowania, które zmienia pierwszą linię - komentarz na temat kiedy plik został wygenerowany - za każdym razem, gdy jest uruchamiany. Ta zmiana ma tendencję do dodawania do żądań pobierania, co oznacza, że ​​istnieje duży potencjał dla niepotrzebnych konfliktów scalania.Zapobieganie zmianie właściwości gradle-wrapper.properties przez cały czas

Właściwe rozwiązanie polega na tym, aby wszyscy programiści nigdy nie sprawdzali pliku, chyba że rzeczywiście zmienił się on w znaczący sposób, ale programiści (włącznie z mną) mogą być pochopni i zapominalscy, więc plik pojawia się regularnie w żądaniach pobierania.

Mam kilka pomysłów na rozwiązanie tego problemu, ale nie mogę zdecydować o żadnym z nich.

  1. Bądź Git ignorować pierwszą linię gradle-wrapper.properties jak this, czuje się kłopotliwe i będą musiały być wykonane przez każdego dewelopera, ponieważ jest to lokalny.

  2. Dodaj ogon do Gradle zadania otoki, który usuwa pierwszą linię gradle-wrapper.properties, czuje się nieco hackish.

  3. W jakiś sposób spraw, aby program IDEA nie uruchamiał ponownie zadania opakowania automatycznie za każdym razem, gdy synchronizujemy projekt, nie mamy pojęcia, jak to zrobić.

Pochylam się teraz do 2. teraz, ale chciałbym usłyszeć, czy ktoś jeszcze ma lepsze pomysły.

+2

Jak często używasz zadania opakowującego Gradle i dlaczego? Należy go uruchomić tylko wtedy, gdy chcesz zaktualizować wersję dostarczonej instalacji Gradle. Nigdy nie widziałem, aby IntelliJ zrobił to bez jawnego uruchomienia zadania opakowującego. – cjstehno

+0

IDEA uruchamia zadanie opakowania przed synchronizacją projektu, które musimy wykonać za każdym razem, gdy aktualizujemy lub dodajemy zależności (co zdarza się często, ponieważ używamy wewnętrznych bibliotek do udostępniania modeli danych i niektórych kodów narzędziowych). IDEA jest skonfigurowana do korzystania z opakowania, gdy importujemy projekt jako projekt Gradle. – Raniz

+0

Zastanawiam się, czy jest to ustawienie przy pierwszym uruchomieniu projektu - kiedy po raz pierwszy otwieram projekt Gradle, używam Plik> Otwórz, a następnie akceptuję ustawienia domyślne - być może zmieniasz jedną z nich. Będę musiał otworzyć nowy projekt i zobaczyć, jakie są opcje. To, co opisujemy, nie jest ogólnie domyślnym zachowaniem. Używam Git + Gradle + Intellij i nigdy do tego nie doszło. – cjstehno

Odpowiedz

7

Wydaje się, że wybierając użyć domyślnego Gradle wrapper jest prawidłowa opcja do wyboru podczas importowania projektu Gradle i że Używaj konfigurowalny Gradle opakowanie (Gradle otoki dostosowania w skrypcie, współpracuje z Gradle 1.7 lub nowszej) jest opcja, która powoduje, że IDEA ponownie uruchamia zadanie opakowujące.

+1

Czy to nadal trwa? Nie mogę naprawić problemu, wybierając po prostu domyślne opakowanie programu Gradle podczas importowania. Intellij aktualizuje czas w gradle-wrapper.properties za każdym razem, gdy uruchamiam owijanie gradientem, nawet gdy wybrane jest domyślne opakowanie. – bengro

+0

Wciąż robię to tak w IDEA 2016.3 – Raniz

+0

Dobrze, dobrze wiedzieć, dzięki. Opakowanie ./gradlew również generuje daty, dlatego może to być problem gradulacyjny. Będę dalej badał. – bengro

Powiązane problemy