Brett Porter a écrit :
What you've written is correct, though I'm not sure how well that's going to work out for you since the normal deploy mechanism assumes a repository format (so it'll try to use a path, but I guess you'll just ignore that in your wagon, or use the last part to determine the release id?).

Cheers,
Brett

On 20/03/2008, at 6:54 AM, delbd wrote:

Brett Porter a écrit :

It's been a while since I've used sourceforge, but how is this different from the ssh wagons?
my mistake, by sourceforge repository, i meaned sourceforge releases :)
The sf process is as follow:

upload your file via ftp, login to sf web page, go to release page, pickup a Package name and a Release name, pickup your file, fill-in release form (type of file, release informations, etc). Then you file is available on sourceforge releases. Boring to do by hand :) I could have written a simple plugin to associate with "deploy" phase, but i think using wagon is more appropriate, as it's the standard way maven 2 uses to send releases.

it's the role-hint in components.xml. Add this to your class javadoc:

@plexus.component role="org.apache.maven.wagon.Wagon" role-hint="sf" instantiation-strategy="per-lookup"

and make sure you use the plexus-maven-plugin to generate components.xml (which you can see in the existing providers).
I planned to do something similar to what FtpWagon does: extend parent pom ^^

Am i correct if i assume this for wagon behaviour btw? If i use such config in maven2:

 <repository>
    <uniqueVersion>false</uniqueVersion>
    <id>myrepo</id>
    <name>My Repository</name>
    <url>sf://sfwagon/org.apache.maven.wagon-sf/wagon prereleases</url>
    <layout>default</layout>
  </repository>

The Repository objet available in AbstractWagon will have those properties?
id=myrepo
name=My Repository
host=sfwagon
protocol=sf
basedir=org.apache.maven.wagon-sf/wagon prereleases
url=sf://sfwagon/org.apache.maven.wagon-sf/wagon prereleases

The id is to have all sf urls with this format:
sf://projectname/package/release

Up to the user to fill that correctly, perhaps using ${...} to include build informations Note that the idea is to support upload only (sourceforge release system does not allow for manipulation of directory structure, all you have access to is a package name, a release name and a file name)

Regards,
David Delbecq

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


--
Brett Porter
[EMAIL PROTECTED]
http://blogs.exist.com/bporter/


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

Hello,

I'd like your comments on this way of handling mapping. This is how i plan to map repository + filename to sourceforge releases: Once deciding of mapping is done, uploading seems straightforward, i just rip upload and navigation stuffs from maven1 sourceforge project. Might need a bit more work for download code, since Wagon is 2 ways and old maven 1 project am based on is upload only :D


/**
* SfWagon is a Wagon to implement the sourceforge.net way of handling releases.
* There are mainly 3 working modes of this Sourceforge Wagon. The first 2
* modes are recommended as they respect the original filename, the last one
* puts the full path in filename, which can make it difficult for your end users.
* For descriptions below we always assume file of the form
* 'com/company/[...]/module/version/filename-qualifier.ext'
* <ol>
*   <li>If repository url has form sf://sourceforge.net/projectname,
*   Sourceforge mapping is as follow:<ul>
*   <li>project="projectname"</li>
*   <li>package="com.company.[...]:module"</li>
*   <li>release="version"</li>
*   <li>filename="filename-qualifier.ext"</li>
*   </ul></li>
*   <li>If repository url has form
*   sf://sourceforge.net/projectname/package,
*   Sourceforge mapping is as follow:<ul>
*   <li>project="projectname"</li>
*   <li>package="package"</li>
*   <li>release="com.company.[...]:module:version"</li>
*   <li>filename="filename-qualifier.ext"</li>
*   </ul></li>
*   <li>If repository url has form
*   sf://sourceforge.net/projectname/package/release,
*   Sourceforge mapping is as follow:<ul>
*   <li>project="projectname"</li>
*   <li>package="package""</li>
*   <li>release="version"</li>
* <li>filename="com.company.[...]:module:version:filename-qualifier.ext"</li>
*   </ul></li>
* * @author tchize
*
*
* @version $Id: SfWagon.java 615844 2008-01-28 10:31:09Z tchize $
*
* @plexus.component role="org.apache.maven.wagon.Wagon"
*   role-hint="sf"
*   instantiation-strategy="per-lookup"
*/

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

Reply via email to