Активировать профиль при запуске в или под определенным каталогом - PullRequest
0 голосов
/ 11 января 2019

У меня есть проект, который требует, чтобы конкретные настройки проекта были в глобальном mvn settings.xml. (Смотри внизу, почему.)

Это прекрасно работает для этого проекта, но когда я работаю над другим проектом, я не хочу, чтобы зеркало применялось.

Моя структура каталогов выглядит примерно так:

projects
  projA
    comp1
    comp2
      sub2a
      sub2b
  projb
    comp1
    comp2
    comp3
      sub3a
      sub3b

Если я строю из ~/projects/projA или из любого подкаталога, я хочу, чтобы <mirror> был активным. Если я строю из дерева ~/projects/projB, я не хочу, чтобы оно было активным.

Я мог бы сделать эту работу, поместив его в профиль и активировав профиль на основе значения user.dir. Однако мне (я думаю) нужно будет повторить это для каждого подкаталога, так как при активации свойства используется точное совпадение. В моей реальной системе есть 69 подкаталогов, так что это много дублирует. Кроме того, по мере развития проекта может появиться больше подкаталогов, и я хотел бы, чтобы это работало, вместо того, чтобы требовать, чтобы я заметил, что существует новый каталог, и не забудьте добавить его в мой settings.xml.

Есть ли способ активировать профиль в зависимости от того, в каком дереве каталогов я нахожусь?

Зачем мне нужны настройки проекта в глобальных настройках

Я использую плагин плиток , который изменяет родителя pom, прежде чем большая часть pom будет проанализирована. Плитки хранятся на локальном, специфичном для проекта сервере, поэтому мне нужно создать <mirror> для плагина, чтобы найти плитки. Элемент <mirror> не может быть помещен в пом, поэтому он должен быть в моем глобальном settings.xml. Подробнее здесь

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