Comments 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, и все будет работать :)
Sign up to leave a comment.
Проект Lazybones — «Лентяй», который работает за вас