Details

      Description

      The attached patch files adds the maven ant tasks to the build system. It allows, on a per-module basis, to support creating a pom file and exporting the jars to a maven repository. This is not a very DRY solution, as it requires copying the dependency information from the build.deps file. I have only added the pom files for the client bits, since i believe these are the most likely to be required by folks using QMF.

      1. genpom.patch
        2 kB
        Emmanuel Bourg
      2. maven.patch
        6 kB
        Emmanuel Bourg
      3. mavenize3.patch
        7 kB
        Bryan Kearney

        Issue Links

          Activity

          Bryan Kearney created issue -
          Hide
          Bryan Kearney added a comment -

          Run the attached path file from the qpid directory. For the build to work, the maven ant tasks jar (version 2.0.10) must be downloaded from

          http://maven.apache.org/download.html

          and placed ino the qpid/java/libs directory

          Show
          Bryan Kearney added a comment - Run the attached path file from the qpid directory. For the build to work, the maven ant tasks jar (version 2.0.10) must be downloaded from http://maven.apache.org/download.html and placed ino the qpid/java/libs directory
          Bryan Kearney made changes -
          Field Original Value New Value
          Attachment mavenize.patch [ 12411100 ]
          Hide
          Bryan Kearney added a comment -

          Pom files were not in the orginal patch. This patch includes them.

          Show
          Bryan Kearney added a comment - Pom files were not in the orginal patch. This patch includes them.
          Bryan Kearney made changes -
          Attachment mavenize2.patch [ 12411426 ]
          Bryan Kearney made changes -
          Attachment mavenize.patch [ 12411100 ]
          Hide
          Bryan Kearney added a comment -

          Updated the patch to also deploy the console via maven.

          Show
          Bryan Kearney added a comment - Updated the patch to also deploy the console via maven.
          Bryan Kearney made changes -
          Attachment mavenize3.patch [ 12411537 ]
          Bryan Kearney made changes -
          Attachment mavenize2.patch [ 12411426 ]
          Hide
          Emmanuel Bourg added a comment -

          The patch is probably a bit outdated now. It would be better to reuse the poms generated by the pom task.

          Show
          Emmanuel Bourg added a comment - The patch is probably a bit outdated now. It would be better to reuse the poms generated by the pom task.
          Hide
          Emmanuel Bourg added a comment -

          I attached an alternative patch to generate the Maven artifacts:

          • like Bryan's patch it's based on the Maven Ant tasks, it installs the artifacts in the local repository and copy them in the release directory of the module.
          • the name of the artifacts has been changed from <module> to qpid-<module>. That's necessary to get the name of the jar right in the repository (qpid-client-<version>.jar instead of client-<version>.jar)
          • a source bundle is generated, when imported into an IDE it provides a convenient contextual help (quick javadoc lookup, parameters names)

          Snapshot artifacts based on this patch are available here:

          http://people.apache.org/~ebourg/qpid/maven/

          Show
          Emmanuel Bourg added a comment - I attached an alternative patch to generate the Maven artifacts: like Bryan's patch it's based on the Maven Ant tasks, it installs the artifacts in the local repository and copy them in the release directory of the module. the name of the artifacts has been changed from <module> to qpid-<module>. That's necessary to get the name of the jar right in the repository (qpid-client-<version>.jar instead of client-<version>.jar) a source bundle is generated, when imported into an IDE it provides a convenient contextual help (quick javadoc lookup, parameters names) the release.sh script has been modified to pickup the maven artifacts and sign them automatically. After uploading the files to people.apache.org the following document explains how to deploy them into the Apache repository : http://commons.apache.org/releases/release.html#a3_Deploy_Maven_Artifacts Snapshot artifacts based on this patch are available here: http://people.apache.org/~ebourg/qpid/maven/
          Emmanuel Bourg made changes -
          Attachment maven.patch [ 12442549 ]
          Emmanuel Bourg made changes -
          Attachment genpom.patch [ 12449126 ]
          Emmanuel Bourg made changes -
          Link This issue is related to QPID-2987 [ QPID-2987 ]
          Hide
          Robbie Gemmell added a comment -

          Renaming JIRA to signal client-only nature of changes.

          Show
          Robbie Gemmell added a comment - Renaming JIRA to signal client-only nature of changes.
          Robbie Gemmell made changes -
          Summary Maven releases for the client and management jars Maven artifacts for the client
          Assignee Robbie Gemmell [ gemmellr ]
          Fix Version/s 0.9 [ 12315382 ]
          Affects Version/s 0.8 [ 12315477 ]
          Affects Version/s 0.7 [ 12314455 ]
          Affects Version/s 0.6 [ 12313728 ]
          Affects Version/s 0.5 [ 12313597 ]
          Affects Version/s M4 [ 12313279 ]
          Affects Version/s M3 [ 12312117 ]
          Robbie Gemmell made changes -
          Status Open [ 1 ] In Progress [ 3 ]
          Robbie Gemmell made changes -
          Status In Progress [ 3 ] Ready To Review [ 10006 ]
          Hide
          Robbie Gemmell added a comment -

          Andrew can you review please? Thanks.

          Show
          Robbie Gemmell added a comment - Andrew can you review please? Thanks.
          Robbie Gemmell made changes -
          Assignee Robbie Gemmell [ gemmellr ] Andrew Kennedy [ andrew.kennedy ]
          Hide
          Justin Ross added a comment -

          When I tested the release scripts, I had to make a minor change to release.sh for the maven artifacts:

          [jross@nicaea ~]$ cd ~/qpid
          [jross@nicaea qpid]$ svn diff
          Index: bin/release.sh
          ===================================================================
          — bin/release.sh (revision 1071633)
          +++ bin/release.sh (working copy)
          @@ -218,8 +218,8 @@
          cp qpid-$

          {VER}/java/management/eclipse-plugin/release/*.tar.gz qpid-${VER}

          /java/management/eclipse-plugin/release/*.zip artifacts/

          1. copy the Maven artifacts
          • cp qpid-$ {VER}/java/client/release/maven artifacts/
            - cp qpid-${VER}

            /java/common/release/maven artifacts/
            + cp a qpid$

            {VER}/java/client/release/maven artifacts/
            + cp a qpid${VER}

            /java/common/release/maven artifacts/
            fi

          if [ "DOTNET" == "$DOTNET" ] ; then
          [jross@nicaea qpid]$

          Show
          Justin Ross added a comment - When I tested the release scripts, I had to make a minor change to release.sh for the maven artifacts: [jross@nicaea ~] $ cd ~/qpid [jross@nicaea qpid] $ svn diff Index: bin/release.sh =================================================================== — bin/release.sh (revision 1071633) +++ bin/release.sh (working copy) @@ -218,8 +218,8 @@ cp qpid-$ {VER}/java/management/eclipse-plugin/release/*.tar.gz qpid-${VER} /java/management/eclipse-plugin/release/*.zip artifacts/ copy the Maven artifacts cp qpid-$ {VER}/java/client/release/maven artifacts/ - cp qpid-${VER} /java/common/release/maven artifacts/ + cp a qpid $ {VER}/java/client/release/maven artifacts/ + cp a qpid ${VER} /java/common/release/maven artifacts/ fi if [ "DOTNET" == "$DOTNET" ] ; then [jross@nicaea qpid] $
          Hide
          Andrew Kennedy added a comment -

          Review OK

          Show
          Andrew Kennedy added a comment - Review OK
          Andrew Kennedy made changes -
          Status Ready To Review [ 10006 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Robbie Gemmell made changes -
          Labels old_maven_build_system
          Robbie Gemmell made changes -
          Component/s Maven build system [ 12311489 ]
          Robbie Gemmell made changes -
          Labels old_maven_build_system
          Rob Godfrey made changes -
          Labels ant_build_system
          Rob Godfrey made changes -
          Component/s Ant Build System [ 12311471 ]
          Justin Ross made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Transition Time In Source Status Execution Times Last Executer Last Execution Date
          Open Open In Progress In Progress
          599d 6h 26m 1 Robbie Gemmell 07/Feb/11 22:05
          In Progress In Progress Reviewable Reviewable
          14m 24s 1 Robbie Gemmell 07/Feb/11 22:20
          Reviewable Reviewable Resolved Resolved
          16d 14h 30m 1 Andrew Kennedy 24/Feb/11 12:50
          Resolved Resolved Closed Closed
          886d 6h 15m 1 Justin Ross 29/Jul/13 20:05

            People

            • Assignee:
              Andrew Kennedy
              Reporter:
              Bryan Kearney
            • Votes:
              2 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development