From Wikipedia, the free encyclopedia
Gradle ir programmatūras izstrādes projektu automatizācijas rīks, kas balstās uz Apache Ant un Apache Maven principiem un piedāvā Groovy un Kotlin bāzētu domēna specifisku valodu (DSL) tradicionālo projekta konfigurācijas XML failu vietā.
Izstrādātājs | Hanss Dokters, Ādams Mērdoks, Ščepans Fabers, Peters Nīdervīzers, Lūks Dailijs, Renē Greške, Dazs Debūrs, Stīvs Eplings |
---|---|
Stabilā versija | 8.7[1] / 2024. gada 22. martā |
Izstrādes statuss | aktīvs |
Progr. valoda | Java, Groovy, Kotlin |
Operētājsistēma | Vairākplatformu |
Veids | Būvēšanas rīks |
Licence | Apache licence 2.0 |
Repozitorijs | |
Tīmekļa vietne |
www |
Atšķirībā no Apache Maven, kas definē dzīves ciklus, un Apache Ant, kur mērķi tiek izsaukti, balstoties uz secību, ko nosaka atkarības, Gradle izmanto orientētu aciklisku grafu, lai noteiktu secību, kādā var izpildīt uzdevumus.
Gradle tika izstrādāts ar vairāku projektu būvējumu veidošanai, kas var kļūt ārkārtīgi lieli un atbalsta inkrementālu būvēšanu, nosakot, kuras būvējamā projekta koka daļas var nepārbūvēt.
Sākotnēji izstrādātie spraudņi galvenokārt fokusējās uz Java, Groovy un Scala izstrādi un piegādēm, bet tiek plānots arī citu valodu un projektu darba plūsmu atbalsts.
Tiek apskatīts gadījums, kad tiek izmantota Maven direktoriju struktūra Java kodam un resursiem. Šie direktoriji ir : src/main/java, src/main/resources, src/test/java un src/test/resources.
build.gradle
apply plugin: 'java'
gradle build izpildīšana dos šādu rezultātu:
> gradle build
:compileJava
:processResources
:classes
:jar
:assemble
:compileTestJava
:processTestResources
:testClasses
:test
:check
:build
BUILD SUCCESSFUL
Java spraudnis emulē daudzus no sagaidītajiem Maven dzīves cikliem kā uzdevumus orientētā acikliskā atkarību grafā no katra uzdevuma ievades un izvades datiem. Šajā vienkāršajā piemērā build uzdevums ir atkarīgs no check un assemble uzdevumu izvada. Līdzīgi check ir atkarīgs no test un assemble ir atkarīgs no jar.
Projektiem, kuri neseko Maven pieņēmumiem, Gradle ļauj konfigurēt direktoriju struktūru. Šis piemērs atbalstītu projektu, kas glabā izejas failus src/java, nevis src/main/java, ko pieņem Maven.
build.gradle
apply plugin: 'java'
sourceSets.main.java.srcDirs = ['src/java']
Gradle ir labi integrēts ar Ant un pat uztver Ant būvējumu failus kā skriptus, ko var tieši importēt būvēšanas laikā. Šis piemērs demonstrē vienkāršu Ant mērķi, kas tiek iekļauts kā Gradle uzdevums.
build.xml
<project>
<target name="ant.target">
<echo message="Izpilda ant.target!"/>
</target>
</project>
build.gradle
ant.importBuild 'build.xml'
gradle ant.target izpildīšana dos:
> gradle ant.target
:ant.target
[ant:echo] Izpilda ant.target!
BUILD SUCCESSFUL
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.