Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

maven release plugin, git, and the pom's not at the top

Tags:

git

maven-2

I've got a git repo where the top level directory has three directories in it: java, COM, and csharp. As you might guess, the pom.xml lives in the java directory.

All is well until I go to run the release plugin. It clones the entire repo into target/checkout, and then expects the pom to be right there at the top. It ain't. End of story.

Can I tell the release plugin about the extra directory, or do I have to split the repro?

like image 597
bmargulies Avatar asked Apr 05 '11 21:04

bmargulies


2 Answers

Tested: add the following to your build/plugins section:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-release-plugin</artifactId>
    <version>2.2.1</version>
    <executions>
        <execution>
            <id>default</id>
            <goals>
                <goal>perform</goal>
            </goals>
            <configuration>
                <pomFileName>subdir/pom.xml</pomFileName>
            </configuration>
        </execution>
    </executions>
</plugin>

Where "subdir" is the relative path to the directory where the pom.xml resides.

This works, at least with Maven 3.0.3. May work with different release plugin versions, but this is untested.

This works with Maven 3.0.4 and maven-release-plugin 2.5 and git 1.8.x.

like image 50
sunspot Avatar answered Nov 15 '22 17:11

sunspot


Perfoming release didn't deploy properly in not-root directory with maven-release-plugin version 2.4 (with both maven 3.0.3 and 3.0.4). Downgrading to maven-release-plugin version 2.2.1 fixed the problem.

like image 30
Gunta Dalecka Avatar answered Nov 15 '22 18:11

Gunta Dalecka