gradle | |
---|---|
Typ | nástroj pro automatizaci tvorby [d] |
Zapsáno v | Java , Groovy [2] a Kotlin |
Operační systém | multiplatformní |
První vydání | 2007 |
Hardwarová platforma | Java virtuální stroj |
Nejnovější verze | |
Stát | aktivní |
Licence | Licence Apache 2.0 [3] |
webová stránka | gradle.org _ |
Mediální soubory na Wikimedia Commons |
Gradle je automatizovaný systém sestavování postavený na principech Apache Ant a Apache Maven , ale poskytuje DSL v Groovy a Kotlin místo tradiční formy reprezentace konfigurace projektu podobnou XML .
Na rozdíl od Apache Maven , který je založen na konceptu životního cyklu projektu, a Apache Ant , ve kterém je pořadí provádění úkolů (cílů) určováno závislostmi (závisí na), Gradle používá řízený acyklický graf k určení pořadí v jaké úkoly se provádějí.
Gradle byl navržen pro rozšiřitelná multiprojektová sestavení a podporuje model vodopádového vývoje , který určuje, které části stromu sestavení se nezměnily a které úlohy, které na těchto částech závisí, není třeba restartovat.
Hlavní pluginy jsou pro vývoj a nasazení aplikací Java , Groovy a Scala , ale existují pluginy pro další programovací jazyky : C++ , Swift , Kotlin a také Spring projekt s Spring Boot.
Má svého vlastního Gradle Daemon [4] – proces na pozadí pro urychlení sestavení projektu.
1. Přejdeme na stránku stahování Archived 31. října 2021 na Wayback Machine a zvolíme pohodlnou metodu instalace do vašeho OS.
2. Nastavte prostředí pro práci s Gradle nastavením proměnných prostředí.
3. Ověřte instalaci zadáním do příkazového řádku, abyste získali číslo verze:$ gradle -v или $ gradle -h - для помощи в работе программы.
Podívejme se na příklad projektu, který používá standardní adresářovou strukturu Maven pro zdrojové kódy a zdroje.
Tato struktura obsahuje následující adresáře:
Všechno! Projekt byl vytvořen a nyní jej lze otevřít v libovolném IDE a pracovat přímo s vygenerovanými adresáři a soubory.
Najdeme soubor sestavení Gradle našeho projektu na cestě /app/build.gradle:
pluginy { // Aplikujte aplikační modul pro přidání podpory pro vytváření aplikací CLI v Javě. id 'aplikace' } úložiště { // K vyřešení závislostí použijte Maven Central. mavenCentral () } závislosti { // Použijte testovací rámec JUnit. testImplementation 'junit:junit:4.13.1' // Tuto závislost používá aplikace. implementace 'com.google.guava:guava:30.0-jre' } aplikace { // Definujte hlavní třídu pro aplikaci. mainClass = 'mainProject.App' }Pojďme sestavit projekt pomocí příkazu gradle build:
> gradle build :compileJava :processResources :třídy :sklenice :shromáždit :compileTestJava :processTestResources :testClasses :test :šek :stavět BUDOVAT ÚSPĚŠNĚHotový soubor jar bude v /app/build/libs: app.jar
Vyčistěte sestavené soubory pomocí příkazu: gradle clean
Chcete-li spustit tento jar z příkazového řádku, přidejte tyto řádky do souboru build.gradle (verze Java a naše hlavní třída):
java { sourceCompatibility = JavaVersion . VERSION_1_8 targetCompatibility = JavaVersion . VERSION_1_8 } sklenice { manifest { atributy ( 'Main-Class' : 'mainProject.App' ) } }Projekt znovu sestavíme pomocí příkazu gradle build -> přejděte do adresáře /app/build/libs a napište: java -cp . -jar app.jar
Měli bychom vidět pozdrav „Ahoj, světe!“.
Všechny úkoly můžete zobrazit pomocí příkazu: gradle tasks
Všechny závislosti projektu podřízené aplikace můžete zobrazit pomocí příkazu: gradle app:dependencies
Java plugin emuluje životní cykly Maven jako úlohy v řízeném acyklickém grafu závislosti pro vstupy a výstupy každé úlohy. V tomto příkladu závisí provedení úlohy sestavení na výsledku úloh kontroly a sestavení . Také kontrolní úloha závisí na testu a sestavení závisí na jar .
Gradle také umožňuje projektům používat adresářovou strukturu, která se liší od konvence Maven . Následující příklad bude zvažovat projekt, kde je zdrojový kód v adresáři src/java namísto src/main/java .
build.gradle
použít plugin: 'java' sourceSets { hlavní { java { srcDirs = [ 'src/java' ] } } }
Pro aplikace sestávající z modulů je vhodné použít víceprojektový přístup Gradle:
- Provádění úkolů ve fázi sestavení ( testování, hlášení, protokolování atd. / výlety do (síť | služby), obecně vše, co může dělat jakákoli aplikace )
- Sestavení závislých knihoven projektu pro sestavení, distribuce stupně přístupu (jako modifikátory přístupu v programovacích jazycích) uvnitř spouštěcího kódu
Montážní automatizační systémy | |
---|---|