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]

Reply via email to