[ 
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/, 
> g...@github.com: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: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to