Project

General

Profile

Actions

Gradle » History » Revision 2

« Previous | Revision 2/9 (diff) | Next »
Alexey Demakov, 11/05/2015 05:18 PM


Gradle-based build system.

История

Предыдущая версия системы сборки использовала Ant для управления сборкой и Ivy для управления зависимостями.
Система сборки представляла собой библиотечный Ant файл, который подключался к проекту и предоставлял
базовую функциональность по сборке Java проектов и управлению выпуском релизов.
Gradle реализует и расширяет эту функциональность, поэтому принято решение использовать этот инструмент для сборки проектов.

Ресурсы

http://gradle.org

Подключение Gradle к проекту

1. Установить gradle, определить переменную окружения GRADLE_HOME.

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

3. Привести структуру папок в соответствие с соглашениями gradle:

src/main/java - код проекта
src/main/resources - ресурсы проекта
src/test/java - код тестов

Дополнительная информация:
https://docs.gradle.org/current/userguide/java_plugin.html#N12323

4. Указать зависимости проекта в build.gradle:

compile - зависимость, необходимая для сборки проекта
testCompile - зависимость, необходимая для сборки тестов
группа:имя:версия - формат зависимости

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

Дополнительная информация: https://docs.gradle.org/current/userguide/java_plugin.html#sec:java_plugin_and_dependency_management

5. Указать репозитории, в которых ищутся зависимости в build.gradle:

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()
}


Дополнительная информация: https://docs.gradle.org/current/userguide/dependency_management.html#sec:repositories

Updated by Alexey Demakov over 8 years ago · 2 revisions