Gradle » History » Revision 2
Revision 1 (Alexey Demakov, 11/05/2015 05:16 PM) → Revision 2/9 (Alexey Demakov, 11/05/2015 05:18 PM)
h1. Gradle-based build system. h2. История Предыдущая версия системы сборки использовала Ant для управления сборкой и Ivy для управления зависимостями. Система сборки представляла собой библиотечный Ant файл, который подключался к проекту и предоставлял базовую функциональность по сборке Java проектов и управлению выпуском релизов. Gradle реализует и расширяет эту функциональность, поэтому принято решение использовать этот инструмент для сборки проектов. h2. Ресурсы http://gradle.org h2. Подключение Gradle к проекту h3. 1. Установить gradle, определить переменную окружения GRADLE_HOME. h3. 2. В каталоге проекта выполнить команду создания конфигурационных файлов для Java проекта: @> gradle init --type java-library@ Другие доступные типы проектов: https://docs.gradle.org/current/userguide/build_init_plugin.html Также будет создана обертка-запускач gradlew/gradlew.bat, которая избавляет от необходимости вручную устанавливать gradle для сборки проекта - разработчику достаточно просто выкачать рабочую копию проекта из репозитория, gradle будет установлен автоматически. Дополнительная информация: https://docs.gradle.org/current/userguide/gradle_wrapper.html https://docs.gradle.org/current/userguide/wrapper_plugin.html h3. 3. Привести структуру папок в соответствие с соглашениями gradle: src/main/java - код проекта src/main/resources - ресурсы проекта src/test/java - код тестов Дополнительная информация: https://docs.gradle.org/current/userguide/java_plugin.html#N12323 h3. 4. Указать зависимости проекта в build.gradle: compile - зависимость, необходимая для сборки проекта testCompile - зависимость, необходимая для сборки тестов группа:имя:версия - формат зависимости <pre> dependencies { // The production code uses the SLF4J logging API at compile time compile ''org.slf4j:slf4j-api:1.7.12'' // Declare the dependency for your favourite test framework you want to use in your tests. // TestNG is also supported by the Gradle Test task. Just change the // testCompile dependency to testCompile ''org.testng:testng:6.8.1'' and add // ''test.useTestNG()'' to your build script. testCompile ''junit:junit:4.12'' } </pre> Дополнительная информация: https://docs.gradle.org/current/userguide/java_plugin.html#sec:java_plugin_and_dependency_management h3. 5. Указать репозитории, в которых ищутся зависимости в build.gradle: <pre> repositories { // репозиторий ИСП РАН, подключается, если есть зависимости от наших проектов ivy { url = ''http://forge.ispras.ru/repo'' layout ''pattern'', { artifact ''[organization]/[ext]s/[artifact]-[revision](.[ext])'' } } // Use ''jcenter'' for resolving your dependencies. // You can declare any Maven/Ivy/file repository here. jcenter() } </pre> Дополнительная информация: https://docs.gradle.org/current/userguide/dependency_management.html#sec:repositories