Um ein Java-Projekt mit Gradle zu erstellen, benötigen Sie ein Java-Plug-In. Um das Plug-In anzuwenden, schreiben Sie Folgendes in build.gradle.
build.gradle
apply plugin: 'java'
Das Java-Plug-In enthält vier Elemente: "Task", "Konvention", "Eigenschaft" und "Quellensatz". Es ist eine verpackte Komponente. Wenn Sie sich mit den einzelnen Elementen vertraut machen, werden Sie verstehen, wie das Erstellen mit Java-Plug-Ins funktioniert.
Ein Quellensatz ist ein Konzept, das ** Objekte gruppiert, die gleichzeitig kompiliert werden sollen **. Standardmäßig für Java-Plugins
--main: Ein Quellensatz von Produktionscode und Produktionsressourcen --test: Ein Quellensatz aus Testcode und Testressourcen
Wir bieten die beiden oben genannten Quellensätze an.
Der Quellcode verfügt über die folgenden Funktionen.
Wenn Sie in Gradle ein Plug-In hinzufügen, wird die zum Erstellen erforderliche Arbeit gleichzeitig als Aufgabe hinzugefügt. Die folgenden Aufgaben werden auch dem Java-Plug-In hinzugefügt.
Aufgabe | Erläuterung |
---|---|
compileJava | Kompilieren Sie den Produktionscode. Das Ziel ist Java des Quellensatzes main.Die Erweiterung, die in dem von der Eigenschaft srcDirs angegebenen Verzeichnis gespeichert ist.Java-Datei. |
processResources | Kopieren Sie die Produktionscode-Ressourcen in den Klassenpfad. Das Ziel sind Ressourcen des Quellensatzes main.Die Erweiterung, die in dem durch die Eigenschaft srcDirs angegebenen Verzeichnis gespeichert ist.Andere Dateien als Java. |
classes | Führen Sie die Aufgaben compileJava und processResources aus. |
compileTestJava | Verhält sich wie die compileJava-Task für den Quellensatztest. |
processTestResources | Verhält sich wie die processResources-Task für den Quellensatztest. |
testClasses | Führen Sie die Aufgaben compileTestJava und processTestResources aus. |
jar | Generieren Sie eine JAR-Datei. Das Standardarchivziel ist die Ausgabeeigenschaft des Hauptquellensatzes.(Ausgabe der Task compileJava und processResources) |
javadoc | Javadoc des Hauptquellensatzes ausgeben. |
test | test Führt die im Quellensatz enthaltenen Tests aus. Standardmäßig wird das Testziel automatisch aus der Ausgabe der Aufgabe testClasses extrahiert. |
uploadArchives | Artefakt(Baue Artefakte)Laden Sie das Archiv von hoch. |
clean | Löschen Sie die Build-Ausgabe. Standardmäßig wird das Build-Verzeichnis gelöscht. |
clean <TaskName> | Angegebene Aufgabe<TaskName>Löschen Sie nur die Ausgabe von. |
assemble | Generieren Sie je nach Projektinhalt geeignete Artefakte, ohne Tests auszuführen. Das Java-Plug-In verwendet standardmäßig die JAR-Task. |
check | Überprüfen Sie das Projekt. Das Java-Plug-In verwendet standardmäßig die Testaufgabe. |
build | Erstellen Sie das Projekt. Führen Sie die Prüfung durch und stellen Sie Aufgaben zusammen. |
buildNeeded | Erstellen Sie nicht nur das zu erstellende Projekt, sondern auch das Projekt, für das Abhängigkeiten festgelegt wurden. |
buildDependents | Erstellen, einschließlich Projekte, die vom zu erstellenden Projekt abhängen. |
Im Java-Plug-In, wenn Sie einen Quellensatz hinzufügen Die folgenden Aufgaben werden automatisch für jeden Quellensatz hinzugefügt.
Die Konvention lautet "Platzieren Sie in einem Java-Projekt Java-Dateien im Verzeichnis src / main / java". Es ist so ein Versprechen. Java-Plug-Ins haben die folgenden Konventionen.
--Produktionscode-Quelldatei → Legen Sie es im Verzeichnis src / main / java ab
Eigenschaften werden festgelegt, um das Eingabe- / Ausgabeziel von Aufgaben und das Verzeichnis von Konventionen zu steuern.
Vom Projektobjekt bereitgestellte Eigenschaften.
Eigentum | Erläuterung | Standard |
---|---|---|
testResultDir | Ausgabeziel der XML-Datei des Testergebnisses | build/test-results |
testReportDir | Testbericht(HTML)Ausgabeziel | build/reports/tests |
libsDir | Bibliothek(JAR-Datei)Ausgabeziel | build/libs |
distDir | Verteilung(Andere Archive als JAR-Dateien)Ausgabeziel | build/distributions |
docsDir | Dokumentausgabeziel wie Javadoc | build/docs |
sourceSets | Projektquellensatz | Hauptcontainer für Testquellensätze |
sourceCompatibility | Java-Version beim Kompilieren der Java-Quelle | JVM-Version der Build-Skript-Ausführungsumgebung |
targetCompatibility | Java-Version für die Klassengenerierung zur Kompilierungszeit | Wert von sourceCompatibility |
archivesBaseName | Basisname von Archivdateien wie JAR | project.Der Wert der Eigenschaft name(Der Standardwert ist der Stammverzeichnisname des Projekts) |
manifest | Manifest, das in alle JAR-Dateien aufgenommen werden soll | Keiner |
Zugriff auf Eigenschaften in Build-Skripten
println project.docsDir
println docsDir
Eigenschaften, die von der sourceSets-Eigenschaft des Project-Objekts bereitgestellt werden.
Eigentum | Erläuterung | Standard |
---|---|---|
name | Name des Quellensatzes. Muss innerhalb des Projekts eindeutig sein | Keiner |
output | Ausgang des Quellensets | output.classDir、output.Wert der resourceDir-Eigenschaft |
output.classDir | Ausgabeziel der Quellensatzklassendatei | build/classes/<sourceSet> |
output.resourcesDir | Quellenset-Ressourcenausgabeziel | build/resources/<sourceSet> |
compileClasspath | Klassenpfad zur Kompilierungszeit des Quellensatzes | Konfiguration kompilieren<SourceSet>Einstellwert von |
runtimeClasspath | Quellensatz-Laufzeitklassenpfad | Ausgabeeigenschaft, Konfigurationslaufzeit<sourceSet>Einstellwert von |
java | Alle Java-Quellen im Quellensatz | src/<sourceSet>/Die Erweiterung unter Java ist.Java-Datei |
java.srcDirs | Verzeichnis mit Java-Quellen für den Quellensatz | src/<sourceSet>/java |
resources | Alle Ressourcen im Quellensatz | src/<sourceSet>/Die Erweiterung unter Ressourcen ist.Nicht-Java-Dateien |
resources.srcDirs | Verzeichnis mit Ressourcen des Quellensatzes | src/<sourceSet>/resources |
allJava | Alle Java-Quellen im Quellensatz | Java-Eigenschafteneinstellung(Änderungen aufgrund der Anwendung des Plug-Ins vorbehalten) |
allSource | Alle Java-Quellen und -Ressourcen im Quellensatz | Java, Einstellungen für Ressourceneigenschaften(Änderungen aufgrund der Anwendung des Plug-Ins vorbehalten) |
Zugriff auf Eigenschaften in Build-Skripten
println project.sourceSets.test.compileClasspath
println sourceSets.test.compileClasspath
println sourceSets['test'].compileClasspath
Dieser Artikel wurde unter Bezugnahme auf die folgenden Bücher geschrieben.
Nachschlagewerk: Gründliche Einführung in Gradle Erstellen einer Automatisierungsplattform mit Build-Tools der nächsten Generation
Recommended Posts