Чтобы упростить и упростить разработку, я реализовал Archetype Maven, который создает проект, специально разработанный для нашей среды. Архетип работает очень хорошо, но не удается завершить настройку в одном ключевом пункте: в сгенерированном проекте отсутствует репозиторий Mercurial.Инициализация Mercurial Repository от архетипа Maven
Есть ли способ запустить hg init
с архетипа?
Основная причина этого запроса заключается в том, что я хочу уменьшить количество шагов, которые разработчики должны выполнить при создании и настройке нового продукта. Может потребоваться создать пять или более модулей, каждый из которых требует собственной регистрации. Модули не предназначены для группировки в пакеты EAR, поскольку они могут быть развернуты независимо в архитектуре.
Допустимо, что ответ будет «нет, нет решения». Речь идет об оптимизации нуля до рабочего времени с помощью автоматизации. Если он не может быть автоматизирован с использованием механизмов Maven, то я предпочел бы не реализовывать решение, чем находить подстандартное решение.
Одним из решений, которое я рассмотрел, является использование ANT-плагина для вызова hg
из командной строки. Часть, которая мне не нравится в этом решении, заключается в том, что она зависит от пользователя, имеющего исполняемый файл Mercurial, доступного в пути. Это зависимость, которая может создать точку отказа. Такая точка отказа усложняет первоначальную настройку, а не упрощает ее, как предполагалось. (Эрго, почему «нет решения» является жизнеспособным ответом.)
Спасибо всем за ваши предложения!
Как они могут совершать, если у них нет исполняемого файла на пути? Я не вижу, как они не могут иметь эту зависимость и как это проблема. –
Ну, это хороший вопрос. Является ли то, что я прошу, даже выполнимо? Может ли Maven самостоятельно выполнять необходимые задачи? Или все решения (например, Maven SCM) зависят от установленных внешних исполняемых файлов? Пользователь, который устанавливает графический инструмент, может выполнять операции Mercurial с помощью инструмента без наличия необходимых инструментов в PATH. – 64BitBob