[ 
https://issues.apache.org/jira/browse/MRELEASE-362?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Osipov closed MRELEASE-362.
-----------------------------------
    Resolution: Auto Closed

This issue has been auto closed because it has been inactive for a long period 
of time. If you think this issue still applies, retest your problem with the 
most recent version of Maven and the affected component, reopen and post your 
results.

> Support tagging nested projects
> -------------------------------
>
>                 Key: MRELEASE-362
>                 URL: https://issues.apache.org/jira/browse/MRELEASE-362
>             Project: Maven Release Plugin
>          Issue Type: Improvement
>          Components: scm
>    Affects Versions: 2.0-beta-6
>            Reporter: Michael Johns
>            Priority: Minor
>
> We have a non-standard situation here.  I can _almost_ get Maven to support 
> it, but I can't cross the last hurdle of tagging and releasing the project.  
> The business case is that we have a core product that is built with Maven and 
> a customer implementation of that product that is also built with Maven.  
> Each builds just fine on their own.  They are both first-class projects.  The 
> second project depends on the first.  Each project has multiple modules.
> The situation we want to support is parallel development of both projects.  
> If a developer makes a change in the Core product, we don't want to have to 
> go through a tag/release cycle in order to pull that change into the Customer 
> project.  (Yes, this is non-standard and not the best idea, but we have few 
> options due to time and resources.)  To accomplish this, we linked the second 
> project into the first using svn:externals.  We then created a new profile in 
> our pom.xml that pulls in the "parent" pom.xml from the second project as a 
> module.  Let me see if I can visually represent it:
> Core Product
>   - Core Product Module 1
>   - Core Product Module 2
>   - Core Product Module 3
>   - Customer Project  <== linked via svn:externals and included as a module 
> in the "Core Product" pom.xml via a profile
>     - Customer Project Module 1
>     - Customer Project Module 2
>     - Customer Project Module 3
> Note that the version numbers for the Customer projects are different than 
> those in the Core Product.
> This works like a champ when running most plug-ins against it.  For example, 
> I can run the eclipse plug-in against it (using the special profile), and all 
> project dependencies are resolved correctly between the two.  The problem 
> comes when I try to tag and release them together.  This is the command I'm 
> using:
> {code}
> mvn -P customer --batch-mode -Darguments="-P customer" 
> -DpreparationGoals="jar:test-jar install" -Dresume=false -Dgoals="deploy 
> site-deploy" clean install release:prepare release:perform release:clean
> {code}
> The "customer" profile is the one that pulls in the customer projects.  This 
> command (executed in Continuum) works like a champ to release our other 
> projects.  But when I run it against this project, here's what happens:
> # Updates versions on all projects (both Core and Customer) to drop SNAPSHOT
> # Installs all projects
> # Tags Core project
> #* Does *not* tag Customer project (*this is the problem*)
> #* Tagged Core project still points to external projects' trunk (this is a 
> SVN issue, not a Maven issue)
> # Updates versions on all projects (both Core and Customer) to next SNAPSHOT
> # Checks out tagged project
> #* Project still points to Customer project's trunk (again, a SVN issue)
> # Builds projects
> #* Build fails on external projects because they point to the new SNAPSHOT 
> version of main project (due to SVN issue)
> So ignoring the SVN issues, here's what I'd like to see supported by the 
> release plug-in:
> * When tagging, also tag the Customer project that is included via a module.  
> It is a stand-alone project, so it has all of the necessary information in 
> the pom.
> I know this is a bit convoluted, so please let me know if you need 
> clarification.  I could potentially attach some of our pom files to show how 
> our project is set up, but a big part of this is the directory structure 
> (which we create using svn:externals, but it doesn't have to be done that 
> way), so I'm not sure how useful it would be.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to