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.
>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.
>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.
>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.
>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.
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>
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>
I guess the combination with the "developer connection" then becomes a
bit too much though.
>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.
- Brett
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]