Version 10

    This is a tool for programmatically releasing snapshots on sourceforge under the JBoss project.


    How To Release On Sourceforge


    This tool allows for automatically checking out a specified module from a branch, compressing it into a gzipped tar and then uploading it on Sourceforge. The program then authenticates with the Sourceforge server, and associates the file with a release. If the file already exists on Sourceforge, it will be replaced by the one you release.


    This requires the following:

    1. ) the Release Tool

    2. ) A Release Technician account on Sourceforge (username and password)



    Buildfile structure


    The build.xml file contains two targets.


    - checkOut

    • This task performs a checkout of the module specified in the property file.


    - compress

    • This task produces a tar.gz file from the checked out source files.


    - cleanup

    • Performs cleanup and called by the other targets.


    - directUpload

    • This task will upload the tar.gz onto sourceforge.


    - sourceforge

    • Contains a call to the custom ant task '<sourceforge-release-file>' which associates the uploaded file with a release.


    - upload


    • The default task of this project. It makes calls to all the tasks above.


    Outline of the Custom task


    The following is a sample of what the call to the task looks like:





    The <sourceforge-release-file> custom ant task takes the following attributes:

    • The username and password represent the credentials of the Release Technician account.

    • The groupID attribute for our purposes will be "22866" which is the JBoss project.

    • The packageID attribute for our purposes will be "16942" which is the JBoss package.

    • The releaseID attribute requires the sourgeforge assigned value referring to the release. (for example the Snapshots release id is 344652)

    • The processor attribute refers to what kind of processor it is intended for. (for example AMD64, Intel, Platform-Independent, etc. See sourceforge for a complete list)

    • The type attribute refers to the file type. (for example .txt, Source .gz, Source .bz2, etc. See sourceforge for a complete list)

    • The releaseName attribute holds the name of the file which needs to be uploaded and released. It will default to the <modulename>-snapshot.tar.gz and can be specified by setting the 'releasename' property in the call to ant.


    Build invocation


    The invocation of ant is as follows:


    $ant -Dusername=


    In addition all other attribute variables can be passed from the command line as well.


    Property files


    There are a few property files included with this tool and each of these contain information about the branch and module.


    For example the JBoss40.prop file looks like this:


    #  JBoss40.prop
    #  This contains properties specific to JBoss v4.0


    These two properties can also be passed in from the command line.