воскресенье, 11 октября 2015 г.

5 фактов о Gradle

Пару недель назад я начал писать свой проект, в котором задействовано несколько модулей. В качестве ПО для автоматизации сборки проекта, решил использоваться Gradle (а не как обычно, Maven), и хочу сказать - я очень доволен Gradle- ом! И вот почему:

На момент создания проекта было определено 3 компонента:
  1. Commons - общее для других компонентов
  2. AndroidClient - клиент для андроида
  3. Backend - серверный модуль (Java EE + Spring + Hibernate)

На удивление, сделать такой мульти-модульный проект в Gradle проще чем где либо!
И вот некоторые факты о нем:
  1. Gradle прекрасно работает с java/android/C++, что позволяет собирать проекты с разными модулями под разные платформы
  2. Gradle краток, а краткость - сестра таланта! Если бы я описал структуру своего проекта в Maven - это заняло бы больше 200 строк кода.
  3. Gradle простой для понимания. Буквально пару минут в Getting Started - и все понятно.
  4. Общая гибкость в настройках сборки и каталогов, без необходимости следовать ограничениям системы сборки
  5. Генерация проектов IDE. Gradle так же имеет IDEA plugin, который облегчает работу с ним.

3 комментария:

  1. Пробовал писать свои плагин - простой - выслать имейлом собранный app файл (Андроид).
    Чуть не порвал себе мозг...

    Не ясно где и что импортить. Очень наморочился и ничего не добился (

    ОтветитьУдалить
  2. Ну простенькое что-то написать с грэдлом довольно удобно, да, спорить не буду. А вот если приложение пишут много разных разработчиков, а одного человека, который будет заниматься билд скриптом нет, то становится чуток тяжко. Поддержка в идее немного хромает: снепшоты непонятно по какому принципу подтягиваются, загрузка проекта в идею занимает довольно длительное время, в случае ошибки в билд скрипте -- в идее проект вообще не откроется, объявление зависимостей, плагинов, репозиториев, всяких хуков можно писать в любых местах -- и в скором времени это все становится похоже на маленькую помойку. Поэтому мы пока остались на мейвене, а нам в принципе много пока и не надо: груви компилятор, сорс код плагин, джавадок плагин, релиз плагин, объявление зависимостей. С решением конфликтов зависимостей в грэдле, конечно, все гораздо лучше обстоит, но этот пункт, к сожалению, не компенсирует для нас предыдущие проблемы. :(

    ОтветитьУдалить
    Ответы
    1. Да, соглашусь, пока что поддержка в IDEA хромает. Но в любом случаи они улучшают поддержку градла :) В 15-й лучше чем в 14-й, думаю в 16-й ещё лучше :) Да и работает он чуть медленнее чем мавен. Но для маленьких проектов то что надо :) Возможно в будущем всё доработается, и можно будет и на многомодульные тяжелые проекты ставить. Зато можно кастомную логику писать прямо в билд скрипте. Иногда это очень важно, особенно когда проект надо собирать по нестандартной схеме :)

      Удалить

Оптимизация Firefox

Привет! Сегодня я расскажу как можно легко и быстро оптимизировать FireFox. Для начала, вбиваем в адресную строку about:config и нажимаем...