Pull to refresh

Comments 28

Т.е. с помощью грейдла мы создаем архетип для мавен? Элегантно! Похоже на какое то извращение.
А для грейдла архетипы еще не сделали?
Я использую этот пример, потому что все знают что такое Мавеновские архетипы и удобно сравнивать.
В Грейдле архетипы есть, называется Build Init Plugin.
У него 4 вида проектов или я что то неправильно прочел? А как создавать новые?
Все правильно, четыре. Pull request в сорцы Гредла? :)
Не солидно как то… А если я свой архетайп нужен, личный? Ну ты понял, короче…
Ну, а статью я для чего писал?
Чтобы заманить всех на свои семинары в Казане? =)
Зато у вас с чувством юмора всё в порядке. Спасибо хоть не послали.
Да боже упаси. За что? :)
а почему бы и нет? Вы имеете что-то против?
хм… а archetype:create-from-project чем уныл?

Вообще при всей прикольности мавена (дада, про closest-dependency я в курсе), архетипы не самый удобный с моей точки зрения инструмент. Во-первых, их надо помнить («мавеновский архетип #361» — это ок). Так из консольки-то не подберешь под себя. А во-вторых их надо реально поддерживать, обновлять, деплоить. Я вот свой архетип уже утомился апдейтить, поэтому тупо копирую пустой проект вместо создания из архетипа.
Он не уныл, он просто только Мавен. А Lazybones для чего угодно. Я просто привел пример того, что всем знакомо.

Как человеку опытному, как тебе Lazybones по сравнению в архетипами?
Вообще, я не люблю писать код :) Наверное, для грэдловских проектов он удобен, но, если говорить о мавене, то я не вижу очевидных преимуществ.

И про архетипы или «шаблоны» проектов я писал выше. Плюс они хороши для быстрого quickstart'а и «пощупывания» новой технологии, но в проекте ты же не будешь с ними каждый день работать, особенно со сложными, которые не под либу генерируют проект, а под целый слоеный стэк сразу. Отсюда быстрее скопировать какой-то старый проект и почистить его, а не вспоминать как работать с архетипами или вот Lazybones.

Но это я тему в статье обсуждаю, никак не гоню на саму статью. Я всегда рад новым качественным обзорам, их здесь мало. Так что, спасибо, Барух, продолжай :)
На мой взгляд, ты (как, похоже, и другие тоже, может я просто плохо объяснил) не совсем правильно видишь кто и зачем создает шаблоны проектов. Я вижу сценарии для двух ролей:
  • Разработчики фреймворков (и соратники): Написал theshade jmh. Для работы с этим фреймворком нужна определенная структура проекта. Для облегчения работы с ним, был создан архетайп (ну, и я, как соратник, сделаю шаблон Lazybones)
  • Configuration Manager-ы в кровавых энтерпразах: В его энтерпразе каждые несколько дней где-нибудь в мире начинают новый проект. К ним всем есть определенные требования: какие-то обязательные зависимости, какие-то плагины, какие-то фреймворки. Написать один раз и поддерживать шаблон — единственный способ это всё менеджить

Как--то так…
JMH прикручивается к Градлу в пару строк в конфиге без всяких архетипов. И структура проекта не отличается от стандартной явовской. Или я что-то не понимаю?
Ну фиг его знает, зачем они архетип написали. Но раз кому-то он нужен, то и шаблон Lazybones пригодится.
UFO just landed and posted this here
UFO just landed and posted this here
Еще не сделал, но сделаю (или нет. но наверное да.).
Слишком сложно выходит, если проекты делаются не часто, то каждый раз надо будет ходить по всем граблям. Если нет особых требований, тогда уже наверное стоит использовать гредл, явовский плагин и мавеновский репозиторий.
Вы точно мою статью комментируете? :-) Где вы грабли увидели то?
И это всё вообще не имеет отношения к системам сборки. Этот пост не по у Мавен и не про Грейдл. Мавен я упомянул лишь как пример системы, в которой уже есть решение, подобное Lazybones. А шаблоны можно создавать любые, для любых проектов, безотносительно к системе сборки.
Первая строка же прямо так и говорит: я не люблю мавен.
Почему грабли? Нужно поставить гредл, настроить, поставить гвм, слазить в его репозиторий, покрутить лейзибонс, подпихнуть груви скрипт или изучать готовые шаблоны. Со временем что-нибудь подправят в любом из этих инструментов(или ошибется человек в настройке), туториал потеряет актуальность, а девелопер будет наступать на грабли. Если вы создаете новый проект раз в неделю — ок, а если раз в полгода, то игра не стоит свеч. Как-то так.
Первая строка же прямо так и говорит: я не люблю мавен.

Это был так называемый «троллинг». Моя любовь/нелюбовь к Мавену не имеет никакого отношения к теме. Более того, я привожу пример Мавена, потому что его все знают, и многие (почему-то) любят.
Почему грабли? Нужно поставить гредл, настроить, поставить гвм, слазить в его репозиторий, покрутить лейзибонс, подпихнуть груви скрипт или изучать готовые шаблоны. Со временем что-нибудь подправят в любом из этих инструментов(или ошибется человек в настройке), туториал потеряет актуальность, а девелопер будет наступать на грабли.

Грейдл даже ставить не нужно, не говоря уж про настройку (у меня разве написано, что нужно?) gvm ставить не нужно (там написано: «или-или»). Ваше соображение, что если что-то поменяется, или кто-то ошибется, то наступят грабли — оно конечно верно, но верно в общем случае, и не имеет отношения к данной статье. В статье как раз описаны ровно ноль граблей. Все работает as expected.
Если вы создаете новый проект раз в неделю — ок, а если раз в полгода, то игра не стоит свеч. Как-то так.

Это, безусловно, верное замечание. Не всем нужно создавать шаблоны, и даже не всем нужно создавать проекты с использованием шаблонов. Выше я описал два сценария, когда вы захотите создать свой шаблон. Именно для них и пригодится моя статья.
Есть ли плагин для gradle? Или это бессмыслено? Просто не очень хочется юзать 2 разные консольные команды.
Для list, info и create? Я о таком не слышал, и очень сомневаюсь, что его нужно делать. Ведь идея в том, что тебе не нужен Грейдл, чтобы создать проект из шаблона. Вполне может быть, что полученный проект вообще не будет использовать Гредйл. Так зачем его ставить?
А под Видой Lazybones ни как не запустить? Но только без Cygwin, мы его не любим.
Sign up to leave a comment.

Articles