Maven SourceForge plug-in

This plug-in provides support for building and deploying a project to SourceForge using the online File Release System. It will be of interest to project administrators of open source projects hosted at SourceForge.

Once installed, this plug-in can be used as the standard mechanism for your SourceForge project to release files. It works by uploading the zip files and then navigating the HTML pages of the File Release System to release the files.

The plug-in has been tested on Windows XP and Maven 1.0.2 but it should work on other platforms.


1. Install this plugin:

  maven plugin:download

2. Configure the plugin for your project in the file:

  maven.sourceforge.username = yourusername = maven-plugins
  maven.sourceforge.project.packageName = sourceforge-plugin
  maven.sourceforge.project.submitNewsItem = true 

3. Create your distributions:

  maven dist 
These can then be manually checked before release.

4. Deploy to SourceForge:

  maven sourceforge:deploy 


This plug-in performs the following operations:

  1. Convert xdocs/changes.xml to a text file target/CHANGES.txt if it exists. This will be used as the SourceForge changes file. You can create this file manually if xdocs/changes.xml does not exist.
  2. Send the files to be distributed to SourceForge's upload ftp server. This plug-in can call maven dist if desired. Various different goals allow you to send multiple files to the server.
  3. Login on the SourceForge website.
  4. Create the SourceForge package if it doesn't exist.
  5. Create the SourceForge release if it doesn't exist.
  6. Fill the SourceForge File Release page with information, in particular:
    • Use file RELEASE-NOTES.txt as the release notes if it exists
    • Use file target/CHANGES.txt as the change notes (see above)
    • Select the uploaded files
    • For each uploaded file, define the supported plateform and the file type
    • Send an email informing users of the release (optional)
  7. Post a news item on the project news, to inform users about the release (optional).
Of course, you need to have the permission to make releases on a project in order to use this plugin. You need to be an Administrator or a Release Technician for your project.