Gradle — система автоматичного збирання, яка далі розвиває принципи, закладені в Apache Ant та Apache Maven і використовує предметно-орієнтовану мову (DSL) на основі мови Groovy замість традиційної XML-подібної форми представлення конфігурації проєкту. Для визначення порядку виконання завдань Gradle використовує орієнтований ациклічний граф ("DAG").
Тип | d |
---|---|
Розробники | d, d[1], d[2] і d[2] |
Перший випуск | 21 квітня 2008 |
Стабільний випуск | 8.0 (13 лютого 2023 ) |
Платформа | віртуальна машина Java |
Операційна система | кросплатформова програма |
Мова програмування | Java, Groovy[3] і Kotlin |
Ліцензія | d[4] |
Репозиторій | github.com/gradle/gradle |
Вебсайт | gradle.org |
|
На відміну від Apache Maven, заснованого на концепції життєвого циклу проєкту, і Apache Ant, в якому порядок виконання задач (targets) визначається відношеннями залежності (depends-on), Gradle використовує спрямований ациклічний граф для визначення порядку виконання завдань.
Gradle було розроблено для побудови мультипроєктів, які можуть розростатися, і підтримує інкрементальне збирання. Вона визначає, які частини було змінено, і виконує тільки ті задачі, які залежать від цих частин.
Основні плагіни призначені для розробки і розгортання Java, Groovy і Scala додатків, але готуються плагіни і для інших мов програмування.
Приклад проєкту для Java
Розглянемо приклад проєкту, в якому використовується стандартна структура каталогів Maven для вихідних кодів і ресурсів. Така структура містить наступні каталоги:
- src/main/java,
- src/main/resources,
- src/test/java,
- src/test/resources.
build.gradle
apply plugin: 'java'
Результат виконання команди gradle build для збірки проєкту
> gradle build :compileJava :processResources :classes :jar :assemble :compileTestJava :processTestResources :testClasses :test :check :build BUILD SUCCESSFUL
Java плагін емулює життєві цикли Maven, у вигляді завдань в спрямованому ациклічному графі залежностей для входів і виходів кожного завдання. У цьому прикладі виконання завдання build залежить від результату виконання завдань check і assemble. Також завдання check залежить від test, а assemble від jar.
Gradle також дозволяє використовувати для проєктів структуру каталогів, що відрізняється від конвенції Maven. У наступному прикладі буде розглянуто проєкт, в якому вихідний код знаходиться в каталозі src / java, а не в src / main / java.
build.gradle
apply plugin: 'java' sourceSets { main { java { srcDirs = ['src/java'] } } }
Посилання
- Офіційний сайт
- Gradle Forums [ 15 березня 2015 у Wayback Machine.]
- User Guides
- Standard plugins that ship with Gradle [ 8 квітня 2015 у Wayback Machine.]
- Java Quickstart Guide [ 8 квітня 2015 у Wayback Machine.]
- Examples of Ant usage [ 18 квітня 2015 у Wayback Machine.]
- for commercial support
- [1] [ 14 жовтня 2016 у Wayback Machine.] of June 11-12th, 2015 in Santa Clara
- Gradle presentation at San Francisco JUG на YouTube by Gradle founder
- Breaking Open: Gradle - An interview about Gradle and Gradleware, its history, motivation and challenges на YouTube With Gradle founder Hans Dockter and
- Gradle Presentation [ 15 квітня 2015 у Wayback Machine.]
- by Schuchert
- Prototypes for gradle project [ 10 вересня 2015 у Wayback Machine.]
- https://github.com/gradle/gradle/graphs/contributors?from=2008-03-09&to=2023-01-25&type=c
- https://github.com/gradle/gradle/graphs/contributors?from=2008-03-09&to=2023-01-25&type=a
- The gradle Open Source Project on Open Hub: Languages Page — 2006.
- The gradle Open Source Project on Open Hub: Licenses Page — 2006.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Gradle sistema avtomatichnogo zbirannya yaka dali rozvivaye principi zakladeni v Apache Ant ta Apache Maven i vikoristovuye predmetno oriyentovanu movu DSL na osnovi movi Groovy zamist tradicijnoyi XML podibnoyi formi predstavlennya konfiguraciyi proyektu Dlya viznachennya poryadku vikonannya zavdan Gradle vikoristovuye oriyentovanij aciklichnij graf DAG GradleTipdRozrobnikid d 1 d 2 i d 2 Pershij vipusk21 kvitnya 2008 16 rokiv tomu 2008 04 21 Stabilnij vipusk8 0 13 lyutogo 2023 16 misyaciv tomu 2023 02 13 Platformavirtualna mashina JavaOperacijna sistemakrosplatformova programaMova programuvannyaJava Groovy 3 i KotlinLicenziyad 4 Repozitorijgithub com gradle gradleVebsajtgradle org Mediafajli u Vikishovishi Na vidminu vid Apache Maven zasnovanogo na koncepciyi zhittyevogo ciklu proyektu i Apache Ant v yakomu poryadok vikonannya zadach targets viznachayetsya vidnoshennyami zalezhnosti depends on Gradle vikoristovuye spryamovanij aciklichnij graf dlya viznachennya poryadku vikonannya zavdan Gradle bulo rozrobleno dlya pobudovi multiproyektiv yaki mozhut rozrostatisya i pidtrimuye inkrementalne zbirannya Vona viznachaye yaki chastini bulo zmineno i vikonuye tilki ti zadachi yaki zalezhat vid cih chastin Osnovni plagini priznacheni dlya rozrobki i rozgortannya Java Groovy i Scala dodatkiv ale gotuyutsya plagini i dlya inshih mov programuvannya Priklad proyektu dlya JavaRozglyanemo priklad proyektu v yakomu vikoristovuyetsya standartna struktura katalogiv Maven dlya vihidnih kodiv i resursiv Taka struktura mistit nastupni katalogi src main java src main resources src test java src test resources build gradleapply plugin java Rezultat vikonannya komandi gradle build dlya zbirki proyektu gt gradle build compileJava processResources classes jar assemble compileTestJava processTestResources testClasses test check build BUILD SUCCESSFUL Java plagin emulyuye zhittyevi cikli Maven u viglyadi zavdan v spryamovanomu aciklichnomu grafi zalezhnostej dlya vhodiv i vihodiv kozhnogo zavdannya U comu prikladi vikonannya zavdannya build zalezhit vid rezultatu vikonannya zavdan check i assemble Takozh zavdannya check zalezhit vid test a assemble vid jar Gradle takozh dozvolyaye vikoristovuvati dlya proyektiv strukturu katalogiv sho vidriznyayetsya vid konvenciyi Maven U nastupnomu prikladi bude rozglyanuto proyekt v yakomu vihidnij kod znahoditsya v katalozi src java a ne v src main java build gradleapply plugin java sourceSets main java srcDirs src java PosilannyaOficijnij sajt Gradle Forums 15 bereznya 2015 u Wayback Machine User Guides Standard plugins that ship with Gradle 8 kvitnya 2015 u Wayback Machine Java Quickstart Guide 8 kvitnya 2015 u Wayback Machine Examples of Ant usage 18 kvitnya 2015 u Wayback Machine for commercial support 1 14 zhovtnya 2016 u Wayback Machine of June 11 12th 2015 in Santa Clara Gradle presentation at San Francisco JUG na YouTube by Gradle founder Breaking Open Gradle An interview about Gradle and Gradleware its history motivation and challenges na YouTube With Gradle founder Hans Dockter and Gradle Presentation 15 kvitnya 2015 u Wayback Machine by Schuchert Prototypes for gradle project 10 veresnya 2015 u Wayback Machine https github com gradle gradle graphs contributors from 2008 03 09 amp to 2023 01 25 amp type c https github com gradle gradle graphs contributors from 2008 03 09 amp to 2023 01 25 amp type a The gradle Open Source Project on Open Hub Languages Page 2006 d Track Q124688 The gradle Open Source Project on Open Hub Licenses Page 2006 d Track Q124688