[JAVA] Was ist Gradle?

Ich interessierte mich für den Java-Build, also ein Memo zu dieser Zeit.

Was ist Gradle?

Eine JAR-Datei mit einem Java-Build-Tool (ein Zip-Dateiformat, das Java-Bytecode-Dateien und Bilder kombiniert) Wird zu bauen. Im Gegensatz zu maven ist die Konfigurationsdatei in der Sprache grovy geschrieben.

Erstellen Sie außerdem einen Gradle-Wrapper, damit Sie Gradle nicht jedes Mal installieren müssen. Wenn Sie dies verteilen, können Sie gradle auch in einer Umgebung verwenden, in der gradle nicht installiert ist.

Gradle-Initialisierung

Erstellen Sie ein einfaches Gradle-Projekt.

gradle init

Dadurch werden verschiedene Dateien erstellt. Insbesondere das folgende Gefühl

├── build.gradle
├── gradle
│   └── wrapper
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
└── settings.gradle

Abhängigkeitsauflösung

gradle verwaltet Pakete außerhalb von Java, damit Sie sie in Ihren eigenen Projekten verwenden können.

dependencies {
    implemention("Paketnamen")
}

Aufgabe

Die Aufgabe in gradle ist, um aus dem Beamten zu zitieren, die detaillierte Arbeit, um den Bau zu machen.

Eingebaute Aufgaben

Ein Teil dieser Aufgabe wurde beim Erstellen des Gradle-Projekts erstellt. Zum Beispiel testen, erstellen, ausführen.

Sie sind,

gradle tasks

Sie können die Liste unter sehen.

Aufgabendefinition

Sie können dies selbst definieren, also definieren wir eine einfache Aufgabe.

task hello {
    println("hello")
}

Lass es uns laufen.

gradle hello

#Sie sollten Folgendes sehen
#hello
#:hello UP-TO-DATE

Sie können eine solche Aufgabe erstellen und intern nur die Plug-In-Einstellungen und bestimmte Aufgaben bündeln.

Konfigurieren Sie eine Aufgabe mit Aktionen

Aufgaben erkennen die Aufgaben, die sie in Einheiten ausführen sollen, die als Aktionen bezeichnet werden, und führen sie nacheinander als Array aus.

Die Aktion ist doFirst: Zum Anfang hinzufügen doLast: Zum Ende hinzufügen

Ich werde es in Form von hinzufügen.

task hello{
    hello.doFirst {
        println "hello1"
        println "hello2"
    }
    hello.doLast {
        println "hello3"
        println "hello4"
    }
}

Wenn du das machst

gradle hello

Ergebnis ist

:hello
hello1
hello2
hello3
hello4

BUILD SUCCESSFUL in 0s
1 actionable task: 1 executed

Wird sein.

Sie können die Verarbeitungsreihenfolge anpassen, indem Sie die Ausführungsreihenfolge auf diese Weise steuern.

Gradle Tipps

Bisher habe ich grob auf die Verwendung von Gradle eingegangen, aber jetzt möchte ich nützliche Funktionen zum Einstellen und Analysieren betrachten, die jede Aufgabe schneller machen.

Parallelisierung

grale führt grundsätzlich nur Aufgaben einzeln aus. aber, Es gibt eine Einstellung, um die parallele Ausführung zu erzwingen. Beachten Sie, dass hierdurch völlig unabhängige Aufgaben parallel ausgeführt werden, sodass alle Abhängigkeiten weiterhin nacheinander ausgeführt werden.

Fügen Sie gradle.properties Folgendes hinzu.

org.gradle.parallel=true

Profilerstellung

gradle hat eine Funktion zum Profilieren und Visualisieren, wie viel Zeit für die Ausführung von Aufgaben aufgewendet wurde, ob diese parallel ausgeführt wurden usw. Wenn Sie beim Ausführen einer Aufgabe "--scan" hinzufügen, wird die URL nach der Ausführung in der CLI angezeigt und Sie können sie von dort aus überprüfen.

Dies erfordert jedoch die Registrierung einer E-Mail-Adresse bei gradle, sodass der Teil zur Informationsverwaltung berücksichtigt werden muss.

screenshot-scans.gradle.com-2020.03.20-12_00_39.png

Diese Profilerstellung ist sehr praktisch und kann Ihnen wichtige Informationen für die Gebäudeeffizienz geben, z. B. umfangreiche Tests und Vorschläge.

Referenz

https://qiita.com/opengl-8080/items/0a192b62ee87d8ac7578#%E3%82%BF%E3%82%B9%E3%82%AF%E3%81%AE%E5%8F%82%E7%85%A7

https://guides.gradle.org/performance/

Schließlich

In gradle ist die Einstellungsdatei in einer eigenen Sprache, aber sobald Sie sich an diese Sprache gewöhnt haben, ist die Einstellung einfach zu lesen und Es ist ein Eindruck, dass Sie Aufgaben im Detail festlegen können.

Es ist auch schön, die gestrigen Überprüfungen und Verbesserungen zu haben, z. B. die Profilerstellung zur Erstellungszeit.

Lass uns ein gutes Gradle-Leben haben

Recommended Posts

Was ist Gradle?
Was ist Cubby?
Was ist null? ]]
Was ist java
Was ist Schlüsselumhang?
Was ist Maven?
Was ist Jackson?
Was ist Selbst
Was ist Jenkins?
Was ist ArgumentMatcher?
Was ist IM-Jonglieren?
Was ist params
Was ist SLF4J?
Was ist Fassade? ??
Was ist Java <>?
Was ist POJO?
Was ist java
Was ist centOS?
Was ist RubyGem?
Was ist before_action?
Was ist Docker?
Was ist Byte?
Was ist Tomcat?
Was ist Maven Assembly?
Was ist Docker-Compose?
Was ist ein Konstruktor?
Was ist vue cli
Was ist eine Schnittstelle?
Was ist Rubys Selbst?
Was ist harte Codierung?
Was ist ein Stream?
Was ist Rubys attr_accessor?
Was ist Java-Kapselung?
Was ist die Erlaubnis verweigert?
Was ist ein Initialisierer?
Was ist Spring Tools 4?
Was ist ein Operator?
Was ist Objektorientierung?
Was ist Guavas @VisibleForTesting?
Was ist ein MVC-Modell?
Was ist eine Anmerkung?
Was ist Java-Technologie?
Was ist Java API-Java?
Was ist @ (Instanzvariable)?
Was ist Gradles Artefakt?
Was ist JPA-Prüfung?
[Java] Was ist flatMap?
Was ist ein Servlet?
Was ist Webentwicklung?
[Java] Was ist ArrayList?
Was ist eigentlich objektorientiert?
Was ist HttpSession session = request.getSession ();
Was ist Java Assertion? Zusammenfassung.
[Memorandum] Was ist ein Fehler?