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]