Localizando o diretório raiz de um projeto de reator maven de múltiplos módulos

Desejo usar o maven-dependency-plugin para copiar arquivos EAR de todos os submódulos do meu projeto de vários módulos para um diretório que seja relativo ao diretório raiz de todo o projeto.

Ou seja, meu layout é semelhante a este, os nomes foram alterados:

to-deploy/
my-project/
    ear-module-a/
    ear-module-b/
    more-modules-1/
        ear-module-c/
        ear-module-d/
    more-modules-2/
        ear-module-e/
        ear-module-f/
    ...

E eu quero que todos os arquivos EAR sejam copiados dos diretórios de destino de seus respectivos módulos paramy-project/../to-deploy então eu acabo com

to-deploy/
    ear-module-a.ear
    ear-module-b.ear
    ear-module-c.ear
    ear-module-d.ear
    ear-module-e.ear
    ear-module-f.ear
my-project/
    ...

Eu poderia fazer isso com um caminho relativo em cada módulo auricular, assim:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
                <execution>
                    <id>copy</id>
                    <phase>install</phase>
                    <goals>
                        <goal>copy</goal>
                    </goals>
                    <configuration>
                        <artifactItems>
                            <artifactItem>
                                <groupId>${project.groupId}</groupId>
                                <artifactId>${project.artifactId}</artifactId>
                                <version>${project.version}</version>
                                <type>ear</type>
                                <outputDirectory>../../to-deploy</outputDirectory>
                            </artifactItem>
                        </artifactItems>
                    </configuration>
                </execution>
            </executions>
        </plugin>

Mas eu prefiro não especificar um caminho relativo no<outputDirectory> elemento. Eu preferiria algo como${reactor.root.directory}/../to-deploy, mas não consigo encontrar nada parecido com isto.

Além disso, eu preferiria se houvesse alguma maneira de herdar essa configuração do plug-in maven-dependency-plug-in, para não precisar especificá-la para cada módulo EAR.

Também tentei herdar uma propriedade personalizada da raiz pom:

<properties>
    <myproject.root>${basedir}</myproject.root>
</properties>

Mas quando eu tentei usar${myproject.root} nos POMs do módulo auricular, o${basedir} resolveria com base no módulo auricular.

Além disso, eu encontreihttp://labs.consol.de/lang/de/blog/maven/project-root-path-in-a-maven-multi-module-project/ onde é sugerido que cada desenvolvedor e, presumivelmente, o servidor de integração contínua configurem o diretório raiz em um arquivo profiles.xml, mas não considero uma solução.

Existe uma maneira fácil de encontrar a raiz de um projeto com vários módulos?

questionAnswers(10)

yourAnswerToTheQuestion