1

我已经标准化了一个 Maven 项目结构,以便在多个项目的多个开发人员之间使用。其中一部分包括<properties>从反应堆 POM 中删除并将它们放在单独的文件中。为了使这一切正常工作,我必须在反应器 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>

我更喜欢创建我自己的插件来包装这两个插件,以便在多个项目中使用它时可以提高维护和可读性。

我知道基本的插件创建/部署以及所有这些,但我需要知道的是如何在 Mojo(插件代码)中包含这些配置为执行它们已经执行的操作的插件。如果有可能的话。我的在线研究没有找到答案。

4

0 回答 0