複数のプロジェクトで複数の開発者が使用できるように、Maven プロジェクト構造を標準化しました。これには、reactor POM から を削除<properties>
し、別のファイルに入れることが含まれていました。これをすべて機能させるには、リアクター POM に次の 2 つのプラグインを含める必要があります。
<plugin>
<groupId>org.codehaus.groovy.maven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.0-rc-5</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
import java.io.File;
String git = ".git";
String propertyFile = "crx.properties";
File f = new File(git);
while (!f.exists()) {
git = "../" + git;
f = new File(git);
}
project.properties[propertyFile] = f.getAbsolutePath().replace(".git", "") + propertyFile;
</source>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0-alpha-2</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>${crx.properties}</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
これら 2 つのプラグインをラップする独自のプラグインを作成して、複数のプロジェクトで使用する場合のメンテナンスと読みやすさを向上させたいと考えています。
基本的なプラグインの作成/展開などはすべて知っていますが、知っておく必要があるのは、Mojo (プラグインコード) に、これらのプラグインが既に行っていることを行うように構成されたプラグインを含める方法です。もちろん可能であれば。私のオンライン調査では、答えが見つかりませんでした。