maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Graham (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MPIR-234) SCM-link in site of multimodule projects should not append module name by default (at least for git)
Date Fri, 14 Aug 2015 00:45:46 GMT

    [ 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/, git@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)

Mime
View raw message