Отправка параметров в плагин maven - PullRequest
0 голосов
/ 15 февраля 2019

В моем файле pom я выполняю плагин сборки с этой конфигурацией.

Могу ли я получить доступ к customProp из кода плагина?

<execution>
...
  <configuration>
    <configOptions>
      <additional-properties>useTags=true</additional-properties>
    </configOptions>
    <customProp>custom-value</customProp>

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

Если я правильно вас понимаю, при настройке spring-boot-maven-plugin и создании приложения вы можете получить доступ к информации о сборке приложения через BuildProperties объект, подобный -

@Autowired
BuildProperties buildProperties;

и читать как -

// Artifact's name from the pom.xml file
buildProperties.getName();
// Artifact version
buildProperties.getVersion();

Если предопределенных свойств недостаточно, вы можете передать свои собственные свойства из файла pom.xml в BuildProperties

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <executions>
        <execution>
            <goals>
                <goal>build-info</goal>
            </goals>
            <configuration>    
                <additionalProperties>                    
                      <java.version>${java.version}</java.version>                    
                      <some.custom.property>some value</some.custom.property>                
               </additionalProperties>            
            </configuration>        
     </execution>
    </executions>
</plugin>

Вы можете передать значение напрямую или использовать определенные вами пользовательские свойствав разделе <properties> вашего pom.xml, а затем на него ссылаются, используя ${property.name} заполнитель.

Вы можете получить доступ к пользовательским свойствам, определенным таким образом, вызвав buildProperties.get("property.name").

0 голосов
/ 15 февраля 2019

Если предположить, что вы разрабатываете плагин ...

Да, это возможно.Проверьте Параметры раздел Руководство по разработке плагинов Maven.

Вы должны определить свойство в вашем Mojo:

@Parameter( property = "your-plugin.customProperty", defaultValue = "custom" )
private String customProperty;
...