[jira] Issue Comment Edited: (MRELEASE-261) release:prepare should support flat directory multi-module projects
[ 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
[ 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
[ 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
[ 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
[ 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