Pour créer un projet Java avec Gradle, vous avez besoin d'un plug-in Java. Pour appliquer le plug-in, écrivez ce qui suit dans build.gradle.
build.gradle
apply plugin: 'java'
Le plug-in Java comporte quatre éléments, «tâche», «convention», «propriété» et «ensemble de sources». C'est un composant packagé. En découvrant chaque élément, vous comprendrez comment la construction avec des plug-ins Java fonctionne.
Un ensemble source est un concept qui regroupe ** des objets qui doivent être compilés en même temps **. Par défaut pour les plugins Java
--main: un ensemble source de code de production et de ressources de production --test: un ensemble source de code de test et de ressources de test
Nous fournissons les deux ensembles de sources ci-dessus.
Le code source a les caractéristiques suivantes.
--Peut être ajouté librement avec le script de construction --A un nom unique
Dans Gradle, lorsque vous ajoutez un plug-in, le travail requis pour la construction est ajouté en tant que tâche en même temps. Les tâches suivantes sont également ajoutées au plug-in Java.
tâche | La description |
---|---|
compileJava | Compilez le code de production. La cible est java de l'ensemble de sources main.L'extension stockée dans le répertoire spécifié par la propriété srcDirs.fichier java. |
processResources | Copiez les ressources du code de production dans le chemin de classe. La cible est les ressources de l'ensemble source main.L'extension stockée dans le répertoire spécifié par la propriété srcDirs.Fichiers autres que java. |
classes | Exécutez les tâches compileJava et processResources. |
compileTestJava | Se comporte comme une tâche Java de compilation pour le test de l'ensemble de sources. |
processTestResources | Se comporte de la même manière que la tâche processResources pour le test de l'ensemble source. |
testClasses | Exécutez les tâches compileTestJava et processTestResources. |
jar | Générez un fichier JAR. La cible d'archivage par défaut est la propriété de sortie de l'ensemble de sources principal.(Sortie de la tâche compileJava et processResources) |
javadoc | Sortie Javadoc du jeu de sources principal. |
test | test Exécute les tests contenus dans l'ensemble source. Par défaut, la cible de test est automatiquement extraite de la sortie de la tâche testClasses. |
uploadArchives | Artefact(Construire des artefacts)Téléchargez l'archive de. |
clean | Supprimez la sortie de construction. Par défaut, le répertoire de construction est supprimé. |
clean <TaskName> | Tâche spécifiée<TaskName>Supprimez uniquement la sortie de. |
assemble | Générez des artefacts appropriés en fonction du contenu du projet sans exécuter de tests. Le plug-in Java utilise par défaut la tâche jar. |
check | Vérifiez le projet. Le plug-in Java utilise par défaut la tâche de test. |
build | Construisez le projet. Exécutez les tâches de vérification et d'assemblage. |
buildNeeded | Construisez non seulement le projet à générer, mais également le projet pour lequel des dépendances ont été définies. |
buildDependents | Build, y compris les projets qui dépendent du projet à construire. |
Dans le plug-in Java, lorsque vous ajoutez un ensemble source Les tâches suivantes sont automatiquement ajoutées pour chaque ensemble de sources.
La convention est "Dans un projet Java, placez les fichiers Java dans le répertoire src / main / java" C'est une promesse comme ça. Les plug-ins Java ont les conventions suivantes.
--Fichier source du code de production → Placez-le sous le répertoire src / main / java
Les propriétés sont définies pour contrôler la cible d'entrée / sortie des tâches et le répertoire des conventions.
Propriétés fournies par l'objet Project.
Propriété | La description | Défaut |
---|---|---|
testResultDir | Destination de sortie du fichier XML du résultat du test | build/test-results |
testReportDir | Rapport de test(HTML)Destination de sortie | build/reports/tests |
libsDir | Bibliothèque(Fichier JAR)Destination de sortie | build/libs |
distDir | Distribution(Archives autres que les fichiers JAR)Destination de sortie | build/distributions |
docsDir | Destination de sortie de document telle que Javadoc | build/docs |
sourceSets | Ensemble de sources de projet | principal, conteneur de l'ensemble de sources de test |
sourceCompatibility | Version Java lors de la compilation de la source Java | Version JVM de l'environnement d'exécution du script de construction |
targetCompatibility | Version Java à cibler pour la génération de classe au moment de la compilation | valeur de sourceCompatibility |
archivesBaseName | Nom de base des fichiers d'archive tels que JAR | project.La valeur de la propriété name(La valeur par défaut est le nom du répertoire racine du projet) |
manifest | Manifeste à inclure dans tous les fichiers JAR | Aucun |
Accès aux propriétés dans les scripts de construction
println project.docsDir
println docsDir
Propriétés fournies par la propriété sourceSets de l'objet Project.
Propriété | La description | Défaut |
---|---|---|
name | Nom du jeu de sources. Doit être unique au sein du projet | Aucun |
output | Sortie du jeu de sources | output.classDir、output.valeur de la propriété resourceDir |
output.classDir | Destination de sortie du fichier de classe de l'ensemble source | build/classes/<sourceSet> |
output.resourcesDir | Destination de sortie des ressources de l'ensemble de sources | build/resources/<sourceSet> |
compileClasspath | Chemin de classe au moment de la compilation de l'ensemble de sources | Compilation de configuration<SourceSet>Valeur de réglage de |
runtimeClasspath | Chemin d'accès aux classes d'exécution de l'ensemble de sources | propriété de sortie, exécution de la configuration<sourceSet>Valeur de réglage de |
java | Toutes les sources Java de l'ensemble de sources | src/<sourceSet>/L'extension sous java est.fichier java |
java.srcDirs | Répertoire contenant les sources Java pour l'ensemble de sources | src/<sourceSet>/java |
resources | Toutes les ressources de l'ensemble source | src/<sourceSet>/L'extension sous ressources est.Fichiers non java |
resources.srcDirs | Répertoire contenant les ressources de l'ensemble source | src/<sourceSet>/resources |
allJava | Toutes les sources Java de l'ensemble de sources | paramètre de propriété Java(Sous réserve de modifications en raison de l'application du plug-in) |
allSource | Toutes les sources et ressources Java de l'ensemble de sources | java, paramètres de propriété des ressources(Sous réserve de modifications en raison de l'application du plug-in) |
Accès aux propriétés dans les scripts de construction
println project.sourceSets.test.compileClasspath
println sourceSets.test.compileClasspath
println sourceSets['test'].compileClasspath
Cet article est rédigé en référence aux livres suivants.
Ouvrage de référence: [Présentation approfondie de Gradle] Construire une plate-forme automatisée avec des outils de construction de nouvelle génération](https://www.shoeisha.co.jp/book/detail/9784798136431)
Recommended Posts