Комментарии 28
Т.е. с помощью грейдла мы создаем архетип для мавен? Элегантно! Похоже на какое то извращение.
А для грейдла архетипы еще не сделали?
А для грейдла архетипы еще не сделали?
Я использую этот пример, потому что все знают что такое Мавеновские архетипы и удобно сравнивать.
В Грейдле архетипы есть, называется Build Init Plugin.
В Грейдле архетипы есть, называется Build Init Plugin.
хм… а archetype:create-from-project чем уныл?
Вообще при всей прикольности мавена (дада, про closest-dependency я в курсе), архетипы не самый удобный с моей точки зрения инструмент. Во-первых, их надо помнить («мавеновский архетип #361» — это ок). Так из консольки-то не подберешь под себя. А во-вторых их надо реально поддерживать, обновлять, деплоить. Я вот свой архетип уже утомился апдейтить, поэтому тупо копирую пустой проект вместо создания из архетипа.
Вообще при всей прикольности мавена (дада, про closest-dependency я в курсе), архетипы не самый удобный с моей точки зрения инструмент. Во-первых, их надо помнить («мавеновский архетип #361» — это ок). Так из консольки-то не подберешь под себя. А во-вторых их надо реально поддерживать, обновлять, деплоить. Я вот свой архетип уже утомился апдейтить, поэтому тупо копирую пустой проект вместо создания из архетипа.
Он не уныл, он просто только Мавен. А Lazybones для чего угодно. Я просто привел пример того, что всем знакомо.
Как человеку опытному, как тебе Lazybones по сравнению в архетипами?
Как человеку опытному, как тебе Lazybones по сравнению в архетипами?
Вообще, я не люблю писать код :) Наверное, для грэдловских проектов он удобен, но, если говорить о мавене, то я не вижу очевидных преимуществ.
И про архетипы или «шаблоны» проектов я писал выше. Плюс они хороши для быстрого quickstart'а и «пощупывания» новой технологии, но в проекте ты же не будешь с ними каждый день работать, особенно со сложными, которые не под либу генерируют проект, а под целый слоеный стэк сразу. Отсюда быстрее скопировать какой-то старый проект и почистить его, а не вспоминать как работать с архетипами или вот Lazybones.
Но это я тему в статье обсуждаю, никак не гоню на саму статью. Я всегда рад новым качественным обзорам, их здесь мало. Так что, спасибо, Барух, продолжай :)
И про архетипы или «шаблоны» проектов я писал выше. Плюс они хороши для быстрого quickstart'а и «пощупывания» новой технологии, но в проекте ты же не будешь с ними каждый день работать, особенно со сложными, которые не под либу генерируют проект, а под целый слоеный стэк сразу. Отсюда быстрее скопировать какой-то старый проект и почистить его, а не вспоминать как работать с архетипами или вот Lazybones.
Но это я тему в статье обсуждаю, никак не гоню на саму статью. Я всегда рад новым качественным обзорам, их здесь мало. Так что, спасибо, Барух, продолжай :)
На мой взгляд, ты (как, похоже, и другие тоже, может я просто плохо объяснил) не совсем правильно видишь кто и зачем создает шаблоны проектов. Я вижу сценарии для двух ролей:
Как--то так…
- Разработчики фреймворков (и соратники): Написал theshade jmh. Для работы с этим фреймворком нужна определенная структура проекта. Для облегчения работы с ним, был создан архетайп (ну, и я, как соратник, сделаю шаблон Lazybones)
- Configuration Manager-ы в кровавых энтерпразах: В его энтерпразе каждые несколько дней где-нибудь в мире начинают новый проект. К ним всем есть определенные требования: какие-то обязательные зависимости, какие-то плагины, какие-то фреймворки. Написать один раз и поддерживать шаблон — единственный способ это всё менеджить
Как--то так…
JMH прикручивается к Градлу в пару строк в конфиге без всяких архетипов. И структура проекта не отличается от стандартной явовской. Или я что-то не понимаю?
НЛО прилетело и опубликовало эту надпись здесь
Слишком сложно выходит, если проекты делаются не часто, то каждый раз надо будет ходить по всем граблям. Если нет особых требований, тогда уже наверное стоит использовать гредл, явовский плагин и мавеновский репозиторий.
Вы точно мою статью комментируете? :-) Где вы грабли увидели то?
И это всё вообще не имеет отношения к системам сборки. Этот пост не по у Мавен и не про Грейдл. Мавен я упомянул лишь как пример системы, в которой уже есть решение, подобное Lazybones. А шаблоны можно создавать любые, для любых проектов, безотносительно к системе сборки.
И это всё вообще не имеет отношения к системам сборки. Этот пост не по у Мавен и не про Грейдл. Мавен я упомянул лишь как пример системы, в которой уже есть решение, подобное Lazybones. А шаблоны можно создавать любые, для любых проектов, безотносительно к системе сборки.
Первая строка же прямо так и говорит: я не люблю мавен.
Почему грабли? Нужно поставить гредл, настроить, поставить гвм, слазить в его репозиторий, покрутить лейзибонс, подпихнуть груви скрипт или изучать готовые шаблоны. Со временем что-нибудь подправят в любом из этих инструментов(или ошибется человек в настройке), туториал потеряет актуальность, а девелопер будет наступать на грабли. Если вы создаете новый проект раз в неделю — ок, а если раз в полгода, то игра не стоит свеч. Как-то так.
Почему грабли? Нужно поставить гредл, настроить, поставить гвм, слазить в его репозиторий, покрутить лейзибонс, подпихнуть груви скрипт или изучать готовые шаблоны. Со временем что-нибудь подправят в любом из этих инструментов(или ошибется человек в настройке), туториал потеряет актуальность, а девелопер будет наступать на грабли. Если вы создаете новый проект раз в неделю — ок, а если раз в полгода, то игра не стоит свеч. Как-то так.
Первая строка же прямо так и говорит: я не люблю мавен.
Это был так называемый «троллинг». Моя любовь/нелюбовь к Мавену не имеет никакого отношения к теме. Более того, я привожу пример Мавена, потому что его все знают, и многие (почему-то) любят.
Почему грабли? Нужно поставить гредл, настроить, поставить гвм, слазить в его репозиторий, покрутить лейзибонс, подпихнуть груви скрипт или изучать готовые шаблоны. Со временем что-нибудь подправят в любом из этих инструментов(или ошибется человек в настройке), туториал потеряет актуальность, а девелопер будет наступать на грабли.
Грейдл даже ставить не нужно, не говоря уж про настройку (у меня разве написано, что нужно?) gvm ставить не нужно (там написано: «или-или»). Ваше соображение, что если что-то поменяется, или кто-то ошибется, то наступят грабли — оно конечно верно, но верно в общем случае, и не имеет отношения к данной статье. В статье как раз описаны ровно ноль граблей. Все работает as expected.
Если вы создаете новый проект раз в неделю — ок, а если раз в полгода, то игра не стоит свеч. Как-то так.
Это, безусловно, верное замечание. Не всем нужно создавать шаблоны, и даже не всем нужно создавать проекты с использованием шаблонов. Выше я описал два сценария, когда вы захотите создать свой шаблон. Именно для них и пригодится моя статья.
Есть ли плагин для gradle? Или это бессмыслено? Просто не очень хочется юзать 2 разные консольные команды.
А под Видой Lazybones ни как не запустить? Но только без Cygwin, мы его не любим.
Ну а за что его любить-то?
Там был баг, который я пофиксил, и мой pull-request смерджен.
Соберите из head-a, и все будет работать :)
Там был баг, который я пофиксил, и мой pull-request смерджен.
Соберите из head-a, и все будет работать :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Проект Lazybones — «Лентяй», который работает за вас