Version 11

    This page is out of date and refers to old Maven repository work

    Maven Build System Requirements

     

    This document describes the requirements for a new maven based build system for jboss.  The requirements in this list are in order of priority.  This is a work in progress, and any items in this document are open for discussion.

     

    Snapshot Repository (Complete)

     

    • The snapshot repository contains only snapshot versions of artifacts.  This includes nightly builds and as needed builds.  Release versions such as beta, CR, GA, etc, should not be uploaded to this repository.

    • These files do not need to be under version control (svn).  They should only be used until the next snapshot is generated, or the  version is released.

    • The artifacts should be deleted after 30 days.

    • The snapshot repository is located at the URL (http://snapshots.jboss.org/maven2).

    • The repository should be available through the webdav protocol over https.  Each project with a maven build script will be able to deploy artifacts to the snapshot repository through this protocol.

    • md5 and sha1 files should be generated by maven and uploaded with the artifact during the release.

     

     

    Nightly Build Server (TODO)

     

    • A dedicated server should be available for maven based builds.

    • This server should use cruise control to run the maven build scripts

    • Cruise control should have a service account that can be used to upload artifacts to the snapshot repository.

    • Can we configure a post-commit operation to run a build and upload to the snapshot repository?

     

     

    Releases Repository

     

    • The releases repository is a web based maven 2 repository.

    • This repository is under version control (https://svn.jboss.org/repos/repository.jboss.org/maven2), and is periodically updated based on the changes in the version control system.

    • The maven download URL for this repository is (http://repository.jboss.org/maven2).

    • md5 and sha1 files should be generated by maven and uploaded with the artifact during the release.

    • (TODO) The files in this repository should be available through rsync so that the public maven repository can retrieve new releases.  This will allow the central maven repository to stay synchronized with jboss releases, and allow external projects to easily use the jboss artifacts as needed.  More information about how to do this can be found here: http://maven.apache.org/guides/mini/guide-ibiblio-upload.html.  The section about maven partners has more information.

     

     

    Third Party Dependencies Repository (TODO)

     

    • Note: This repository is still under discussion, and the details are subject to change.

    • The goal of this repository is to separate artifacts that are generated by jboss (releases repo) from externally developed artifacts that the jboss projects depend on.

    • The URL for this repository is (http://thirdparty.jboss.org/maven2)?

    • This repository should be under svn version control and should be updated periodically