> -----Original Message-----
> From: Brett Porter [mailto:[EMAIL PROTECTED]
> Sent: dimanche 20 f�vrier 2005 22:42
> To: Maven Developers List
> Subject: Re: [SCM] Question on maven.scm.svn.module property
> 
> Vincent Massol wrote:
> 
> >Hi Brett,
> >
> >Here's a summary of what I understand:
> >
> >1/ I'm ok to try replacing the use ${module} by ${pom.artifactId}
> everywhere
> >in the cruisecontrol plugin
> >
> >
> No, this makes a rather big assumption that the directory name matches
> the artifact ID. It would be nice if it were true, but it usually isn't.

I've actually committed this replacement a few hours earlier. I have tested
it on a SVN project (but not yet on a CVS project) and I'd like to know what
you think it breaks. Also you mention a directory but I'm not sure which
directory you're talking about.

If I've made a mistake I need to fix it quickly... :-)

> 
> >2/ I need access to the SCM URL from the cruisecontrol plugin. I have 2
> >options:
> >  a/ Try to compute myself taking into account the fact that the URL
> could
> >have a module defined using the ":" notation or not
> >  b/ or rely on the SCM plugin for providing this information to me
> >
> >I'd rather have the SCM plugin provide this information to consumers. For
> >the time being and in order to progress I'll do a/ by concatenating
> >${maven.scm.svn.root}/${maven.scm.svn.module}:
> >
> >    <!-- Compute the SCM URL to use. Note: IMO this should be done by the
> >         SCM plugin who should provide a URL with this information for us
> >         to use -->
> >    <maven:pluginVar var="method" plugin="maven-scm-plugin"
> >property="maven.scm.method"/>
> >    <j:if test="${method == 'cvs'}">
> >      <maven:pluginVar var="root" plugin="maven-scm-plugin"
> >property="maven.scm.cvs.root"/>
> >      <maven:pluginVar var="module" plugin="maven-scm-plugin"
> >property="maven.scm.cvs.module"/>
> >    </j:if>
> >    <j:if test="${method == 'svn'}">
> >      <maven:pluginVar var="root" plugin="maven-scm-plugin"
> >property="maven.scm.svn.root"/>
> >      <maven:pluginVar var="module" plugin="maven-scm-plugin"
> >property="maven.scm.svn.module"/>
> >    </j:if>
> >    <j:set var="url" value="${root}/${module}"/>
> >
> >Do you agree to modify the SCM plugin to provide this information to
> >consumers?
> >
> >
> ?
> 
> It already does this, but it's deprecated. I think its best to continue
> doing what it is doing. Besides, you can't depend on an unreleased
> version of the SCM plugin.
> 
> Honestly, I don't know what you are trying to achieve here. It's all
> working as is, and the SCM end needs more work before its ready to be
> used by other stuff.
> 
> I don't want these kind of interdependencies cropping up. We should put
> all the necessary utilities in Maven SCM and have cruise control use
> that - but again, its not released yet and I don't know how soon that'll
> happen.

Errr... you've lost me :-) I'm trying to move everything related to SCM in
the SCM plugin so I thin we're on the same wavelength. It seems we only have
a communication issue...

My questions is:
- Today I have the code that I've shown up there (which spans tens of
lines). How can I simplify it? 

You seem to be saying that there's a way to do so and that's exactly what
I'm trying to do.

> 
> >3/ When are you going to move back the SCM plugin to the SVN trunk? The
> >problem is that I need to call scm:checkout from the cruisecontrol plugin
> >and I can't because the cruisecontrol plugin is on SVN trunk whereas the
> SCM
> >plugin that supports svn:checkout for SVN is on a branch. I could create
> a
> >branch for the cruisecontrol plugin but I'd rather do it the other way
> >around by bringing back the SCM plugin to the trunk. What's left to do?
> >
> >
> I should put the list in JIRA, but I don't really have the time to
> concentrate on it.
> 
> Please keep using checkout-project from the previous version.

ATM, I haven't enabled my changes that use the checkout and I'll actually
remove them till the SCM plugin 1.5 is released. That's probably the
easiest.

> 
> >4/ The SCM 1.5 beta plugin needs to be fixed so that the scm:validate
> goal
> >supports URLs without a module defined. It currently doesn't.
> >
> >
> How? Guess?
> 
> If people don't declare a module then they don't get what they expect
> under the old plugin, and will continue to do so until we have it sorted
> out completely.

First I'm using the SCM 1.5 beta plugin so when you say old plugin I assume
you mean the previous version. I don't know anything about it as I'm not
using it.

Second, what I mean is that if I *don't* specify a module using the ":"
notation, the plugin (the 1.5 beta version) stops with a failure message.

I thought you told me that the SCM 1.5 beta plugin should also work if the
module is part of the URL and not specified using the ":" notation.

> 
> >5/ WRT:
> >
> >
> >
> >>That's not enough - because say you specify the URL as:
> >>http://svn.apache.org/repos/asf/maven/maven-
> >>1/core/trunk:src/test/touchstone-build
> >>
> >>what happens when you are on the MAVEN-1_0-BRANCH? How do you translate
> >>this to
> >>http://svn.apache.org/repos/asf/maven/maven-1/core/branches/MAVEN-1_0-
> >>BRANCH:src/test/touchstone-build
> >>
> >>And it is different again under svn:externals.
> >>
> >>Really, you need to be able to make some substititutions. This will all
> >>be worked through in time, but beyond the 1.5 release.
> >>
> >>
> >
> >I think that we need to do;
> >
> >http://svn.apache.org/repos/asf:maven/maven-1/core/trunk:
> >src/test/touchstone-build (i.e.: [root] + [trunk location] + [module]).
> >
> >
> This gives a lot of flexibility, but means you need to declare every
> branch and tag in the POM.

Why every branch? Only the ones you wish to use...

> 
> How about (very rough):
> 
> <scm>
> 
> <url>scm:svn:http://svn.apache.org/repos/asf/maven/maven-
> 1/core/${tagBase}/src/test/touchstone-build</url>
>   <properties>
>     <svn.trunkBase>trunk</svn.trunkBase> <!-- the default -->
>     <svn.tagBase>tags/${tag}</svn.tagBase> <!-- the default -->
>     <svn.branchBase>branches/${tag}</svn.branchBase> <!-- the default -->
>   </properties>
> </scm>

It's ok but I prefer the other option. What I don't like it too is that it
duplicates information already available in the POM (in the branch and tag
elements).

BTW, why would you need to declare less information with your notation than
with the one I've proposed? :-)

> 
> or:
> 
> <scm>
> 
> <url>scm:svn:http://svn.apache.org/repos/asf/maven/maven-
> 1/core/trunk/src/test/touchstone-build</url>
> 
> <branchUrl>scm:svn:http://svn.apache.org/repos/asf/maven/maven-
> 1/core/branches/${branch}/src/test/touchstone-build</branchUrl>
> 
> <tagUrl>scm:svn:http://svn.apache.org/repos/asf/maven/maven-
> 1/core/branches/${branch}/src/test/touchstone-build</tagUrl>

Hmm... This would mean that BranchUrl and tagURL are a concept that exist
for all SCM. This is not true I think.

> 
> I guess the combination with the "developer connection" then becomes a
> bit too much though.

I agree...

> 
> >I agree that this should be for after the 1.5 version.
> >
> >What do you think?
> >
> >
> I think I agree. Let's leave 1.5 as is so SVN support is in the hands of
> people, and then rewrite the SCM plugin having a whole view of the
> issues. We have a lot going on here, including the <versions/> tag
> removal and how to replace it in m2.
> 

Thanks
-Vincent




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to