Проект

Общее

Профиль

JWW-Gradle » История » Версия 2

Александр Александров, 04.10.2020 15:31

1 2 Александр Александров
h1. Gradle и Maven
2 1 Александр Александров
3 2 Александр Александров
h2. Gradle
4 1 Александр Александров
5 2 Александр Александров
h3. Описание
6
7 1 Александр Александров
*Gradle*<notextile></notextile> — <notextile></notextile>"система автоматической сборки (Автоматизация сборки)":https://ru.wikipedia.org/wiki/%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B8<notextile></notextile>, построенная на принципах <notextile></notextile>"Apache Ant (Apache Ant)":https://ru.wikipedia.org/wiki/Apache_Ant<notextile></notextile> и <notextile></notextile>"Apache Maven (Apache Maven)":https://ru.wikipedia.org/wiki/Apache_Maven<notextile></notextile>, но предоставляющая <notextile></notextile>"DSL (Предметно-ориентированный язык программирования)":https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F<notextile></notextile> на языках <notextile></notextile>"Groovy (Groovy)":https://ru.wikipedia.org/wiki/Groovy<notextile></notextile> и <notextile></notextile>"Kotlin (Kotlin)":https://ru.wikipedia.org/wiki/Kotlin<notextile></notextile> вместо традиционной <notextile></notextile>"XML (XML)":https://ru.wikipedia.org/wiki/XML<notextile></notextile>-образной формы представления конфигурации проекта.
8
9
В отличие от <notextile></notextile>"Apache Maven (Apache Maven)":https://ru.wikipedia.org/wiki/Apache_Maven<notextile></notextile>, основанного на концепции жизненного цикла проекта, и <notextile></notextile>"Apache Ant (Apache Ant)":https://ru.wikipedia.org/wiki/Apache_Ant<notextile></notextile>, в котором порядок выполнения задач (targets) определяется отношениями зависимости (depends-on), Gradle использует <notextile></notextile>"направленный ациклический граф (Направленный ациклический граф)":https://ru.wikipedia.org/wiki/%D0%9D%D0%B0%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D0%B0%D1%86%D0%B8%D0%BA%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B3%D1%80%D0%B0%D1%84<notextile></notextile> для определения порядка выполнения задач.
10
11
Gradle был разработан для расширяемых многопроектных сборок, и поддерживает <notextile></notextile>"инкрементальные сборки (Итеративная разработка)":https://ru.wikipedia.org/wiki/%D0%98%D1%82%D0%B5%D1%80%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%B0%D1%8F_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0<notextile></notextile>, определяя, какие компоненты дерева сборки не изменились и какие задачи, зависимые от этих частей, не требуют перезапуска.
12
13 2 Александр Александров
h3. Полезные ссылки
14 1 Александр Александров
15
# "Gradle basedir property":https://stackoverflow.com/questions/16111720/gradle-basedir-property
16
# "Gradle Task To Call Other Tasks In Order":https://stackoverflow.com/questions/17617791/gradle-task-to-call-other-tasks-in-order
17
# "Writing Build Scripts":https://docs.gradle.org/current/userguide/writing_build_scripts.html
18
# "Gradle Profiles for Multi-Project Spring Boot Applications":https://www.credera.com/blog/technology-insights/java/gradle-profiles-for-multi-project-spring-boot-applications/
19
# "[SoF] How to set spring boot active profile in Gradle 4.7":https://stackoverflow.com/questions/50665667/how-to-set-spring-boot-active-profile-in-gradle-4-7/50719594
20
# "[SoF] how to set active profile for gradle build of spring boot application?":https://stackoverflow.com/questions/39541087/how-to-set-active-profile-for-gradle-build-of-spring-boot-application
21
# "Шпаргалка по Gradle":https://habr.com/ru/post/458046/
22
# "Использование buildSrc для внедрения дополнительной логики в Gradle":https://habr.com/ru/company/jugru/blog/342914/
23
# "Подробно о задачах Gradle":https://habr.com/ru/post/167227/
24 2 Александр Александров
25
h2. Maven
26
27
h3. Описание
28
29
*Apache Maven* — фреймворк для автоматизации сборки проектов на основе описания их структуры в файлах на языке POM (англ. Project Object Model), являющемся подмножеством XML. Проект Maven издаётся сообществом Apache Software Foundation, где формально является частью Jakarta Project.
30
31
Maven обеспечивает декларативную, а не императивную (в отличие от средства автоматизации сборки Apache Ant) сборку проекта. В файлах описания проекта содержится его спецификация, а не отдельные команды выполнения. Все задачи по обработке файлов, описанные в спецификации, Maven выполняет посредством их обработки последовательностью встроенных и внешних плагинов.
32
33
Maven используется для построения и управления проектами, написанными на Java, C#, Ruby, Scala, и других языках.
34
35
h3. Полезные ссылки
36
37
# "How do we purge/clean the Maven repositories?":https://community.atlassian.com/t5/Bamboo-questions/How-do-we-purge-clean-the-Maven-repositories/qaq-p/411756
38
# "Генерируем бины по json описанию":http://blog.qatools.ru/maven/json2pojo
Go to top