Gradle

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 bāzētu domēna specifisku valodu (DSL) tradicionālo projekta konfigurācijas XML failu vietā.

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

Atsauces

Ārējās saites 
 
 Pārskats
 Gradle Forums
 Lietotāja pamācības
 Standarta spraudņi, kas nāk līdzi Gradle
 Java iesākuma pamācība
 Groovy iesākuma pamācība
 Ant izmantošanas piemēri
 Gradleware komerciālam atbalstam
 Gradle Summit konference 2013. gada 13.-14. jūnijā Santaklarā
 , Gradle izveidotājs Hanss Dokters
  ar Gradle dibinātāju Hansu Dokteru un Aleksandaru Gargentu
 Gradle prezentācija
 Iesācēju pamācība no Schuchert
 Gradle projektu prototipi

Java izstrādes rīki