Совместное использование динамически генерируемых свойств между родственными модулями - PullRequest
1 голос
/ 04 января 2012

Я пытаюсь создать плагин Maven для запуска тестов изолированно в сервис-ориентированной архитектуре.Учитывая макет проекта, такой как:

Service
|- webapp
|- int-test

Я хочу:

  1. Динамически генерировать значения свойств, вызывая настраиваемых «поставщиков свойств».Один из таких поставщиков свойств может обратиться к веб-службе, чтобы получить неиспользуемый идентификатор учетной записи, под которой будут размещаться тестовые данные.
  2. Подставьте эти значения в файлы свойств веб-приложения и модулей int-test.
  3. Запустите веб-приложение
  4. Запустите тесты.

Я предполагаю, что лучший способ сделать это - добавить конфигурацию плагина в родительский POM, а затем пользователяЯ могу просто проверить проект, перейти в каталог родительского pom и выполнить задачу плагина по запуску тестов для локально работающей службы.

Я не совсем уверен, как можно было бы выполнить шаг 2 выше.В идеале, я бы не хотел, чтобы плагин изменял файлы свойств в int-test/src/test/resources или webapp/src/main/config, потому что тогда люди могли бы проверить эти изменения по ошибке.Я бы предпочел, чтобы замены появлялись только в соответствующих каталогах target/.

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

Любые предложения будут высоко оценены.

1 Ответ

0 голосов
/ 08 мая 2013

вы можете создать собственное расширение сборки maven и динамически получать эти свойства из службы cetntral и вставлять их в POM в памяти сразу после запуска процесса сборки.Действительно, именно так мы решили эту проблему в нашей компании.

Я только что опубликовал полный рецепт на этот ответ Stackoverflow

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...