Собираем проект на Scala при помощи Gradle

Итак, сегодня мне вдруг захотелось написать проект на Scala.
Как быть? Куда бежать?

Для проекта требуется:

  1. Скрипт сборки для работы без IDE
  2. Возможность запускать тесты при помощи скрипта сборки
  3. Маленький скрипт сборки, лучше без XML
  4. Возможность генерации проектных файлов IDE с настроенным окружением для работы
  5. Интеграция с IDE на уровне зависимостей

В наличии IDE IntelliJ Idea и Scala 2.9.1

Для решения нашей задачи лучше всего подошёл Gradle: он позволяет описывать проект на простом DSL, умеет подтягивать зависимости из Maven-репозиториев и хорошо интегрируется с IntelliJ Idea.

В процессе настройки файла сборки очень помогла пара плагинов: https://github.com/rodionmoiseev/gradle-plugins

Пишем скрипт сборки build.gradle:

1. Группа, версия, описание
Имя проекта по-умолчанию берётся из имени корневой директории. Если хотите переопределить, то используйте  свойство ext.name

2. Подключаем репозитории с зависимостями и плагины для Gradle

3. Указываем зависимости проекта и версию JDK 1.7

4. Настраиваем интеграцию с Idea: тип VCS и лицензия, зависимости будут добавлены автоматически

Думаю, проще просто некуда!

Запускаем генерацию проектных файлов:

Открываем проект в Intellij Idea, идём пить кофе довольные собой.

Ссылки:

  1. Система сборки Gradle: http://www.gradle.org/downloads
  2. Gradle плагины для интеграции с Idea от rodionmoiseev: https://github.com/rodionmoiseev/gradle-plugins

 

Yuriy Artamonov on GithubYuriy Artamonov on LinkedinYuriy Artamonov on Twitter
Yuriy Artamonov
Technical Manager
До последнего времени Юрий принимал активное участие в разработке опенсорс-фреймворка CUBA Platform, специализируясь на архитектуре и фронтенд-технологиях. Преподавал в Самарском университете разработку приложений для мобильных устройств, основы UI/UX и менторил студентов.

В настоящее время работает в компании JetBrains в команде IntelliJ IDEA Ultimate. Когда выдаётся свободное время, пишет статьи и контрибьютит в проекты с открытым исходным кодом. Обожает реализовывать странные идеи с лозунгом: «А почему бы и нет?».