Qpid
  1. Qpid
  2. QPID-3213

enable publishing of Maven artifacts for the client to the ASF Nexus instance

    Details

    • Type: Task Task
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.11
    • Component/s: None

      Description

      Maven artifacts have been produced for the client as part of the 0.10 release. These need to be published to the ASF's Nexus instance, so support should be added for uploading the files to a staging repository so that the artifacts can be released.

        Activity

        Hide
        Robbie Gemmell added a comment -

        I have added an Ant+Ivy publishing system based on the example files given at: http://www.apache.org/dev/publishing-maven-artifacts.html

        Ivy can be leveraged either by installing it in the Ant lib dir yourself, or by running the following command in qpid/java to place it in the qpid/java/lib/ivy lib folder:
        ant -buildfile upload.xml download-ivy

        The publishing task should be run once the release process has otherwise been completed and the artifacts signed. It can be performed from the qpid/java directory with a command as follows:
        ant -buildfile upload.xml -Dnexus.user=<apache_username> -Dnexus.password=<password> -Dmaven.artifact.dir=<path to maven repo structure from release process>

        Note: if you are behind a proxy server it is necessary to give Ant the proxy settings by doing something like:
        export ANT_OPTS="-Dhttp.proxyHost=<host> -Dhttp.proxyPort=<port> -Dhttps.proxyHost=<host> -Dhttps.proxyPort=<port>"

        Show
        Robbie Gemmell added a comment - I have added an Ant+Ivy publishing system based on the example files given at: http://www.apache.org/dev/publishing-maven-artifacts.html Ivy can be leveraged either by installing it in the Ant lib dir yourself, or by running the following command in qpid/java to place it in the qpid/java/lib/ivy lib folder: ant -buildfile upload.xml download-ivy The publishing task should be run once the release process has otherwise been completed and the artifacts signed. It can be performed from the qpid/java directory with a command as follows: ant -buildfile upload.xml -Dnexus.user=<apache_username> -Dnexus.password=<password> -Dmaven.artifact.dir=<path to maven repo structure from release process> Note: if you are behind a proxy server it is necessary to give Ant the proxy settings by doing something like: export ANT_OPTS="-Dhttp.proxyHost=<host> -Dhttp.proxyPort=<port> -Dhttps.proxyHost=<host> -Dhttps.proxyPort=<port>"
        Hide
        Robbie Gemmell added a comment -

        Added above instructions as a 'help' target to the upload.xml file.

        Can be run with:
        ant -buildfile upload.xml help

        Show
        Robbie Gemmell added a comment - Added above instructions as a 'help' target to the upload.xml file. Can be run with: ant -buildfile upload.xml help
        Hide
        Robbie Gemmell added a comment -

        Keith can you review please? Thanks.

        Show
        Robbie Gemmell added a comment - Keith can you review please? Thanks.
        Hide
        Emmanuel Bourg added a comment -

        Don't you think publishing with the Maven Ant Tasks would be much easier than using Ivy ? The artifacts are already created with the Maven Ant Tasks, publishing is just a matter of tweaking the poms (i.e. make them extend the base Apache pom to declare the nexus repos) and running "mvn release" through the tasks.

        Show
        Emmanuel Bourg added a comment - Don't you think publishing with the Maven Ant Tasks would be much easier than using Ivy ? The artifacts are already created with the Maven Ant Tasks, publishing is just a matter of tweaking the poms (i.e. make them extend the base Apache pom to declare the nexus repos) and running "mvn release" through the tasks.
        Hide
        Robbie Gemmell added a comment -

        That might be easier, I simply based it on the examples given to get something working; I didn't have a lot of time to investigate alternatives and my main focus was simply to get something done in time for the 0.10 release vote closing so as not to hold up the release (however it looks like that might not be a problem now).

        Show
        Robbie Gemmell added a comment - That might be easier, I simply based it on the examples given to get something working; I didn't have a lot of time to investigate alternatives and my main focus was simply to get something done in time for the 0.10 release vote closing so as not to hold up the release (however it looks like that might not be a problem now).
        Hide
        Andrew Kennedy added a comment -

        Emmanuel, that is what I thought as well, and I have implemented things this way in a fully Maven-ized build system I created for Qpid, which I would like to propose as an enhancement for the 0.12+ release.

        Show
        Andrew Kennedy added a comment - Emmanuel, that is what I thought as well, and I have implemented things this way in a fully Maven-ized build system I created for Qpid, which I would like to propose as an enhancement for the 0.12+ release.
        Hide
        Keith Wall added a comment -

        Hi Robbie.

        No review comments from me.

        Thanks Keith

        Show
        Keith Wall added a comment - Hi Robbie. No review comments from me. Thanks Keith

          People

          • Assignee:
            Keith Wall
            Reporter:
            Robbie Gemmell
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development