[jira] Issue Comment Edited: (MRELEASE-261) release:prepare should support flat directory multi-module projects

2010-08-24 Thread Michael Glauche (JIRA)

[ 
http://jira.codehaus.org/browse/MRELEASE-261?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=232961#action_232961
 ] 

Michael Glauche edited comment on MRELEASE-261 at 8/24/10 10:10 AM:


After some digging i think the patch for flat modules is broken for cvs. It 
seems the recent patch to tag SVN correctly did stop CVS from tagging it. If i 
look into ScmTagPhase the ScmRepository gets initialized with:

{code}
repository =
  scmRepositoryConfigurator.getConfiguredRepository( 
basedirAlignedReleaseDescriptor.getScmSourceUrl(),
   
releaseDescriptor,
   
releaseEnvironment.getSettings() );
{code}

But basedirAlignedReleaseDescriptor.getScmSourceUrl() yields 
...cvsserver|/home/cvs/repository, note the missing project AND the missing 
module ...

If i change it to the same code the SvnCommitPhase is using things are starting 
to look better, when i change the ScmFileSetConstructor back to 
releaseDescriptor.getWorkingDirectory() the tags are written to the main 
project at least. (But this of course breaks the SVN tagging ...)

@Eric,
   thanks for the links, nice explanation of the problem, but i'm stuck with 
cvs, you only present some solution for svn, or did i miss something ?



  was (Author: mglauche):
After some digging i think the patch for flat modules is broken for cvs. It 
seems the recent patch to tag SVN correctly did stop CVS from tagging it. If i 
look into ScmTagPhase the ScmRepository gets initialized with:

{code}
repository =
  scmRepositoryConfigurator.getConfiguredRepository( 
basedirAlignedReleaseDescriptor.getScmSourceUrl(),
   
releaseDescriptor,
   
releaseEnvironment.getSettings() );
{code}

But basedirAlignedReleaseDescriptor.getScmSourceUrl() yields 
...cvsserver|/home/cvs/repository, note the missing project AND the missing 
module ...

If i change it to the same code the SvnCommitPhase is using things are starting 
to look better, when i change the ScmFileSetConstructor back to 
releaseDescriptor.getWorkingDirectory() the tags are written to the main 
project at least. (But this of course breaks the SVN tagging ...)

@Eris,
   thanks for the links, nice explanation of the problem, but i'm stuck with 
cvs, you only present some solution for svn, or did i miss something ?


  
 release:prepare should support flat directory multi-module projects
 ---

 Key: MRELEASE-261
 URL: http://jira.codehaus.org/browse/MRELEASE-261
 Project: Maven 2.x Release Plugin
  Issue Type: Improvement
  Components: prepare
 Environment: linux / maven2 / svn
Reporter: paul.whe...@gmail.com
Assignee: Maria Odea Ching
 Fix For: 2.0

 Attachments: flatProject.main.patch, flatProject.test.patch, 
 maven-release-issue.tar.gz, maven-release-issue.zip, 
 MRELEASE-261-sample-project.zip, MRELEASE-261-with-its-v3.patch, 
 MRELEASE-261-with-its.patch, MRELEASE-261.patch, odd-tags.png, 
 PrepareReleaseMojo.patch


 What I mean by flat file structure firstly.
 parent/pom.xml
 module1/pom.xml
 module2/pom.xml
 .
 .
 .
 module15/pom.xml
 the parent references the modules like so
 modules
   module../module1/module
   module../module2/module
 .
 .
 .
   module../module15/module
 /modules
 When i  release:prepare only the parent project is tagged the modules 
 projects versions are incremented etc but the modules are not tagged in svn.
 I use this structure as i use eclipse as my IDE.
 I would love to see a fix for the issue marked as closed here 
 http://jira.codehaus.org/browse/MRELEASE-138. I am currenrly tagging by hand 
 each submodule of the projects but it would be so nice to have the release 
 plugin do this for me.
 forgive my english.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Issue Comment Edited: (MRELEASE-261) release:prepare should support flat directory multi-module projects

2010-01-19 Thread Eric Miles (JIRA)

[ 
http://jira.codehaus.org/browse/MRELEASE-261?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=207493#action_207493
 ] 

Eric Miles edited comment on MRELEASE-261 at 1/19/10 10:08 AM:
---

Dennis,

So I guess you're saying that it's impossible for the release plugin to support 
the following SVN structure (or there are no future plans to support it)?

{noformat}
svnroot
|
+--release-parent/trunk/pom.xml
|
+--release-module1/trunk/pom.xml
|
+--release-module1/trunk/pom.xml
{noformat}

The reason I ask is I am often brought on client/projects LONG after their SVN 
repos are setup and whether or not they can use the release plugin (especially 
for large projects) would be a big determinator for me in a Maven 
recommendation.  Trust me, I'd prefer if clients could/would reposition their 
SVN repo and existing projects so multi-module builds just worked.

It sounds like the definition of a flat structure in this particular test case 
is all projects flattened behind a single trunk/branch/tag.  My use case are 
the projects are flattened at the SVN root level, but each have their own 
trunk/branches/tags.  It seems as though my use case is a hybrid of the typical 
maven setup and the flattened use case you have provided.

  was (Author: bigehokie):
Dennis,

So I guess you're saying that it's impossible for the release plugin to support 
the following SVN structure (or there are no future plans to support it)?

{noformat}
svnroot
|
+--release-parent/trunk/pom.xml
|
+--release-module1/trunk/pom.xml
|
+--release-module1/trunk/pom.xml
{noformat}

The reason I ask is I am often brought on client/projects LONG after their SVN 
repos are setup and whether or not they can use the release plugin (especially 
for large projects) would be a big determinator for me in a Maven 
recommendation.  Trust me, I'd prefer if clients could/would reposition their 
SVN repo and existing projects so multi-module builds just worked.
  
 release:prepare should support flat directory multi-module projects
 ---

 Key: MRELEASE-261
 URL: http://jira.codehaus.org/browse/MRELEASE-261
 Project: Maven 2.x Release Plugin
  Issue Type: Improvement
  Components: prepare
 Environment: linux / maven2 / svn
Reporter: paul.whe...@gmail.com
Assignee: Maria Odea Ching
 Fix For: 2.0

 Attachments: flatProject.main.patch, flatProject.test.patch, 
 maven-release-issue.tar.gz, maven-release-issue.zip, 
 MRELEASE-261-sample-project.zip, MRELEASE-261-with-its-v3.patch, 
 MRELEASE-261-with-its.patch, MRELEASE-261.patch, odd-tags.png, 
 PrepareReleaseMojo.patch


 What I mean by flat file structure firstly.
 parent/pom.xml
 module1/pom.xml
 module2/pom.xml
 .
 .
 .
 module15/pom.xml
 the parent references the modules like so
 modules
   module../module1/module
   module../module2/module
 .
 .
 .
   module../module15/module
 /modules
 When i  release:prepare only the parent project is tagged the modules 
 projects versions are incremented etc but the modules are not tagged in svn.
 I use this structure as i use eclipse as my IDE.
 I would love to see a fix for the issue marked as closed here 
 http://jira.codehaus.org/browse/MRELEASE-138. I am currenrly tagging by hand 
 each submodule of the projects but it would be so nice to have the release 
 plugin do this for me.
 forgive my english.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Issue Comment Edited: (MRELEASE-261) release:prepare should support flat directory multi-module projects

2010-01-18 Thread Eric Miles (JIRA)

[ 
http://jira.codehaus.org/browse/MRELEASE-261?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=207361#action_207361
 ] 

Eric Miles edited comment on MRELEASE-261 at 1/18/10 7:02 PM:
--

Dennis,

Yes, you are correct in that's the structure.  I'm not sure how flat 
multi-module projects are usually stored in SVN, however, I'm a consultant and 
have been on 3 different clients/projects i the last 2 years and all 3 of these 
clients had their subversion repo setup this way (were setup LONG before I got 
there).

Regardless, I would think the release plugin would work appropriately no matter 
what my SVN structure is considering that metadata is provided in the POM.  I 
would think it shouldn't care how it's stored in SVN (or any SCM for that 
matter) nor should it care what structure it is in as long as the parent pom is 
available (in the reactor or available via relativePath).

I'm guessing that's a false assumption at this point :)

  was (Author: bigehokie):
Dennis,

Yes, you are correct in that's the structure.  I'm not sure how flat 
multi-module projects are usually stored in SVN, however, I'm a consultant and 
have been on 3 different clients/projects i the last 2 years and all 3 of these 
clients had their subversion repo setup this way (were setup LONG before I got 
there).

Regardless, I would think the release plugin would work appropriately no matter 
what my SVN structure is considering that metadata is provided in the POM.  I 
would think it shouldn't care how it's stored in SVN (or any SCM for that 
matter) nor should it care what structure it is in as long as the parent pom is 
available (in the reactor or available via relativePath).
  
 release:prepare should support flat directory multi-module projects
 ---

 Key: MRELEASE-261
 URL: http://jira.codehaus.org/browse/MRELEASE-261
 Project: Maven 2.x Release Plugin
  Issue Type: Improvement
  Components: prepare
 Environment: linux / maven2 / svn
Reporter: paul.whe...@gmail.com
Assignee: Maria Odea Ching
 Fix For: 2.0

 Attachments: flatProject.main.patch, flatProject.test.patch, 
 maven-release-issue.tar.gz, maven-release-issue.zip, 
 MRELEASE-261-sample-project.zip, MRELEASE-261-with-its-v3.patch, 
 MRELEASE-261-with-its.patch, MRELEASE-261.patch, odd-tags.png, 
 PrepareReleaseMojo.patch


 What I mean by flat file structure firstly.
 parent/pom.xml
 module1/pom.xml
 module2/pom.xml
 .
 .
 .
 module15/pom.xml
 the parent references the modules like so
 modules
   module../module1/module
   module../module2/module
 .
 .
 .
   module../module15/module
 /modules
 When i  release:prepare only the parent project is tagged the modules 
 projects versions are incremented etc but the modules are not tagged in svn.
 I use this structure as i use eclipse as my IDE.
 I would love to see a fix for the issue marked as closed here 
 http://jira.codehaus.org/browse/MRELEASE-138. I am currenrly tagging by hand 
 each submodule of the projects but it would be so nice to have the release 
 plugin do this for me.
 forgive my english.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Issue Comment Edited: (MRELEASE-261) release:prepare should support flat directory multi-module projects

2010-01-04 Thread Eric Miles (JIRA)

[ 
http://jira.codehaus.org/browse/MRELEASE-261?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=205002#action_205002
 ] 

Eric Miles edited comment on MRELEASE-261 at 1/4/10 7:57 AM:
-

Dennis,

I know this isn't a working directory.  This is the eclipse workspace folder 
that contains the three projects and is the parent directory to the parent pom 
project.  Here is my directory structure:


{noformat}
release-workspace\
|
|--release-parent
||+pom.xml (modules: ../release-module1, ../release-module2)
|
|--release-module1
||+pom.xml (parent: ../release-parent)
|
|--release-module2
 |+pom.xml (parent: ../release-parent)
{noformat}

I am issuing the release:prepare from the release-parent directory, so there 
should be no reason I receive this error.

I have asked a coworker on a Windows box to pull down the sample project 
attachment, he had no problems opening it with 7zip.  In any case, I'm 
attaching another sample project archived in a zip format.  Please see 
http://jira.codehaus.org/secure/attachment/46726/maven-release-issue.zip
.

  was (Author: bigehokie):
Dennis,

I know this isn't a working directory.  This is the eclipse workspace folder 
that contains the three projects and is the parent directory to the parent pom 
project.  Here is my directory structure:


{noformat}
release-workspace\
|
|--release-parent
||+pom.xml (modules: ../release-module1, ../release-module2)
|
|--release-module1
||+pom.xml (parent: ../release-parent)
|
|--release-module2
 |+pom.xml (parent: ../release-parent)
{noformat}

I am issuing the release:prepare from the release-parent directory, so there 
should be no reason I receive this error.

I have asked a coworker on a Windows box to pull down the sample project 
attachment, he had no problems opening it with 7zip.  In any case, I'm 
attaching another sample project archived in a zip format.
  
 release:prepare should support flat directory multi-module projects
 ---

 Key: MRELEASE-261
 URL: http://jira.codehaus.org/browse/MRELEASE-261
 Project: Maven 2.x Release Plugin
  Issue Type: Improvement
  Components: prepare
 Environment: linux / maven2 / svn
Reporter: paul.whe...@gmail.com
Assignee: Maria Odea Ching
 Fix For: 2.0

 Attachments: flatProject.main.patch, flatProject.test.patch, 
 maven-release-issue.tar.gz, maven-release-issue.zip, 
 MRELEASE-261-sample-project.zip, MRELEASE-261-with-its-v3.patch, 
 MRELEASE-261-with-its.patch, MRELEASE-261.patch, PrepareReleaseMojo.patch


 What I mean by flat file structure firstly.
 parent/pom.xml
 module1/pom.xml
 module2/pom.xml
 .
 .
 .
 module15/pom.xml
 the parent references the modules like so
 modules
   module../module1/module
   module../module2/module
 .
 .
 .
   module../module15/module
 /modules
 When i  release:prepare only the parent project is tagged the modules 
 projects versions are incremented etc but the modules are not tagged in svn.
 I use this structure as i use eclipse as my IDE.
 I would love to see a fix for the issue marked as closed here 
 http://jira.codehaus.org/browse/MRELEASE-138. I am currenrly tagging by hand 
 each submodule of the projects but it would be so nice to have the release 
 plugin do this for me.
 forgive my english.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Issue Comment Edited: (MRELEASE-261) release:prepare should support flat directory multi-module projects

2010-01-04 Thread Eric Miles (JIRA)

[ 
http://jira.codehaus.org/browse/MRELEASE-261?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=205043#action_205043
 ] 

Eric Miles edited comment on MRELEASE-261 at 1/4/10 11:36 AM:
--

Dennis,

The good news is that the prepare goal SOMEWHAT worked.  While it was able to 
change the POMs and check those in appropriately, however it failed on tagging 
the release.  Instead of having tag for each one of the modules (which is what 
I would expect), only the parent pom project was tagged and was tagged in an 
odd way.  I'm attaching a screenshot, but the tag contains a branches, tags, 
and trunk folder underneath the tag.  Take a look at the odd-tags.png file I 
have attached.

Ignoring the tagging issue, I attempted to perform the release itself.  This is 
the error I received:

{noformat}
emiles-macbook:release-parent emiles$ mvn release:perform -DcommitByProject=true
[INFO] Scanning for projects...
[INFO] Reactor build order: 
[INFO]   Unnamed - com.captechventures:release-parent:pom:0.0.3-SNAPSHOT
[INFO]   Unnamed - com.captechventures:release-module1:jar:0.0.3-SNAPSHOT
[INFO]   Unnamed - com.captechventures:release-module2:jar:0.0.3-SNAPSHOT
[INFO] 
[INFO] Building Unnamed - com.captechventures:release-parent:pom:0.0.3-SNAPSHOT
[INFO]task-segment: [release:perform] (aggregator-style)
[INFO] 
[INFO] [release:perform {execution: default-cli}]
[INFO] Checking out the project to perform the release ...
[INFO] Executing: /bin/sh -c cd 
/Users/emiles/Projects/release-workspace/release-parent/target  svn 
--non-interactive checkout 
http://localhost/dev/release-parent/tags/release-parent-0.0.2 
/Users/emiles/Projects/release-workspace/release-parent/target/checkout
[INFO] Working directory: 
/Users/emiles/Projects/release-workspace/release-parent/target
[INFO] Executing goals 'deploy'...
[WARNING] Base directory is a file. Using base directory as POM location.
[WARNING] Maven will be executed in interactive mode, but no input stream has 
been configured for this MavenInvoker instance.
[INFO] 
[ERROR] BUILD ERROR
[INFO] 
[INFO] Error executing Maven.

Working directory 
/Users/emiles/Projects/release-workspace/release-parent/target/checkout/Users/emiles/Projects/release-workspace/release-parent
 does not exist!
[INFO] 
[INFO] For more information, run Maven with the -e switch
[INFO] 
[INFO] Total time: 5 seconds
[INFO] Finished at: Mon Jan 04 12:22:31 EST 2010
[INFO] Final Memory: 11M/20M
[INFO] 

{noformat}

I had a configuration that I followed from one of the test cases checked in, 
where the workingDirectory was specified in the configuration of the plugin.  
seen as follows:

{noformat}
plugin
groupIdorg.apache.maven.plugins/groupId
artifactIdmaven-release-plugin/artifactId
version2.0-beta-10-20091102.165928-8/version
configuration

workingDirectory${basedir}/target/checkout/workingDirectory

useReleaseProfiletrue/useReleaseProfile

allowTimestampedSnapshotstrue/allowTimestampedSnapshots
/configuration
/plugin
{noformat}

I thought maybe this was the reason for the error, so I removed the 
workingDirectory configuration, performed all my checkins, did a prepare and 
attempted to release again and I received the same error as what is identified 
as above (I'm assuming this directory is the default config).


  was (Author: bigehokie):
Dennis,

The good news is that the prepare goal SOMEWHAT worked.  While it was able to 
change the POMs and check those in appropriately, however it failed on tagging 
the release.  Instead of having tag for each one of the modules (which is what 
I would expect), only the parent pom project was tagged and was tagged in an 
odd way.  I'm attaching a screenshot, but the tag contains a branches, tags, 
and trunk folder underneath the tag.  Take a look at the odd-tags.png file I 
have attached.

Ignoring the tagging issue, I attempted to perform the release itself.  At this 
point I received the same issue I was receiving before, before I added the 
-DcommitByProject JVM parameter you identifiedL

{noformat}
emiles-macbook:release-parent emiles$ mvn