Bug#612573: libcommons-jexl-java: Package does not install Maven artifacts

James Page james.page at canonical.com
Wed Feb 9 09:27:23 UTC 2011


Package: libcommons-jexl-java
Version: 1.1-1
Severity: normal
Tags: patch
User: ubuntu-devel at lists.ubuntu.com
Usertags: origin-ubuntu natty ubuntu-patch



*** /tmp/tmpdQbCmI
In Ubuntu, the attached patch was applied to achieve the following:

  * Enabled maven artifact deployment (LP: #715652)
    - debian/control: Build-Depends-Indep added maven-repo-helper
    - debian/rules, debian/libcommons-jexl-java.poms: install maven 
      artifacts and new target to retrieve original POM file.
    - debian/poms/commons-jexl.pom: localised pom for maven
  * Updates Standards-Version: 3.9.1, no changes.

This is required to support packaging of Jenkins (aka Hudson) which 
uses a maven based build system.

Thanks for considering the patch.


-- System Information:
Debian Release: squeeze/sid
  APT prefers natty-updates
  APT policy: (500, 'natty-updates'), (500, 'natty-security'), (500, 'natty')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.35-25-generic (SMP w/8 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash
-------------- next part --------------
=== modified file 'debian/changelog'

=== modified file 'debian/control'
--- debian/control	2009-03-29 03:19:09 +0000
+++ debian/control	2011-02-09 09:20:44 +0000
@@ -1,12 +1,13 @@
 Source: libcommons-jexl-java
-Section: libs
+Section: java
 Priority: optional
 Maintainer: Debian Java Maintainers <pkg-java-maintainers at lists.alioth.debian.org>
 Uploaders: Arnaud Vandyck <avdyk at debian.org>, Wolfgang Baer <WBaer at gmx.de>,
  Onkar Shinde <onkarshinde at ubuntu.com>
 Build-Depends: debhelper (>= 5), cdbs (>= 0.4.8)
-Build-Depends-Indep: default-jdk, ant, libcommons-logging-java, junit
-Standards-Version: 3.8.1
+Build-Depends-Indep: default-jdk, ant, libcommons-logging-java, junit,
+ maven-repo-helper
+Standards-Version: 3.9.1
 Homepage: http://jakarta.apache.org/commons/jexl
 
 Package: libcommons-jexl-java

=== added file 'debian/libcommons-jexl-java.poms'
--- debian/libcommons-jexl-java.poms	1970-01-01 00:00:00 +0000
+++ debian/libcommons-jexl-java.poms	2011-02-09 09:20:30 +0000
@@ -0,0 +1,20 @@
+# List of POM files for the package
+# Format of this file is:
+# <path to pom file> [option]*
+# where option can be:
+#   --ignore: ignore this POM or
+#   --no-parent: remove the <parent> tag from the POM
+#   --package=<package>: an alternative package to use when installing this POM
+#      and its artifact
+#   --keep-elements=<elem1,elem2>: a list of XML elements to keep in the POM
+#      during a clean operation with mh_cleanpom or mh_installpom
+#   --artifact=<path>: path to the build artifact associated with this POM,
+#      it will be installed when using the command mh_install
+#   --java-lib: install the jar into /usr/share/java to comply with Debian
+#      packaging guidelines
+#   --usj-name=<name>: name to use when installing the library in /usr/share/java
+#   --usj-version=<version>: version to use when installing the library in /usr/share/java
+#   --no-usj-versionless: don't install the versionless link in /usr/share/java
+#   --dest-jar=<path>: the destination for the real jar
+#
+debian/poms/commons-jexl.pom

=== added file 'debian/maven.rules'
--- debian/maven.rules	1970-01-01 00:00:00 +0000
+++ debian/maven.rules	2011-02-09 09:20:30 +0000
@@ -0,0 +1,19 @@
+# Maven rules - transform Maven dependencies and plugins
+# Format of this file is:
+# [group] [artifact] [type] [version] [classifier] [scope]
+# where each element can be either
+# - the exact string, for example org.apache for the group, or 3.1
+#   for the version. In this case, the element is simply matched
+#   and left as it is
+# - * (the star character, alone). In this case, anything will
+#   match and be left as it is. For example, using * on the
+#  position of the artifact field will match any artifact id
+# - a regular expression of the form s/match/replace/
+#   in this case, elements that match are transformed using
+#   the regex rule.
+# All elements much match before a rule can be applied
+# Example rule: match jar with groupid= junit, artifactid= junit
+# and version starting with 3., replacing the version with 3.x
+#   junit junit jar s/3\\..*/3.x/
+junit junit jar s/3\..*/3.x/ * *
+commons-logging commons-logging jar s/1\..*/debian/ * * 

=== added directory 'debian/poms'
=== added file 'debian/poms/commons-jexl.pom'
--- debian/poms/commons-jexl.pom	1970-01-01 00:00:00 +0000
+++ debian/poms/commons-jexl.pom	2011-02-09 09:20:30 +0000
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>commons-jexl</groupId>
+  <artifactId>commons-jexl</artifactId>
+  <name>Commons JEXL</name>
+  <version>1.1</version>
+  <description>Jexl is an implementation of the JSTL Expression Language with extensions.</description>
+  <url>http://jakarta.apache.org/commons/jexl/</url>
+  <issueManagement>
+    <url>http://issues.apache.org/jira/</url>
+  </issueManagement>
+  <ciManagement>
+    <notifiers>
+      <notifier>
+        <configuration>
+          <address>commons-dev at jakarta.apache.org</address>
+        </configuration>
+      </notifier>
+    </notifiers>
+  </ciManagement>
+  <inceptionYear>2003</inceptionYear>
+  <mailingLists>
+    <mailingList>
+      <name>Commons Dev List</name>
+      <subscribe>commons-dev-subscribe at jakarta.apache.org</subscribe>
+      <unsubscribe>commons-dev-unsubscribe at jakarta.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/jakarta-commons-dev/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Commons User List</name>
+      <subscribe>commons-user-subscribe at jakarta.apache.org</subscribe>
+      <unsubscribe>commons-user-unsubscribe at jakarta.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/jakarta-commons-user/</archive>
+    </mailingList>
+  </mailingLists>
+  <developers>
+    <developer>
+      <id>dion</id>
+      <name>dIon Gillard</name>
+      <email>dion at apache.org</email>
+      <organization>Apache Software Foundation</organization>
+    </developer>
+    <developer>
+      <id>geirm</id>
+      <name>Geir Magnusson Jr.</name>
+      <email>geirm at apache.org</email>
+      <organization>independent</organization>
+    </developer>
+    <developer>
+      <id>tobrien</id>
+      <name>Tim O'Brien</name>
+      <email>tobrien at apache.org</email>
+      <organization>independent</organization>
+    </developer>
+    <developer>
+      <id>proyal</id>
+      <name>Peter Royal</name>
+      <email>proyal at apache.org</email>
+      <organization>Pace Systems Group, Inc.</organization>
+    </developer>
+    <developer>
+      <id>jstrachan</id>
+      <name>James Strachan</name>
+      <email>jstrachan at apache.org</email>
+      <organization>SpiritSoft, Inc.</organization>
+    </developer>
+    <developer>
+      <id>rahul</id>
+      <name>Rahul Akolkar</name>
+      <email>rahul AT apache.org</email>
+      <organization>Apache Software Foundation</organization>
+    </developer>
+  </developers>
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>/LICENSE.txt</url>
+    </license>
+  </licenses>
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/jakarta/commons/proper/jexl/trunk</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/jakarta/commons/proper/jexl/trunk</developerConnection>
+    <url>http://svn.apache.org/repos/asf/jakarta/commons/proper/jexl/trunk</url>
+  </scm>
+  <organization>
+    <name>The Apache Software Foundation</name>
+    <url>http://jakarta.apache.org</url>
+  </organization>
+  <build>
+    <sourceDirectory>src/java</sourceDirectory>
+    <testSourceDirectory>src/test</testSourceDirectory>
+    <resources>
+      <resource>
+        <targetPath>META-INF</targetPath>
+        <directory>.</directory>
+        <includes>
+          <include>NOTICE.txt</include>
+        </includes>
+      </resource>
+    </resources>
+    <plugins>
+      <plugin>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <includes>
+            <include>**/*Test.java</include>
+          </includes>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-xdoc-plugin</artifactId>
+        <version>1.9.2</version>
+        <configuration>
+          <comment>&lt;strong&gt;Site Only&lt;/strong&gt; - v1.9.2 (minimum)</comment>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>maven-plugins</groupId>
+        <artifactId>maven-findbugs-plugin</artifactId>
+        <version>1.1</version>
+        <configuration>
+          <comment>&lt;strong&gt;Site Only&lt;/strong&gt; - v1.1 (minimum)</comment>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+  <dependencies>
+    <dependency>
+      <groupId>commons-logging</groupId>
+      <artifactId>commons-logging</artifactId>
+      <version>1.0.3</version>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+    </dependency>
+  </dependencies>
+  <distributionManagement>
+    <repository>
+      <id>default</id>
+      <name>Default Repository</name>
+      <url>file:///www/jakarta.apache.org/builds/jakarta-commons/jexl/</url>
+    </repository>
+    <site>
+      <id>default</id>
+      <name>Default Site</name>
+      <url>scp://people.apache.org//www/jakarta.apache.org/commons/jexl/</url>
+    </site>
+    <status>converted</status>
+  </distributionManagement>
+</project>
\ No newline at end of file

=== modified file 'debian/rules'
--- debian/rules	2009-03-29 03:19:09 +0000
+++ debian/rules	2011-02-09 09:20:30 +0000
@@ -13,11 +13,22 @@
 DEB_ANT_BUILD_TARGET := jar
 #DEB_ANT_TEST_TARGET := test
 ANT_OPTS             := -Dant.build.javac.source=1.4 -Dant.build.javac.target=1.4
+PACKAGE              := commons-jexl
+MAVEN_REPO           := http://repo1.maven.org/maven2
 
 LIBRARY=commons-jexl
 
 install/libcommons-jexl-java::
 	ln -s commons-jexl-$(DEB_UPSTREAM_VERSION).jar debian/libcommons-jexl-java/usr/share/java/commons-jexl.jar
 
+binary-post-install/lib$(PACKAGE)-java::
+	mh_installpoms -plib$(PACKAGE)-java
+	mh_installjar -plib$(PACKAGE)-java -l debian/poms/$(PACKAGE).pom target/$(PACKAGE)-$(DEB_UPSTREAM_VERSION).jar 
+
 get-orig-source::
 	uscan --verbose --force-download --rename
+
+get-orig-pom:
+	mkdir -p debian/poms
+	wget  -U NoSuchBrowser/1.0 -O debian/poms/$(PACKAGE).xml \
+		$(MAVEN_REPO)/commons-jexl/$(PACKAGE)/$(DEB_UPSTREAM_VERSION)/$(PACKAGE)-$(DEB_UPSTREAM_VERSION).pom



More information about the pkg-java-maintainers mailing list