Когда мы разрабатываем программное обеспечение, мы пишем, компилируем, тестируем, упаковываем и, наконец, распространяем код. Мы можем автоматизировать эти шаги с помощью системы сборки. Большим преимуществом является то, что у нас есть повторяемая последовательность шагов. Система сборки всегда будет следовать шагам, которые мы определили, поэтому мы можем сосредоточиться на написании фактического кода и не беспокоиться
о других шагах.
Gradle-одна из таких систем сборки.
Gradle-это инструмент для автоматизации сборки. С помощью Gradle мы можем автоматизировать компиляцию, тестирование, упаковку и развертывание нашего программного обеспечения или любых других типов проектов. Gradle является гибким, но имеет разумные значения по умолчанию для большинства проектов. Это означает, что мы можем полагаться на значения по умолчанию, если нам не нужно что-то особенное, но мы все равно можем использовать гибкость для адаптации сборки к определенным пользовательским потребностям. Gradle уже используется крупными проектами с открытым исходным кодом, такими как Spring, Hibernate и Grails.
Корпоративные компании, такие как LinkedIn и Netflix, также используют Gradle.
Gradle использует доменный язык (DSL), основанный на Groovy, для объявления сборок. DSL предоставляет гибкий язык, который может быть расширен нами. Поскольку DSL основан на Groovy, мы можем написать код Groovy для описания сборки и использования мощности и
выразительность заводного языка. Groovy-это язык для виртуальной машины Java (JVM), такой как Java и Scala. Groovy упрощает работу с коллекциями, имеет закрытие и множество полезных функций. Синтаксис тесно связан с синтаксисом Java. На самом деле, мы могли бы написать файл класса Groovy с синтаксисом Java, и он будет компилироваться. Однако использование синтаксиса Groovy облегчает выражение намерения кода, и нам нужно меньше шаблонного кода, чем с Java. Чтобы получить максимальную отдачу от Gradle, лучше всего также изучить основы Groovy язык, но не обязательно начинать писать скрипты Gradle.
Gradle предназначен для того, чтобы быть языком сборки, а не жесткой структурой. Само ядро Gradle написано на Java и Groovy. Чтобы расширить Gradle, мы можем использовать Java и Groovy для написания нашего пользовательского кода. Мы даже можем написать свой собственный код в Scala, если захотим. Gradle обеспечивает поддержку проектов Java, Groovy, Scala, web и OSGi из коробки.
В этих проектах есть разумные параметры конфигурации, которые мы, вероятно, уже используем сами. Тем не менее, у нас есть гибкость для изменения этой конфигурации настройки, если это необходимо для наших проектов.
Поддержка муравьиных задач и репозиториев Maven Gradle поддерживает муравьиные задачи и проекты. Мы можем импортировать сборку Ant и повторно использовать все задачи. Однако мы также можем писать задачи Gradle, зависящие от задач Ant. Интеграция также применяется для свойств, путей и т.п.
Репозитории Maven и Ivy поддерживаются для публикации или извлечения зависимостей. Таким образом, мы можем продолжать использовать любую инфраструктуру репозитория, которая у нас уже есть.
С Gradle у нас есть инкрементные сборки. Это означает, что задачи в сборке выполняются только при необходимости. Например, задача компиляции исходного кода сначала проверяет, изменились ли источники с момента последнего выполнения задачи. Если источники изменились, задачавыполняется; но если источники не изменились, выполнение задачи пропускается и
задача помечается как актуальная.
Gradle поддерживает этот механизм для многих предоставленных задач. Однако мы также можем использовать это для задач, которые мы пишем сами.
Gradle имеет большую поддержку для многопроектных сборок. Проект может просто зависеть от других проектов или быть зависимостью от других проектов. Мы можем определить график зависимостей между проектами, и Gradle может разрешить эти зависимости для нас. У нас есть гибкость, чтобы определить макет нашего проекта так, как мы хотим.
Gradle поддерживает частичные сборки. Это означает, что Gradle выяснит, нужно ли перестраивать проект, от которого зависит наш проект, или нет. Если проект нуждается вперестройке, Gradle сделает это до создания нашего собственного проекта.
Оболочка Gradle позволяет нам выполнять сборки Gradle, даже если Gradle не установлен накомпьютер. Это отличный способ распространять исходный код и предоставлять его системе сборки, чтобы исходный код мог быть собран.
Кроме того, в корпоративной среде у нас может быть способ нулевого администрирования для клиентских компьютеров для создания программного обеспечения. Мы можем использовать оболочку для принудительного использования определенной версии Gradle, чтобы вся команда использовала одну и ту же версию. Мы также можем обновить версию
Gradle для оболочки, и вся команда будет использовать более новую версию, когда код оболочки будет проверен в системе управления версиями.
Прежде чем мы установим Gradle, мы должны убедиться, что на нашем компьютере установлен Java Development SE Kit (JDK). Для Gradle требуется JDK 6 или выше. Gradle будет использовать JDK, найденный на пути нашего компьютера. Мы можем проверить это, выполнив следующую команду в командной строке:
$ java -версия
Хотя Gradle использует Groovy, нам не нужно устанавливать Groovy самостоятельно. Gradle связывает библиотеки Groovy с дистрибутивом и игнорирует установку Groovy, котораяуже доступна на нашем компьютере.
Gradle доступен на веб-сайте Gradle по адресу
h t t p : / / w w w . g r a d l e . o r g / d o w n l o a d s.
С этой страницы мы можем загрузить последнюю версию Gradle. Мы также можем загрузить более старую версию, если захотим. Мы можем выбрать один из трех различных дистрибутивов для загрузки. Мы можем загрузить полный дистрибутив Gradle с двоичными файлами, исходными файлами и документацией, или мы можем загрузить только двоичные файлы, или мы можем загрузить только исходные файлы.