Как изменить свойства по умолчанию в расширении Maven - PullRequest
2 голосов
/ 11 июля 2011

Я хочу написать плагин 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, чтобы ресурсы JavaScript копировались в target/classes/script-resources вместо target/classes. Можно ли это сделать в плагине, не копируя весь класс ResourcesMojo и не изменяя значение свойства по умолчанию там?

1 Ответ

0 голосов
/ 03 августа 2011

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>   
...