Hi all, I'm trying to visualize how to perform a release properly, given that
* I'm using git with git-flow on a * multi-module maven project with a * parent pom module that is located in a sibling directory to the other modules which are * located in a directory other than the git repository's root directory. The docs for using the maven-release-plugin seem a little sparse when used with multi-module maven projects like mine. For example, my git repo's root directory (the one containing the .git directory) has a subdirectory called "production/app". The multi-module root pom is at production/app/pom.xml, and looks like this: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>app-root</artifactId> <packaging>pom</packaging> <version>0.2.0.BUILD-SNAPSHOT</version> <name>Application Multimodule Root POM</name> <modules> <module>parent-pom</module> <module>test-support</module> <module>support</module> <module>domain</module> <module>dto</module> <module>service</module> <module>rest</module> <module>web</module> </modules> </project> Note that it basically only contains <module> entries, one of which is the parent-pom module, which is in the directory production/app/parent-pom (the parent pom is then production/app/parent-pom/pom.xml) and all of the other modules in the project, then, declare the relative path to the parent pom to be "<relativePath>../parent-pom/pom.xml</relativePath>". Now, I'm trying to use the maven-release-plugin with this project along with git-flow. I'm planning on using the following settings, which I've seen in several posts on using it with git-flow: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <version>2.3.2</version> <configuration> <autoVersionSubmodules>true</autoVersionSubmodules> <localCheckout>true</localCheckout> <pushChanges>false</pushChanges> <tagNameFormat>v@{project.version}</tagNameFormat> </configuration> </plugin> * Into which pom do I put this plugin configuration: the root pom (production/app/pom.xml) or the parent pom (production/app/parent-pom/pom.xml)? * Into which root or parent's section should this <plugin> section be placed: <build><pluginManagement><plugins> or <build><plugins>? Here's my <scm> section (I'm using "xxx" & "yyy" protect the innocent): <scm> <connection>scm:git:g...@github.com:xxx/yyy.git</connection> <developerConnection>scm:git:g...@github.com:xxx/yyy.git</developerConnection> <url>https://github.com/xxx/yyy</url> </scm> * How do I tell maven that this maven project is located off of the repo's root, in production/app? Do I use "scm:git:g...@github.com:xxx/yyy.git/production/app" or something else? * Into which pom do I put the <scm> section: the root pom, the parent pom, or in each module's pom? If the root pom, do I use "scm:git:g...@github.com:xxx/yyy.git/production/app"? If the parent pom, do I use "scm:git:g...@github.com:xxx/yyy.git/production/app/parent-pom"? If in each module's pom, do I use "scm:git:g...@github.com:xxx/yyy.git/production/app/module_name"? * Into which pom to I put the <distributionManagement> section: the root pom, the parent pom, or each module's pom? * After I issue my "git flow release start 0.2.0.RELEASE" in my dev branch's production/app directory, in which directory (after switching to the release/0.2.0.RELEASE branch, of course) do I issue the command "mvn release:prepare release:perform": production/app or production/app/parent-pom? -- mailto:matt...@matthewadams.me skype:matthewadams12 googletalk:matt...@matthewadams.me http://matthewadams.me http://www.linkedin.com/in/matthewadams --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org