Стоит ли мигрировать на Рейк? - PullRequest
8 голосов
/ 16 сентября 2008

Действительно ли выгодно переходить на Рейк от муравья?

Кто-нибудь мигрировал из муравья и нашел что-то монументальное?

К вашему сведению: текущая среда - Ant для сборок J2ME

Ответы [ 4 ]

9 голосов
/ 31 декабря 2008

Я бы сказал, да, но у меня другая точка зрения, чем у парня из Java-среды, потому что я парень из .NET-среды. Я написал и поддерживал нетривиальный сценарий сборки (чистый, информация о генерации сборки, сборка, тестирование, покрытие, анализ, пакет) в msbuild (усилие MS-NAnt, управляемое XML), и это было очень больно:

  • XML не дружелюбен; очень шумно
  • Никто в команде не был заинтересован в том, чтобы научить его тому, как выполнять больше и более полезных автоматизаций; такой высокий коэффициент шины (т. е. если меня сбивает автобус, они застряли с ним)
  • Это не поддается рефакторингу или улучшению - это была одна из тех вещей, которые касаются вашей опасности, вы знаете?
  • Требовалось написать собственные задачи на C # для запуска различных инструментов, необходимых для сборки (хотя, если честно, часто они написаны производителями)

Примерно за неделю рабочей недели (я полюбил пустые офисы на Рождество!) Я выучил достаточно ruby ​​+ rake, чтобы заменить все это более коротким (с точки зрения LOC) сценарием на слегка больше функциональности и понятности (во всяком случае, я надеюсь, еще не рассмотрел).

Это выгодно от: - Это новый язык, но настоящий язык. Моим товарищам по команде нравится изучать новые языки, и это, хотя и является тонким оправданием, все еще оправдание ;-) Это может смягчить фактор, если я прав. - Это короткий переход (я так понял) отсюда до Capistrano, инструмента автоматического / удаленного / распределенного развертывания из мира RoR. Несмотря на то, что это магазин MS-stack, мы собираемся использовать его в сочетании с IIS7, наконец, с инструментом конфигурирования CLI.

Итак, да. Ваш пробег может отличаться, но он того стоил для меня.

6 голосов
/ 24 сентября 2008

Рейк - это здорово, если вы хотите:

  • Доступ к реальному языку программирования; условные выражения и циклы абсолютно просты по сравнению с Ant (в котором они почти невозможны)
  • Формат файла, который легко читается и может проверяться на синтаксис
  • Более интуитивное / предсказуемое присвоение значений переменным

Рейк вреден для вас, потому что:

  • Вы должны самостоятельно выполнить множество основных задач (например, запустить javac, создать файлы jar и т. Д.). Такие проекты, как Raven , могут помочь, но, похоже, они направлены на автоматическую загрузку зависимостей, а не на автоматизацию процесса сборки / развертывания. Кроме того, документации немного не хватает.
  • Большинство инструментов Java, которые можно автоматизировать, выполняются как задачи Ant, которые нелегко запустить из Rake; запуск JVM может раздражать во время сборки
1 голос
/ 16 сентября 2008

Возможно, вы захотите проверить также buildr . Это высокоуровневый инструмент для сборки, основанный на рейке. ИМХО, он берет много хороших функций от maven и отбрасывает плохие. Я сам не использовал его ни в чем большом, но я знаю людей, которые имеют и вполне довольны этим.

0 голосов
/ 18 сентября 2008

Еще один инструмент, который вы можете попробовать - Gant , если муравей не соответствует вашим потребностям Он добавляет полную поддержку сценариев для ant, но позволяет вам повторно использовать задачи ant по мере необходимости. Это действительно зависит от того, что вам не нравится в муравье.

...