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ā.

Gradle
Oficiālais logo
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 Labot šo Vikidatos
Tīmekļa vietne www.gradle.org

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.

Java projekta piemērs

labot šo sadaļu

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']

Ant migrācijas piemērs

labot šo sadaļu

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

Bibliogrāfija

labot šo sadaļu

Ārējās saites

labot šo sadaļu