Gradle incorpore l'idée de conventions, donc ce n'est pas la structure de dossier par défaut Impossible de créer le projet. Cependant, dans Gradle, en modifiant la configuration et les propriétés Il est possible de modifier ces règles de manière flexible.
À titre d'exemple, modifiez la convention d'allocation des sources et des ressources Java dans l'ensemble de sources principal.
Cette fois, créez un projet avec la configuration suivante.
Structure du projet
<project-root>
└ src
├ Mapping.xml
├ app.properties
└ examples
└ Dummy.java
Dans Gradle, la source Java se trouve dans le répertoire src / main / java, Les ressources devraient se trouver dans le répertoire src / main / resources.
Cependant, dans le projet ci-dessus, les sources et les ressources Java sont regroupées dans le répertoire src. Par conséquent, en définissant la source Java et le chemin de placement des ressources dans le script de construction Créez un projet qui ne respecte pas les conventions par défaut.
apply plugin: 'java'
sourceSets {
main {
java {
// sourceSets.main.java.Ajout de paramètres à la propriété srcDirs
// =Définir l'emplacement de la source Java
srcDir 'src'
}
resources {
// sourceSets.test.java.Ajout de paramètres à la propriété srcDirs
// =Définir la destination de l'emplacement des ressources
srcDir 'src'
}
}
}
processResources {
// .Exclure les répertoires qui ne contiennent rien d'autre que des fichiers java de la copie
includeEmptyDirs = false
}
L'intention est une unité de regroupement et de classification des dépendances. En réalité, seul le chemin référencé par la tâche (= cible de traitement de la tâche) est défini.
Les configurations de plug-in Java incluent:
Par exemple, si vous souhaitez définir une dépendance de bibliothèque, Supposons que vous souhaitiez appliquer les ajouts de bibliothèque JUnit uniquement aux tâches liées aux tests. Dans ce cas, pour définir les dépendances de bibliothèque uniquement pour la tâche compileTestJava Définissez les paramètres de la configuration testCompile.
dependencies {
testCompile 'junit:junit:4.11'
}
Vous pouvez ajouter un ensemble de sources en écrivant ce qui suit dans le script de construction.
sourceSets {
exampleSet {
java.srcDir file('src/example/java')
}
Lorsque vous ajoutez un ensemble source, les configurations suivantes sont automatiquement ajoutées.
Pour définir la configuration ci-dessus, écrivez ce qui suit dans le script de construction.
sourceSets {
exampleSet {
compileClasspath = 'src/ex/java'
runtimeClasspath = 'build/ex/classes'
}
}
Lorsque vous ajoutez un ensemble source, les tâches suivantes sont automatiquement ajoutées.
Ci-dessous, par l'ajout d'un ensemble source (integrationTest) pour effectuer des tests d'intégration Essayez d'ajouter une tâche de type Test.
sourceSets {
integrationTest {
//Code de test pour le test d'intégration (source Java)Définir la destination de l'emplacement de
java.srcDir file('src/intTest/java')
//Reportez-vous à la classe de sortie du jeu de sources principal et au chemin de classe au moment de la compilation du jeu de sources de test au moment de la compilation.
compileClasspath = sourceSets.main.output + configration.testCompile
//Se référer à sa propre classe de sortie au moment de l'exécution, au chemin de classe au moment de la compilation et au même chemin de classe qu'au moment de l'exécution de l'ensemble de sources de test
runtimeClasspath = output + compileClasspath + configradion.testCompile
}
}
task doIntegrationTest(type: Test) {
//Tester la sortie de l'intégration de l'ensemble source
testClassDir = sourceSets.integrationTest.output.classDir
//Définissez le chemin d'exécution IntegrationTest dans le chemin de classe lors de l'exécution du test
classpath = sourceSets.integrationTest.runtimeClasspath
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