Как изменить свойства по умолчанию в расширении Maven

Я хочу написать плагин (расширение) maven, который реализует жизненные циклы для проектов javascript, поэтому проекты с таким pom.xml можно скомпилировать:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org
  <modelVersion>4.0.0</modelVersion>

  <groupId>de.ailis.maven.javascript</groupId>
  <artifactId>demo</artifactId>
  <version>1.0.0-SNAPSHOT</version>

  <name>Maven JavaScript Demo Project</name>
  <packaging>javascript</packaging>

  <build>
    <plugins>
      <plugin>
        <groupId>de.ailis.maven.plugins</groupId>
        <artifactId>maven-javascript-plugin</artifactId>
        <version>1.0.0-SNAPSHOT</version>
        <extensions>true</extensions>
      </plugin>
    </plugins>
  </build>

</project>

Я уже успешно создал плагин с components.xmlфайл, который определяет жизненные циклы, чтобы я мог вызывать свои собственные моджо на разных этапах. Но есть некоторые этапы, для которых подходят стандартные режимы, если я могу изменить некоторые значения по умолчанию. Например я хочу указать кастом outputDirectory к плагину Maven Resources, поэтому ресурсы JavaScript копируются в target/classes/script-resources вместо target/classes, Можно ли это сделать в плагине, не копируя весь класс ResourcesMojo и не изменяя значение свойства по умолчанию там?

1 ответ

Mojo:

public class MyMojo extends AbstractMojo
{
    private String foo; //filePath

    public void execute()
        throws MojoExecutionException
    {         
        ...
        writeFile(foo)
        ...
    }
}

pom.xml

<plugin>

    <groupId>de.ailis.maven.plugins</groupId>

    <artifactId>maven-javascript-plugin</artifactId>

    <version>1.0.0-SNAPSHOT</version>

    <configuration>

        <foo>script-resources</foo> 

    </configuration>

</plugin>   
Другие вопросы по тегам