Как изменить свойства по умолчанию в расширении 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>