It's all about the answers!

Ask a question

Maven SCM Plugin for RTC


0
4
David Lafreniere (4.8k7) | asked Jul 20 '10, 3:41 p.m.
FORUM MODERATOR / JAZZ DEVELOPER
edited Oct 06 '16, 10:24 a.m.
Please use this forum topic to discuss the ongoing development of the Maven SCM Plugin for RTC.

I would especially like to know how users intend to use the Maven SCM Plugin and especially the Maven Release plugin in the context of RTC.

What would really help is if you could provide a short description of what you feel each scm goal should do. (What would help even more if you could provide a sample Jazz SCM CLI line on exactly what you feel should be done).

Often difficulty occurs because we are bound to the Maven SCM Plugin framework, and the level of information supplied to us for each goal may be too little or to much in order to easily map it 1:1 to an RTC use case scenario. RTC SCM is great at being flexible for team (or even personal) use, but it also has many "things" that other traditional SCM systems do not.

Questions of discussion could be:

1. Should the checkin goal automatically create and "complete" a change set with the given message/comment every time the checkin goal is executed?. Should it also "deliver" this change set with every checkin goal? or should it just check in files to the existing change set?

2. The checkout goal allows an optional passed in ScmVersion Maven object. For example, the release-plugin calls this checkout goal in the release:perform goal and used this ScmVersion object to represent a "snapshot" which was created in the release:prepare goal. However Jazz RTC does not allow you to checkout (i.e. "load") a particular snapshot. Can we come up with an agreed upon action for this scenario?
2a. One option would be to temporarily create another repository workspace which is based on the given snapshot. This would allow the user to checkout the files properly. However one problem is that these SCM goals act against the workspace defined in the SCM URL (in the pom.xml), thus future goals such as (status or checkin) would be against the original repository workspace, and not the one we checked out of...

3. The "project structure" of Maven projects and RTC/Eclipse projects are different. Maven has the concept of "parent projects" in which entire child projects exist below a parent project, whereas in Eclipse/RTC each project generally exists at the same root level. At the surface this doesn't appear to be a problem, but some Maven users may not be able to do what they want with the Jazz SCM provider. In particular, Jazz SCM does not allow checking out a project underneath another checked out project (i.e. can't have a sandbox in a sandbox).
3a. Ex: During an initial test run of release:perform (after performing after a release:prepare), I saw that the supplied checkout directory was "<releaseProject>\target\checkout" (Which Jazz Scm cannot do).

Please see the following Wiki document for additional information.
https://jazz.net/wiki/bin/view/Main/BuildFAQ#Does_Jazz_Team_Build_support_Mav

104 answers



permanent link
Chris Graham (367814) | answered Jun 01 '12, 2:46 a.m.
The release plugin/manager 2.3.1 is now available in the central repository. Or should be.

Please use this for Jazz Maven work rather than the 2.3 release.

Enjoy.

-Chris

permanent link
Chris Graham (367814) | answered May 15 '12, 7:57 a.m.
The release plugin/manager 2.3 is now available in the central repository.

Enjoy.

-Chris

permanent link
Chris Graham (367814) | answered May 09 '12, 7:53 p.m.
Easy.

The maven-scm 1.7 modules (that includes the Jazz provider) has been voted upon, approved, staged and is now in the central repo.

The maven release plugin/manager has only just had the vote started a day or two ago. Once the vote has passed, and I'm sure that it will, it will be staged and within a few days available in central.

The new version of the maven release plugin is 2.3.

-Chris

Do you know when the release-plugin will be available in the central-repo? We dont have access to the internet and only our Nexus is allowed to access the main repo.

The plugin has been release last week, shouldnt it be uploaded by now?

Thx.

permanent link
Chris Graham (367814) | answered May 01 '12, 10:42 p.m.
You're welcome! Thank you! Especially for your help in wrapping my (been in SVN for too long) brain around it.

The next step is to get the maven release plugin with it's patch, and update it to SCM 1.7, and that will complete the entire process.

-Chris

That's great. Thank you very much, Chris, for your help in cleaning up the Jazz SCM Provider and getting it contributed to Apache Maven.

permanent link
Nick Edgar (6.5k711) | answered May 01 '12, 10:45 a.m.
JAZZ DEVELOPER
That's great. Thank you very much, Chris, for your help in cleaning up the Jazz SCM Provider and getting it contributed to Apache Maven.

permanent link
Chris Graham (367814) | answered Apr 29 '12, 10:27 p.m.
The core Maven team have voted, and the 1.7 SCM release has been accepted. This is the version that contains my Jazz provider.

It's documentation is now available at:

http://maven.apache.org/scm/maven-scm-providers/maven-scm-provider-jazz/index.html

It should be being staged now, and should be in central in a couple of days, if not already.

The next step, is to get the maven release plugin released. It should be 2.3. There are discussions now to get that underway soon.

-Chris

The Maven SCM Provider Jazz module has been finished.

It's issue:

http://jira.codehaus.org/browse/SCM-670

was created, and

http://jira.codehaus.org/browse/MRELEASE-747

was updated to reflect the correct dependencies.

The patch, and it's images necessary for the site generation are all attached to the SCM-670 issue.

You are now able to download the patch and build it yourself.

As there are several other issues (unrelated to the Jazz ones) that are also going to be rolled into the release of SCM 1.7,
and that may be happening in the next week or so.

Feedback, comments welcome.
If you have issues, then please raise them Jira:

http://jira.codehaus.org/browse/SCM

Enjoy!

-Chris

permanent link
Chris Graham (367814) | answered Apr 21 '12, 11:27 p.m.
The Maven SCM Provider Jazz module has been finished.

It's issue:

http://jira.codehaus.org/browse/SCM-670

was created, and

http://jira.codehaus.org/browse/MRELEASE-747

was updated to reflect the correct dependencies.

The patch, and it's images necessary for the site generation are all attached to the SCM-670 issue.

You are now able to download the patch and build it yourself.

As there are several other issues (unrelated to the Jazz ones) that are also going to be rolled into the release of SCM 1.7,
and that may be happening in the next week or so.

Feedback, comments welcome.
If you have issues, then please raise them Jira:

http://jira.codehaus.org/browse/SCM

Enjoy!

-Chris

permanent link
Chris Graham (367814) | answered Apr 18 '12, 8:54 a.m.
Hi All.

I'm basically done.

For those of you who would like to preview and comment on the documentation, please see:

http://www.warpspeed.com.au/JazzMavenDoco.zip

It contains a PDF capture of the 4 html pages that are generated by the "mvn site" command.

Please let me know what you think.

I hope to have the patch released by the end of tomorrow.

-Chris

permanent link
Chris Graham (367814) | answered Apr 17 '12, 8:47 p.m.
@Chris: thanks for the work you are doing...a solution is really needed here.


Thanks!

I'm hoping to have the patch ready, along with some video documentation (ie a real demo/example) by the end of this week.

Then I will create a SCM issue in the Maven Jira, and then attach the patch to that issue. Then, what I've done will be publicly viewable by all.

Is there a way we can vote on the changes necessary for the Maven-SCM-Plugin?


The only voting that needs to take place, is amongst the Maven community when it comes time to release the 1.7 SCM code. Of which, I'm hoping that the Jazz patch is one of them. :-)

We are currently trying to get the release-build running using the "hacky" script-solution from post #4 but this is not a nice way especially since I havent found a way to delete the repository-workspace that is created during the process.


There are a few issues here, all of which I believe have work items associated with them. :-)
- We can not load directly from a snapshot. We can only do it from a workspace, created from a snapshot. Hence, currently, you're stuck with the plethora of left over repository workspaces.
- We can not delete (anything) from the SCM CLI. So you'll need to manually delete the workspaces using the Eclipse client.

It would be nice to see a release of your version in the near future.


:-) I'm hoping to get it done soon.

Thanks for the post,

-Chris

permanent link
Chris Graham (367814) | answered Mar 18 '12, 8:55 p.m.
Hi All.

Just a quick follow up on the above issues that Sandor and Egen had.

They were using a multi-module project to produce a single jar.

In a flattened structure.

Thus, they run into the well known, and still-not-fixed, release plugin issues with flattened, not nested, structures.

That aside, they they should have done, was to have released their parent poms as a separate project, which is normal maven practice (it encourages reuse).

Then, their jar project would simply have been the normal single module maven project, which would have worked perfectly with the existing 1.3 plugin, as I've documented clearly above.

-Chris

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.