| Gradle | |
| hivatalos Gradle logó | |
| Fejlesztő | Hans Dockter, Adam Murdoch, Szczepan Faber, Peter Niederwieser, Luke Daley, Rene Gröschke, Daz DeBoer, Steve Appling |
| Legfrissebb stabil kiadás | 9.8.2 (stabil verzió, 2026. október 19.) |
| Legfrissebb fejlesztői kiadás | 8.4 RC2 (2023. szeptember 26.) +/- |
| Programozási nyelv | Java, Groovy |
| Operációs rendszer | multi-platform |
| Platform | Java virtuális gép |
| Állapot | Aktív |
| Kategória | Automatikus szoftver összeállítás |
| Licenc | Apache Licenc 2.0 |
| Kódtár | https://github.com/gradle/gradle |
| A Gradle weboldala | |
A Gradle projektépítő eszköz, amely az Apache Ant és az Apache Maven koncepciójára épül, és bevezeti a Groovy-alapú doménspecifikus nyelvet (angol rövidítéssel DSL-t), a projektkonfiguráció deklarációját a hagyományosabb XML forma helyett. A Gradle a feladatok futási sorrendjének meghatározására irányított körmentes gráfot (DAG) használ.
A Gradle-t több alprojektes projekt építéséhez tervezték, mely meglehetősen nagyra nőhet, és támogatja az inkrementális projektépítéseket intelligensen meghatározva, hogy mely részei frissek a felépítési fának, így az azon részektől függő feladatokat nem kell újra végrehajtani.
Az eredeti beépülő modulok a hangsúlyt elsődlegesen a Java, Groovy és Scala fejlesztésre és telepítésre helyezték, de több nyelv és projekt munkafolyamat is van az ütemtervben.
Képzeljük el azt az esetet, amikor a Maven könyvtárszerkezetet használunk a Java forrásokra és erőforrásokra. Ezek a könyvtárak a következők: src/main/java, src/main/resources, src/test/java és src/test/resources.
build.gradle
apply plugin: 'java'
A gradle build-et futtatva a következőt kapjuk:
> gradle build
:compileJava
:processResources
:classes
:jar
:assemble
:compileTestJava
:processTestResources
:testClasses
:test
:check
:build
BUILD SUCCESSFUL
A java beépülő modul számos elvárt Maven életciklus feladatot emulál a függőségek irányított körmentes gráfjában minden feladat kimeneteihez és bemeneteihez. Ehhez az egyszerű esethez a build feladat függ a check és assemble feladatok kimeneteitől. Hasonlóképpen a check függ a test, és assemble-től, ami függ a jar-tól.
Azon projektek számára, amelyek nem követik a Maven konvencióit, a Gradle lehetővé teszi a könyvtárszerkezet konfigurálhatóságát. A következő példa egy olyan projektet támogat, ahol a forrásfájlok a src/java-ban vannak a Maven által előírt konvenció szerinti src/main/java könyvtár helyett.
build.gradle
apply plugin: 'java'
sourceSets.main.java.srcDirs = ['src/java']
A Gradle nagyon szoros integrációban van az Anttal, és az Ant build fájlokat még scriptként is kezeli, melyeket közvetlenül be tud importálni még az összeállítás alatt. A következő példa bemutatja a legegyszerűbb Ant cél használatát beépített Gradle feladatként használva.
build.xml
<project>
<target name="ant.target">
<echo message="Running ant.target!"/>
</target>
</project>
build.gradle
ant.importBuild 'build.xml'
A gradle ant.target a következőt eredményezi:
> gradle ant.target
:ant.target
[ant:echo] Running ant.target!
BUILD SUCCESSFUL
| Verzió | Dátum |
|---|---|
| 0.7 | 2009-07-20 |
| 0.8 | 2009-09-28 |
| 0.9 | 2010-12-19 |
| 1.0 | 2012-06-12 |
| 1.1 | 2012-07-31 |
| 1.2 | 2012-09-12 |
| 1.3 | 2012-11-20 |
| 1.4 | 2013-01-28 |
| 1.5 | 2013-03-27 |
| 1.6 | 2013-05-07 |
| 1.7 | 2013-08-06 |
| 1.8 | 2013-09-24 |
| 1.9 | 2013-11-19 |
| 1.10 | 2013-12-17 |
| 1.11 | 2014-02-11 |
| 1.12 | 2014-04-29 |
| 2.0 | 2014-07-01 |
| 2.1 | 2014-09-08 |
| 2.2 | 2014-11-10 |
| 2.3 | 2015-02-16 |
| 2.4 | 2015-05-05 |
A régebbi verziók elérhetők a Gradle letöltési oldaláról.
{{cite book}}: More than one of |accessdate= és |access-date= specified (súgó); More than one of |archivedate= és |archive-date= specified (súgó); More than one of |archiveurl= és |archive-url= specified (súgó){{cite book}}: Check date values in: |date= (súgó)