Как стать автором
Поиск
Написать публикацию
Обновить
0

Gradle *

Система автоматизации сборки Java-проектов

Сначала показывать
Порог рейтинга
Уровень сложности

Многомодульный Java-проект с Gradle. Шаг за шагом

Время на прочтение11 мин
Количество просмотров194K
Очень много статей о Gradle написано. И со своей стороны хотелось бы добавить в копилку такую пошаговую инструкцию, прочтение которой, я надеюсь, позволит тем, кто плохо знаком с Gradle, “распробовать” и продолжить самостоятельно изучать этот инструмент.

Данная статья не будет подробно описывать такие темы, как плагины gradle (plugin), задачи (task), зависимости (dependencies), автоматическое тестирование и прочие прелести этого сборщика проектов. Во-первых, каждая тема заслуживает отдельной статьи или даже серии статей, а во-вторых, на эти темы уже есть статьи на хабре, например: Gradle: Tasks Are Code, Gradle: Better Way To Build. А еще на официальном сайте Gradle есть прекрасно написанный Gradle User Guide. Я же cфокусирую внимание на непосредственном решении поставленной задачи, и все сопутствующие темы будут описаны в рамках этой самой задачи.
Сначала определимся с целью, что же мы хотим получить на выходе? А цель указана в заголовке статьи. Мы хотим получить проект с несколькими модулями, который собирается с помощью Gradle. И так, приступим.
Читать дальше →

Ввод паролей при сборке проектов с помощью gradle

Время на прочтение3 мин
Количество просмотров6.1K
При сборке проектов для Android Gradle позволяет указать некоторые параметры, позволяющие собрать и подписать пакет, готовый для загрузки в Google Play. Однако, вряд ли стоит загружать некоторые данные, такие как пароль от приватного ключа в публичный репозиторий. В статье, перевод которой ниже, автор рассматривает способы ввода приватной информации, такой как пароли, во время сборки проекта.

Gradle позволяет получить доступ к консоли с помощью метода System.console(). Консоль предоставляет метод для чтения паролей, поэтому для ввода пароля можно использовать:
def password = System.console().readPassword("\nPlease enter key passphrase: ")

Теперь можно использовать пароль в любом месте скрипта сборки, и все готово… ой, тогда это будет слишком короткий пост, поэтому теперь поговорим о проблемах.
Читать дальше →

Развертываем приложение на Heroku c помощью Gradle

Время на прочтение4 мин
Количество просмотров7.3K
В продолжение предыдущей статьи про развертывание Ratpack приложения на Heroku, сегодня я расскажу про использования плагина Gradle. Это был трудный опыт по развертыванию простого Ratpack приложения на Heroku PaaS. Мы рылись в хитросплетениях buildpack's для развертывания на Heroku.Хорошие новости в том, что это бельше не обязательно.
В этой статье я покажу более простой способ развертывания. В этом методе не необходимости явно использовать Heroku Toolbelt и custom'ые buildpack's. Так же больше не нужно иметь Ruby, RVM, или множество других связанных с Ruby технологий, которые не нужны Java/Groovy разработчикам, им даже знать об этот нет необходимости.
Читать дальше →

Gradle и решение задач автоматизации

Время на прочтение6 мин
Количество просмотров34K
Всем привет, сегодня я хотел бы рассказать вам о моём опыте работы с Gradle, не просто переписать мануал (хотя он отлично написан), но рассказать с какими реальными проблемами я столкнулся и как побеждал их, а также показать какие возможности предоставляет нам Gradle. Тема очень обширная поэтому, к сожалению я не смогу рассмотреть многие аспекты подробно и последовательно, надеюсь что читатели уже немного знакомы с Gradle и смогут понять суть описываемых решений.
Читать дальше →

Сборка flex/as3 проекта с использованием gradle

Время на прочтение11 мин
Количество просмотров9.9K
После не самого удачного, на мой взгляд, эксперимента по сборке flex с использованием maven (подробности тут), решил попробовать gradle, про который пишут, что он взял лучшее от ant и maven и это следующий шаг в развитии. Решил провести эксперимент по такому плану:
  • flex compile (Path to FlexSDK/maven dependency)
  • as3 compile
  • flex unit run (dependency)
  • fla compile as static resource
  • reliase compress
  • code quality (FlexPMD)
  • multy module project

Кому интересно, что из этого получилось, прошу под кат, потому как текста достаточно много. Он писался прямо по ходу эксперимента, если читать совсем лень, то в конце есть ссылка на тестовый проект.
Читать дальше →

Как запускать DBDeploy в Gradle

Время на прочтение3 мин
Количество просмотров6.4K

В данной заметке я покажу, как запускать DBDeploy из скрипта Gradle.


О чём это вообще?


Возможно, вы уже слышали о версионированной миграции структуры баз данных. Об этом писали на хабре. DBDeploy — один из самых простых и известных инструментов, позволяющий легко установить все последние изменения в базе данных на любом инстансе и любой девелоперской машине. А Gradle — модный ныне инструмент для сборки проекта (как Ant и Maven, только лучше). О нём тоже уже писали.



И в чём вопрос?


Вопрос в том, как запускать DBDeploy из скрипта Gradle? У DBDeploy есть таски для Ant и плагин для Maven, но пока ещё нет плагина для DBdeploy (точнее, он в зачаточном состоянии). Немного потыркавшись, я пришёл к выводу, что самый простой способ — это использовать тот самый Ant таск DBDeploy из скрипта Gradle (здесь описано, как из gradle-скрипта использовать любые Ant-таски). Рассмотрим пример.



Пример проекта и билд-скрипт для запуска SQL-скриптов

Gradle: Tasks Are Code

Время на прочтение5 мин
Количество просмотров48K
В предыдущем топике я постарался вкратце рассказать, что же такое Gradle и на каких идеях он построен. Также была освещена концепция Source Sets и функциональность, с ней связанная.

Теперь я хотел бы рассказать о том, чем Gradle зацепил лично меня. Речь пойдёт о способах работы с задачами. Задача в Gradle — близкий аналог Ant Target. И, чтобы не путаться в терминах, под задачей (или task) далее по тексту всегда будет подразумеваться Gradle Task. Если речь будет идти о сущности из Ant, то это будет указано явно: Ant task.

Так вот, задачи в Gradle создаются при помощи специального dsl (domain specific language) на основе Groovy. И возможности, которые этот dsl предоставлет, на мой взгляд, почти безграничны в сравнении с ant или maven.

Читать дальше →

Gradle: Better Way To Build

Время на прочтение5 мин
Количество просмотров114K
Ни один проект с использованием платформы Java (и не только) не обходится без инструментов сборки (если только это не «Hello, world!»). Рано или поздно, но собирать дистрибутив руками надоедает. Да и компилировать из консоли было бы неплохо, если в проекте используется несколько разных IDE. А перед сборкой дистрибутива было бы здорово проставить номер версии в его имени. И unit тесты прогнать — не зря же Kent Beck книжки пишет. А там и Continues Integration на горизонте маячит. И здорово было бы научить CI сервер это все делать самостоятельно. Одним словом, есть уйма задач.

Раз есть задачи, то есть и решения. Думаю, большинство разработчиков хоть раз, но сталкивались с Ant. Очень многие используют Maven. Есть другие, не такие распространённые инструменты: GAnt, Buildr, и др. Каждый из них обладает набором своих плюсов и минусов, но сегодня я хочу представить вам кое-что новенькое. Gradle.
Читать дальше →
12 ...
7