Що таке "проект"?
Можливо, є технічне визначення цієї ідіоми, яке виключає сценарії побудови. Але якщо ми приймаємо це визначення, тоді ми повинні сказати, що ваш "проект" - це не все те, що вам потрібно переосмислити!
Але якщо ми скажемо "ваш проект" - це все, що ви зробили . Тоді ми можемо сказати, що ви повинні включити його і тільки це в VCS.
Це дуже теоретично і, можливо, не практично у випадку наших розробок. Тому ми змінюємо його на " ваш проект - це кожен файл (або папка), який вам потрібно редагувати безпосередньо ".
"безпосередньо" означає "не побічно", а "опосередковано" означає редагування іншого файлу, і тоді ефект буде відображений у цьому файлі .
Таким чином , ми досягаємо того ж , що OP сказав (і , як кажуть тут ):
Я думаю, що згенеровані файли не повинні знаходитись у VCS.
Так. Тому що ви їх не створили. Тож вони не є частиною "вашого проекту" згідно з другим визначенням.
Який результат у цих файлах:
build.gradle : Так. Нам потрібно це відредагувати. Наші роботи повинні бути виокремленими.
Примітка. Немає різниці, де ви їх редагуєте. Чи в середовищі редактора тексту чи в інтерфейсі GUI структури структури . Все одно ви це робите безпосередньо !
gradle-wrapper.properties : Так. Нам потрібно принаймні визначити версію Gradle у цьому файлі.
gradle-wrapper.jar та gradlew [.bat] : Я до цього моменту не створював і не редагував жодної з моїх робіт з розробки! Тож відповідь - «Ні». Якщо ви це зробили, відповідь "Так" про вас на цій роботі (і приблизно того самого файлу, який ви редагували).
Важливе зауваження про останньому випадку це користувач , який клонує ваше сховище, необхідно виконати цю команду на репо<root-directory>
для автоматичного створення обгортки файлів:
> gradle wrapper --gradle-version=$v --distribution-type=$distType
$v
і $distType
визначаються з gradle-wrapper.properties :
distributionUrl=https\://services.gradle.org/distributions/gradle-{$v}-{$distType}.zip
Див. Https://gradle.org/install/ для отримання додаткової інформації.
gradle
виконується bin/gradle[.bat]
в локальному розповсюдженні. Не потрібно, щоб локальний розподіл був таким самим, як визначений у репо. Після створених файлів обгорткиgradlew[.bat]
можна автоматично завантажити визначений розподіл Gradle (якщо він не існує локально). Тоді він / вона, ймовірно, повинен регенерувати обгорткові файли, використовуючи новий gradle
виконуваний файл (у завантаженому дистрибутиві), використовуючи вищезазначені інструкції.
Примітка. У наведених вище інструкціях, припускається, що користувач має принаймні один розподіл Gradle локально (наприклад ~/.gradle/wrapper/dists/gradle-4.10-bin/bg6py687nqv2mbe6e1hdtk57h/gradle-4.10
). Він охоплює майже всі реальні випадки. Але що станеться, якщо користувач вже не має жодного розповсюдження?
Він / вона може завантажити його вручну за допомогою URL-адреси у .properties
файлі. Але якщо він / вона не знайде його на шляху, який очікувала обгортка , обгортка завантажить його знову! Очікуваний шлях є цілком передбачуваним, але є поза темою (дивіться тут найбільш складну частину).
Є також більш прості (але брудні) способи. Наприклад, він / вона може скопіювати обгорткові файли (крім .properties
файлу) з будь-якого іншого локального / віддаленого сховища до свого сховища, а потім запустити gradlew
його в своє сховище. Він автоматично завантажить відповідний дистрибутив.