Передача значения из Mojo в pom - PullRequest
3 голосов
/ 07 февраля 2020

Я разрабатываю плагин maven, у меня есть параметр FinalVersion, который создается как @Parameter в Mojo, а его значение устанавливается в классе Mojo. Мне нужно передать "finalversion" в мой файл pom и использовать его в качестве элемента в конфигурации другого плагина. как это:

@Mojo(name = "validate", defaultPhase = LifecyclePhase.COMPILE)
public class VersionValidatorMojo extends AbstractMojo{
    .
    .

    @Parameter(property = "finalVersion")
    private String finalVersion ;

, и я хочу, чтобы что-то вроде этого было в моем пом. xml

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>custom-maven-release-plugin</artifactId>
                <configuration>
                    <goals>release</goals>
                    <version>finalversion</version>
                </configuration>
            </plugin>

ТАКЖЕ в моем сценарии у меня есть версия проекта, установленная разработчиком, а не Как получить плагин от SCM?

Bests

1 Ответ

0 голосов
/ 07 февраля 2020

ваше POM должно использовать тег finalVersion

            <configuration>
                <finalversion>X.Y</finalversion>
            </configuration>

Вот еще один полный пример с параметром под названием location

        <plugin>
            <groupId>mygroup</groupId>
            <artifactId>myapp</artifactId>
            <version>${project.version}</version>
            <configuration>
                <locations>
                    <param>${basedir}/src/main/resources/db/toBeIncluded</param>
                    <param>${basedir}/src/main/resources/db/migration/upgrade</param>
                </locations>
            </configuration>
            <executions>
                <execution>
                    <phase>compile</phase>
                    <goals>
                        <goal>validate</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

В моей реализации Mojo я определил

    @Parameter
    private String[] locations;
...