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

          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
          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.
          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.
          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/
          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.
          Hide
          Robbie Gemmell added a comment -

          Andrew can you review please? Thanks.

          Show
          Robbie Gemmell added a comment - Andrew can you review please? Thanks.
          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

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Development