Qu'est-ce que le «projet»?
Il existe peut-être une définition technique de cet idiome qui exclut les scripts de construction. Mais si nous acceptons cette définition, alors nous devons dire que votre "projet" n'est pas tout ce dont vous avez besoin pour versionner!
Mais si nous disons "votre projet", c'est tout ce que vous avez fait . Ensuite, nous pouvons dire que vous devez l'inclure et seulement cela dans VCS.
Ceci est très théorique et peut-être pas pratique dans le cas de nos travaux de développement. Nous le changeons donc en " votre projet est tous les fichiers (ou dossiers) dont vous avez besoin pour les éditer directement ".
«directement» signifie «pas indirectement» et «indirectement» signifie en éditant un autre fichier et un effet sera alors reflété dans ce fichier .
Nous arrivons donc à la même chose qu'OP a dit (et est dit ici ):
Je pense que les fichiers générés ne devraient pas être dans le VCS.
Oui. Parce que vous ne les avez pas créés. Ils ne font donc pas partie de "votre projet" selon la deuxième définition.
Quel est le résultat de ces fichiers:
build.gradle : Oui. Nous devons le modifier. Nos travaux doivent être versionnés.
Remarque: il n'y a aucune différence là où vous le modifiez. Que ce soit dans votre environnement d'éditeur de texte ou dans l' environnement GUI de la structure de projet . Quoi qu'il en soit, vous le faites directement !
gradle-wrapper.properties : Oui. Nous devons au moins déterminer la version de Gradle dans ce fichier.
gradle-wrapper.jar et gradlew [.bat] : Je ne les ai pas créés ou modifiés dans aucun de mes travaux de développement, jusqu'à ce moment! Donc la réponse est non". Si vous l'avez fait, la réponse est "Oui" à propos de vous à ce travail (et du même fichier que vous avez édité).
La note importante concernant le dernier cas est que l'utilisateur qui clone votre dépôt doit exécuter cette commande sur les dépôts<root-directory>
pour générer automatiquement des fichiers wrapper:
> gradle wrapper --gradle-version=$v --distribution-type=$distType
$v
et $distType
sont déterminés à partir de gradle-wrapper.properties :
distributionUrl=https\://services.gradle.org/distributions/gradle-{$v}-{$distType}.zip
Voir https://gradle.org/install/ pour plus d'informations.
gradle
l'exécutable est bin/gradle[.bat]
en distribution locale. Il n'est pas nécessaire que la distribution locale soit la même que celle déterminée dans le repo. Une fois les fichiers wrapper créés, vous gradlew[.bat]
pouvez télécharger automatiquement la distribution Gradle déterminée (si elle n'existe pas localement). Ensuite, il / elle doit probablement régénérer les fichiers wrapper en utilisant le nouvel gradle
exécutable (dans la distribution téléchargée) en utilisant les instructions ci-dessus.
Remarque: Dans les instructions ci-dessus, on suppose que l'utilisateur a au moins une distribution Gradle localement (par exemple ~/.gradle/wrapper/dists/gradle-4.10-bin/bg6py687nqv2mbe6e1hdtk57h/gradle-4.10
). Il couvre presque tous les cas réels. Mais que se passe-t-il si l'utilisateur n'a déjà aucune distribution?
Il / Elle peut le télécharger manuellement en utilisant l'URL dans le .properties
fichier. Mais s'il / elle n'a pas le localiser dans le chemin que l' emballage prévu, l' emballage sera le télécharger à nouveau! Le chemin attendu est complètement prévisible mais est hors du sujet (voir ici pour la partie la plus complexe).
Il existe également des moyens plus faciles (mais sales). Par exemple, il / elle peut copier des fichiers wrapper (à l'exception du .properties
fichier) de n'importe quel autre référentiel local / distant vers son référentiel, puis les exécuter gradlew
sur son référentiel. Il téléchargera automatiquement la distribution appropriée.