Gradle enthält die Idee von Konventionen, daher ist dies nicht die Standardordnerstruktur Projekt kann nicht erstellt werden. In Gradle jedoch durch Ändern der Konfiguration und der Eigenschaften Es ist möglich, diese Regeln flexibel zu ändern.
Ändern Sie beispielsweise die Konvention zum Zuweisen von Java-Quellen und -Ressourcen im Hauptquellensatz.
Erstellen Sie dieses Mal ein Projekt mit der folgenden Konfiguration.
Projektstruktur
<project-root>
└ src
├ Mapping.xml
├ app.properties
└ examples
└ Dummy.java
In Gradle befindet sich die Java-Quelle im Verzeichnis src / main / java. Es wird erwartet, dass sich die Ressourcen im Verzeichnis src / main / resources befinden.
Im obigen Projekt sind jedoch sowohl Java-Quellen als auch -Ressourcen im Verzeichnis src gruppiert. Legen Sie daher den Java-Quell- und Ressourcenplatzierungspfad im Build-Skript fest Erstellen Sie ein Projekt, das nicht den Standardkonventionen entspricht.
apply plugin: 'java'
sourceSets {
main {
java {
// sourceSets.main.java.Einstellungen zur Eigenschaft srcDirs hinzugefügt
// =Legen Sie den Speicherort der Java-Quelle fest
srcDir 'src'
}
resources {
// sourceSets.test.java.Einstellungen zur Eigenschaft srcDirs hinzugefügt
// =Legen Sie das Ziel für die Ressourcenplatzierung fest
srcDir 'src'
}
}
}
processResources {
// .Schließen Sie Verzeichnisse, die nur Java-Dateien enthalten, vom Kopieren aus
includeEmptyDirs = false
}
Die Absicht ist eine Einheit zum Gruppieren und Klassifizieren von Abhängigkeiten. In der Realität wird nur der Pfad festgelegt, auf den die Task verweist (= Taskverarbeitungsziel).
Die Java-Plug-In-Konfigurationen umfassen:
Wenn Sie beispielsweise eine Bibliotheksabhängigkeit festlegen möchten, Angenommen, Sie möchten die Ergänzungen der JUnit-Bibliothek nur auf testbezogene Aufgaben anwenden. In diesem Fall müssen die Bibliotheksabhängigkeiten nur für die Aufgabe compileTestJava festgelegt werden Nehmen Sie Einstellungen für die testCompile-Konfiguration vor.
dependencies {
testCompile 'junit:junit:4.11'
}
Sie können einen Quellensatz hinzufügen, indem Sie Folgendes in das Erstellungsskript schreiben.
sourceSets {
exampleSet {
java.srcDir file('src/example/java')
}
Wenn Sie einen Quellensatz hinzufügen, werden die folgenden Konfigurationen automatisch hinzugefügt.
Um die obige Konfiguration festzulegen, schreiben Sie Folgendes in das Build-Skript.
sourceSets {
exampleSet {
compileClasspath = 'src/ex/java'
runtimeClasspath = 'build/ex/classes'
}
}
Wenn Sie einen Quellensatz hinzufügen, werden die folgenden Aufgaben automatisch hinzugefügt.
Im Folgenden wird ein Quellensatz (IntegrationTest) zum Durchführen von Integrationstests hinzugefügt Versuchen Sie, eine Testtyp-Aufgabe hinzuzufügen.
sourceSets {
integrationTest {
//Testcode für Integrationstest (Java-Quelle)Legen Sie das Platzierungsziel von fest
java.srcDir file('src/intTest/java')
//Beziehen Sie sich auf die Ausgabeklasse des Hauptquellensatzes und den Klassenpfad zur Kompilierungszeit des Testquellensatzes zur Kompilierungszeit.
compileClasspath = sourceSets.main.output + configration.testCompile
//Beziehen Sie sich zur Laufzeit auf die eigene Ausgabeklasse, zur Kompilierungszeit auf den Klassenpfad und auf denselben Klassenpfad wie zur Laufzeit des Testquellensatzes
runtimeClasspath = output + compileClasspath + configradion.testCompile
}
}
task doIntegrationTest(type: Test) {
//Testen Sie die Ausgabe des Source Set IntegrationTest
testClassDir = sourceSets.integrationTest.output.classDir
//Legen Sie beim Ausführen des Tests den IntegrationTest runtimeClasspath im Klassenpfad fest
classpath = sourceSets.integrationTest.runtimeClasspath
Dieser Artikel wurde unter Bezugnahme auf die folgenden Bücher geschrieben.
Nachschlagewerk: [Gründliche Einführung in Gradle] Erstellen einer automatisierten Plattform mit Build-Tools der nächsten Generation](https://www.shoeisha.co.jp/book/detail/9784798136431)
Recommended Posts