[
https://issues.apache.org/jira/browse/MPIR-234?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14696247#comment-14696247
]
Chris Graham commented on MPIR-234:
-----------------------------------
I see a general drift towards a Git centric discussion, which is understandable
as most of us use it. However, the entire Maven (and particularly the SCM APIs)
implementation (and therefore thinking) are meant to be SCM agnostic.
As for Flattened/Nested. Let me try to explain (I was rushed). When you perform
a release with MRP, you perform a tagging operation. With SVN, it's a path
within the repo. We only tag our own bit. In Git, the entire repo is tagged,
and in RTC, the Component has a Snapshot taken. In SVN you can check out just a
path into your WC - you can even cherry pick from where and create your own
working structure. This falls down as the MRP can not reconstruct this, hand
made, cherry picked dir structure; it can only check out one point, and thus
lends itself to a nest structure (if not enforces it). In Git, you clone and
entire repo, and in RTC/Clearcase you load an entire Component. RTC, like Git,
can have multiple folders worth (I think of them as eclipse projects - as
that's the space I work in - esp with RTC) available. In Git, it's easy (and
makes sense to) have a root pom and nested modules, an a dir format supported
by the MRP. In RTC, it's impossible to do with the Eclipse client to place a
pom.xml in the root of a component (although it is not forbidden from the
underlying SCM impl, it may be possible from the SCM command line). It really
wants one or more folders (ie eclipse projects) in the root level of a
Component. When you check them out (SCM load in rtc terms) you get all of the
projects/folders into the one check out dir. This is kind of forced by the
eclipse client as it looks for .project files when it checks out. So you end up
with a flattened structure. In all of the RTC examples I've work with, esp when
working with the MRP and the RTC SCM integration, I've always nested the
projects and manually created links in Eclipse. Most RTC based devs either do
not know a) you can actually do this, or b) do not want too. There is no
Project Set Support for RTC SCM in eclipse (although it's been requested). Does
that all make sense or have I actually made things worse?
In terms of "ignore scm section" that was more a reference to the
help:effective-pom comment, where the scm section of the pom is output in all
pom's not just the root one. I thought that the discussion may have been
heading in the direction of actually using the scm sections in non root poms,
as I seem to remember that there is/was a request to actually implement using
the sub module poms (non root ones) scm section, so you'd perform multiple
check out operations (to make the hand crafted, cherry picked option listed
above. This is not a thing that I am a fan of.
My point here, is that I don't think that the scm section should exist, or be
used, or displayed for anything other than the root pom.
> SCM-link in site of multimodule projects should not append module name by
> default (at least for git)
> ----------------------------------------------------------------------------------------------------
>
> Key: MPIR-234
> URL: https://issues.apache.org/jira/browse/MPIR-234
> Project: Maven Project Info Reports Plugin
> Issue Type: Bug
> Components: scm
> Affects Versions: 2.4
> Reporter: Mirko Friedenhagen
>
> I have setup a simple multi module project (see
> https://github.com/mfriedenhagen/multi-module-sample/tree/multi-site-complex)
> which uses git on github as {{scm}}. While rendering the site, MPIR will by
> default add the name of the module to the SCM-URLs in source-repository.html.
> So instead of https://github.com/mfriedenhagen/multi-module-sample/ I see
> https://github.com/mfriedenhagen/multi-module-sample/core/,
> [email protected]:mfriedenhagen/multi-module-sample.git/core and
> git://github.com/mfriedenhagen/multi-module-sample.git/core in the report for
> the core module. All these URLs are invalid. For SVN this could be assumed to
> be the right behaviour, for git and probably other SCMs this is not true. As
> a workaround I have to reconfigure the scm section (see
> https://github.com/mfriedenhagen/multi-module-sample/blob/multi-site-complex/core/pom.xml)
> in the modules like this:
> {code:xml}
> <scm>
> <connection>${project.parent.scm.connection}</connection>
>
> <developerConnection>${project.parent.scm.developerConnection}</developerConnection>
> <url>${project.parent.scm.url}</url>
> </scm>
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]