Gradle

A Wikipédiából, a szabad enciklopédiából
Gradle
hivatalos Gradle logó
hivatalos Gradle logó

FejlesztőHans Dockter, Adam Murdoch, Szczepan Faber, Peter Niederwieser, Luke Daley, Rene Gröschke, Daz DeBoer, Steve Appling
Legfrissebb stabil kiadás8.7 (stabil verzió, 2024. március 22.)[1]
Legfrissebb fejlesztői kiadás8.4 RC2 (2023. szeptember 26.)[3] +/-
Programozási nyelvJava, Groovy
Operációs rendszermulti-platform
PlatformJava virtuális gép
ÁllapotAktív
KategóriaAutomatikus szoftver összeállítás
LicencApache Licenc 2.0
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.

Példa Java projekt[szerkesztés]

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

Példa Ant migrációra[szerkesztés]

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ó történet[szerkesztés]

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[4]
2.1 2014-09-08[5]
2.2 2014-11-10[6]
2.3 2015-02-16[7]
2.4 2015-05-05[8]

A régebbi verziók elérhetők a Gradle letöltési oldaláról.

Kapcsolódó szócikkek[szerkesztés]

Jegyzetek[szerkesztés]

Bibliográfia[szerkesztés]

További információk[szerkesztés]

Fordítás[szerkesztés]

Ez a szócikk részben vagy egészben a Gradle című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.