Maven - проверить настроенное значение и остановить обработку - PullRequest
0 голосов
/ 31 декабря 2018

У меня есть файл POM, который содержит свойство (в разделе свойств), которое имеет значение IP, которое мы используем, когда отправляем его в git.

<device.ip>1.2.3.4</device.ip>

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

I 'Я хотел бы иметь возможность проверить значение переменной при запуске сборки и прервать ее, если значение переменной отличается от того, что мне нужно.

Любые другие решения также приветствуются.

(надеюсь, мой вопросне будет понижен из-за отсутствия кода - здесь нет действительно кода для написания. Сценарий вполне понятен)

Спасибо за совет.

Ответы [ 2 ]

0 голосов
/ 31 декабря 2018

Я бы предложил разделить ваш проект на модули.

  • Модуль 1 содержит ваш код без какой-либо конфигурации.
  • Модуль 2 относится к модулю 1 и дополнительно содержит то, что идет в производство.Для нескольких развертываний создайте дополнительный модуль для каждого.Вот куда уходит ваше производственное свойство.
  • Модуль 3 относится к модулю 1 (но не 2) и содержит все, что вам нужно для разработки (конфигурация, такая как это свойство и вспомогательные классы).Для сложных сценариев сделайте дополнительный модуль для каждого.

Это хорошо сработало для меня.

0 голосов
/ 31 декабря 2018

Вы можете использовать maven-forcecer-plugin , который поддерживает такие проверки.

Использование выглядит так для правила requirePropery .

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>3.0.0-M2</version>
        <executions>
          <execution>
            <id>enforce-property</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireProperty>
                  <property>device.ip</property>
                  <message>You must set a device.ip property!</message>
                  <regex>.*\d.*</regex> <!-- Express the value you need. -->
                  <regexMessage>The device.ip property contain...</regexMessage>
                </requireProperty>
              </rules>
              <fail>true</fail>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  [...]
</project>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...