Вопрос

Действительно ли выгодно переходить на Rake от ant?

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

К ТВОЕМУ сведению:Текущая среда - Ant для сборок J2ME

Это было полезно?

Решение

Я бы сказал, да, но у меня другая точка зрения, чем у специалиста по среде Java, потому что я специалист по среде .NET.Я написал и поддерживал нетривиальный скрипт сборки (clean, generate-assembly-info, build, test, coverage, analysis, package) в msbuild (MS'XML-driven NAnt effort), и это было очень болезненно:

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

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

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

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

Другие советы

Грабли - это здорово, если вы хотите:

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

Грабли вредны для вас, потому что:

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top