2013-11-18 3 views
-2

Интересно, что такое обычный подход к передаче информации от родительского дочернего модуля динамическим способом в Maven.Динамическое наследование свойств в Maven

Наследование свойств, которое работает нормально, но является статическим по своей природе. Свойства наследуются дочерним модулем до того, как фаза жизненного цикла активируется в родительском модуле, а дальнейшие изменения, внесенные в них, не распространяются. Насколько я понимаю, это поведение по дизайну.

Моя цель - сделать некоторые вычисления в родительском модуле один раз, а затем передать результат дочерним модулям. Я хотел бы избежать повторения одних и тех же действий в каждом из дочерних модулей, поскольку они требуют много времени. Чтобы быть более точным, я использую плагин GMaven для вычисления с использованием Groovy.

Я знаю, что есть MavenSession, который, вероятно, позволяет передавать информацию по многомодульному проекту, но может ли он использоваться без написания моего собственного плагина?

ответ

0

Обычно они делают это путем совместного использования объекта в FS между плагинами, это, по-видимому, самый способ Maven, но несовершенный этот звук. Проблема с заключается в том, что это позволяет использовать только строки.

С помощью GMaven, если вы используете скрипт, вы можете попробовать создать фиктивный плагин, содержащий один статический ConcurrentHashMap, чтобы сохранить общее состояние, а затем получить доступ к нему внутри вашего скрипта Groovy.

Я бы, однако, остался с традиционным подходом, но с GMaven все могло бы стать лучше, поскольку я не трогал его в течение двух лет.

Смежные вопросы