[maven] 03/24: Build with maven-debian-helper instead of Ant

Emmanuel Bourg ebourg-guest at moszumanska.debian.org
Tue May 23 21:54:57 UTC 2017


This is an automated email from the git hooks/post-receive script.

ebourg-guest pushed a commit to branch maven-3.5
in repository maven.

commit 5a4c943a8493811f44db1cc38a4121570b554462
Author: Emmanuel Bourg <ebourg at apache.org>
Date:   Mon May 15 18:55:08 2017 +0200

    Build with maven-debian-helper instead of Ant
---
 debian/changelog                   |  1 +
 debian/control                     | 56 ++++++++++++--------------------------
 debian/libmaven3-core-java.poms    | 53 +++++++++++++++++++++++++++---------
 debian/maven.buildRules            | 39 --------------------------
 debian/maven.properties            |  5 ++++
 debian/maven.rules                 | 25 ++---------------
 debian/patches/build-offline.patch | 36 ------------------------
 debian/patches/dep_versions.diff   | 47 --------------------------------
 debian/patches/series              |  2 --
 debian/rules                       | 30 ++------------------
 10 files changed, 67 insertions(+), 227 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index b7e78d4..269c067 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,7 @@ maven (3.3.9-5) UNRELEASED; urgency=medium
 
   * Team upload.
   * Build with the DH sequencer instead of CDBS
+  * Build with maven-debian-helper instead of Ant
   * Switch to debhelper level 10
 
  -- Emmanuel Bourg <ebourg at apache.org>  Mon, 15 May 2017 11:13:10 +0200
diff --git a/debian/control b/debian/control
index 6840cc0..9c01f03 100644
--- a/debian/control
+++ b/debian/control
@@ -3,8 +3,8 @@ Section: java
 Priority: optional
 Maintainer: Debian Java Maintainers <pkg-java-maintainers at lists.alioth.debian.org>
 Uploaders: Damien Raude-Morvan <drazzib at debian.org>, Emmanuel Bourg <ebourg at apache.org>
-Build-Depends-Indep: ant-optional,
-                     junit4,
+Build-Depends: debhelper (>= 10), default-jdk, maven-debian-helper
+Build-Depends-Indep: junit4,
                      libeclipse-aether-java (>= 1.0),
                      libcommons-jxpath-java,
                      libcommons-lang3-java,
@@ -12,13 +12,7 @@ Build-Depends-Indep: ant-optional,
                      libeasymock-java,
                      libguice-java (>= 4.0),
                      liblogback-java,
-                     libmaven-ant-tasks-java (>= 2.1.3-2),
-                     libmaven-clean-plugin-java (>= 2.5),
-                     libmaven-compiler-plugin-java (>= 3.2),
-                     libmaven-install-plugin-java,
-                     libmaven-jar-plugin-java,
                      libmaven-parent-java,
-                     libmaven-resources-plugin-java (>= 2.6),
                      libmockito-java,
                      libmodello-maven-plugin-java (>= 1.8),
                      libplexus-classworlds2-java (>= 2.4),
@@ -29,23 +23,19 @@ Build-Depends-Indep: ant-optional,
                      libslf4j-java,
                      libsurefire-java (>= 2.17),
                      libwagon2-java (>= 2.2-2),
-                     libxmlunit-java,
-                     maven-ant-helper,
-                     maven-repo-helper
-Build-Depends: ant, debhelper (>= 10), default-jdk
+                     libxmlunit-java
 Standards-Version: 3.9.8
 Vcs-Git: https://anonscm.debian.org/git/pkg-java/maven.git
 Vcs-Browser: https://anonscm.debian.org/cgit/pkg-java/maven.git
 Homepage: http://maven.apache.org
 
-Package: maven
+Package: libmaven3-core-java
 Architecture: all
-Depends: default-jre-headless (>= 2:1.7) | java7-runtime-headless,
-         libmaven3-core-java (= ${source:Version}),
-         ${misc:Depends}
-Replaces: maven2 (<< 2.2.1-11)
-Breaks: maven2 (<< 2.2.1-11)
-Description: Java software project management and comprehension tool
+Depends: ${misc:Depends}, ${maven:Depends}, libguice-java (>= 4.0)
+Suggests: ${maven:OptionalDepends}
+Replaces: maven (<< 3.0.5-7)
+Breaks: maven (<< 3.0.5-7), gradle (<< 2.7-4)
+Description: Core libraries for Maven 3
  Maven is a software project management and comprehension tool. Based on the
  concept of a project object model (POM), Maven can manage a project's build,
  reporting and documentation from a central piece of information.
@@ -60,27 +50,17 @@ Description: Java software project management and comprehension tool
     * Providing quality project information
     * Providing guidelines for best practices development
     * Allowing transparent migration to new features
+ .
+ This package contains the core libraries for Maven 3.
 
-Package: libmaven3-core-java
+Package: maven
 Architecture: all
-Depends: libeclipse-aether-java (>= 1.0),
-         libcommons-cli-java,
-         libcommons-lang3-java,
-         libguava-java,
-         libguice-java (>= 4.0),
-         libplexus-cipher-java,
-         libplexus-classworlds2-java (>= 2.4),
-         libplexus-component-annotations-java (>= 1.6),
-         libplexus-interpolation-java,
-         libplexus-sec-dispatcher-java,
-         libplexus-utils2-java,
-         libsisu-plexus-java (>= 0.3.0),
-         libslf4j-java,
-         libwagon2-java (>= 2.2-2),
+Depends: default-jre-headless (>= 2:1.7) | java7-runtime-headless,
+         libmaven3-core-java (= ${source:Version}),
          ${misc:Depends}
-Replaces: maven (<< 3.0.5-7)
-Breaks: maven (<< 3.0.5-7), gradle (<< 2.7-4)
-Description: Core libraries for Maven 3
+Replaces: maven2 (<< 2.2.1-11)
+Breaks: maven2 (<< 2.2.1-11)
+Description: Java software project management and comprehension tool
  Maven is a software project management and comprehension tool. Based on the
  concept of a project object model (POM), Maven can manage a project's build,
  reporting and documentation from a central piece of information.
@@ -95,5 +75,3 @@ Description: Core libraries for Maven 3
     * Providing quality project information
     * Providing guidelines for best practices development
     * Allowing transparent migration to new features
- .
- This package contains the core libraries for Maven 3.
diff --git a/debian/libmaven3-core-java.poms b/debian/libmaven3-core-java.poms
index dfd84df..ff4d3b2 100644
--- a/debian/libmaven3-core-java.poms
+++ b/debian/libmaven3-core-java.poms
@@ -1,15 +1,42 @@
-pom.xml
+# 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 and its artifact if any
+#   --ignore-pom: don't install the POM. To use on POM files that are created
+#     temporarily for certain artifacts such as Javadoc jars. [mh_install, mh_installpoms]
+#   --no-parent: remove the <parent> tag from the POM
+#   --package=<package>: an alternative package to use when installing this POM
+#      and its artifact
+#   --has-package-version: to indicate that the original version of the POM is the same as the upstream part
+#      of the version for the package.
+#   --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. [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.
+#     It will be installed with mh_install. [mh_install]
+#   --classifier=<classifier>: Optional, the classifier for the jar. Empty by default.
+#   --site-xml=<location>: Optional, the location for site.xml if it needs to be installed.
+#     Empty by default. [mh_install]
+#
+pom.xml --no-parent
 apache-maven/pom.xml --ignore
 
-maven-aether-provider/pom.xml     --has-package-version --java-lib --usj-name=maven3-aether-provider     --artifact=maven-aether-provider/target/maven-aether-provider-*.jar
-maven-artifact/pom.xml            --has-package-version --java-lib --usj-name=maven3-artifact            --artifact=maven-artifact/target/maven-artifact-*.jar
-maven-builder-support/pom.xml     --has-package-version --java-lib --usj-name=maven3-builder-support     --artifact=maven-builder-support/target/maven-builder-support-*.jar
-maven-compat/pom.xml              --has-package-version --java-lib --usj-name=maven3-compat              --artifact=maven-compat/target/maven-compat-*.jar
-maven-core/pom.xml                --has-package-version --java-lib --usj-name=maven3-core                --artifact=maven-core/target/maven-core-*.jar
-maven-embedder/pom.xml            --has-package-version --java-lib --usj-name=maven3-embedder            --artifact=maven-embedder/target/maven-embedder-*.jar
-maven-model/pom.xml               --has-package-version --java-lib --usj-name=maven3-model               --artifact=maven-model/target/maven-model-*.jar
-maven-model-builder/pom.xml       --has-package-version --java-lib --usj-name=maven3-model-builder       --artifact=maven-model-builder/target/maven-model-builder-*.jar
-maven-plugin-api/pom.xml          --has-package-version --java-lib --usj-name=maven3-plugin-api          --artifact=maven-plugin-api/target/maven-plugin-api-*.jar
-maven-repository-metadata/pom.xml --has-package-version --java-lib --usj-name=maven3-repository-metadata --artifact=maven-repository-metadata/target/maven-repository-metadata-*.jar
-maven-settings/pom.xml            --has-package-version --java-lib --usj-name=maven3-settings            --artifact=maven-settings/target/maven-settings-*.jar
-maven-settings-builder/pom.xml    --has-package-version --java-lib --usj-name=maven3-settings-builder    --artifact=maven-settings-builder/target/maven-settings-builder-*.jar
+maven-aether-provider/pom.xml     --has-package-version --java-lib --usj-name=maven3-aether-provider
+maven-artifact/pom.xml            --has-package-version --java-lib --usj-name=maven3-artifact
+maven-builder-support/pom.xml     --has-package-version --java-lib --usj-name=maven3-builder-support
+maven-compat/pom.xml              --has-package-version --java-lib --usj-name=maven3-compat
+maven-core/pom.xml                --has-package-version --java-lib --usj-name=maven3-core
+maven-embedder/pom.xml            --has-package-version --java-lib --usj-name=maven3-embedder
+maven-model/pom.xml               --has-package-version --java-lib --usj-name=maven3-model
+maven-model-builder/pom.xml       --has-package-version --java-lib --usj-name=maven3-model-builder
+maven-plugin-api/pom.xml          --has-package-version --java-lib --usj-name=maven3-plugin-api
+maven-repository-metadata/pom.xml --has-package-version --java-lib --usj-name=maven3-repository-metadata
+maven-settings/pom.xml            --has-package-version --java-lib --usj-name=maven3-settings
+maven-settings-builder/pom.xml    --has-package-version --java-lib --usj-name=maven3-settings-builder
diff --git a/debian/maven.buildRules b/debian/maven.buildRules
deleted file mode 100644
index 1d581ab..0000000
--- a/debian/maven.buildRules
+++ /dev/null
@@ -1,39 +0,0 @@
-# keep the version for all Maven plugins as versionless plugins don't work
-* * maven-plugin *
-
-junit junit jar s/4\..*/4.x/ * *
-s/easymock/org.easymock/ easymock * s/.*/debian/ * *
-
-org.eclipse.sisu org.eclipse.sisu.plexus * s/.*/debian/ * *
-s/org.eclipse.sisu/org.sonatype.plugins/ sisu-maven-plugin * s/.*/1.1/ * *
-
-org.apache.commons commons-lang3 * s/3\..*/3.x/ * *
-
-org.apache.maven.wagon * jar s/.*/2.x/ * *
-
-org.codehaus.plexus plexus-classworlds * s/.*/2.x/ * *
-org.codehaus.plexus plexus-utils * s/.*/2.x/ * *
-org.codehaus.plexus plexus-container-default * s/.*/1.5.5/ * *
-org.codehaus.plexus plexus-component-metadata * s/.*/1.5.5/ * *
-org.codehaus.plexus plexus-component-annotations * s/.*/1.5.5/ * *
-
-org.apache.maven.plugins maven-clean-plugin * s/.*/2.5/ * *
-org.apache.maven.plugins maven-resources-plugin * s/.*/2.3/ * *
-org.apache.maven.plugins maven-surefire-plugin * s/.*/2.17/ * *
-org.apache.maven.plugins maven-jar-plugin * s/.*/2.4/ * *
-org.apache.maven.plugins maven-compiler-plugin * s/.*/3.2/ * *
-
-org.apache.maven apache-maven pom s/.*/3.3.9/ * *
-org.apache.maven maven-aether-provider jar s/.*/3.3.9/ * *
-org.apache.maven maven-artifact jar s/.*/3.3.9/ * *
-org.apache.maven maven-builder-support jar s/.*/3.3.9/ * *
-org.apache.maven maven-compat jar s/.*/3.3.9/ * *
-org.apache.maven maven-core jar s/.*/3.3.9/ * *
-org.apache.maven maven-embedder jar s/.*/3.3.9/ * *
-org.apache.maven maven-model-builder jar s/.*/3.3.9/ * *
-org.apache.maven maven-model jar s/.*/3.3.9/ * *
-org.apache.maven maven-plugin-api jar s/.*/3.3.9/ * *
-org.apache.maven maven-repository-metadata jar s/.*/3.3.9/ * *
-org.apache.maven maven-settings-builder jar s/.*/3.3.9/ * *
-org.apache.maven maven-settings jar s/.*/3.3.9/ * *
-org.apache.maven maven pom s/.*/3.3.9/ * *
diff --git a/debian/maven.properties b/debian/maven.properties
new file mode 100644
index 0000000..e593715
--- /dev/null
+++ b/debian/maven.properties
@@ -0,0 +1,5 @@
+# Include here properties to pass to Maven during the build.
+# For example:
+# maven.test.skip=true
+
+maven.test.skip=true
diff --git a/debian/maven.rules b/debian/maven.rules
index c01b5d4..ba6efd8 100644
--- a/debian/maven.rules
+++ b/debian/maven.rules
@@ -1,6 +1,3 @@
-# keep the version for all Maven plugins as versionless plugins don't work
-* * maven-plugin *
-
 junit junit jar s/4\..*/4.x/ * *
 s/easymock/org.easymock/ easymock * s/.*/debian/ * *
 
@@ -14,26 +11,8 @@ org.apache.maven.wagon * jar s/.*/2.x/ * *
 org.codehaus.plexus plexus-classworlds * s/.*/2.x/ * *
 org.codehaus.plexus plexus-utils * s/.*/2.x/ * *
 org.codehaus.plexus plexus-container-default * s/.*/1.5.5/ * *
-org.codehaus.plexus plexus-component-metadata * s/.*/1.5.5/ * *
+org.codehaus.plexus plexus-component-metadata maven-plugin s/1.6/1.5.5/ * *
 org.codehaus.plexus plexus-component-annotations * s/.*/1.5.5/ * *
 
-org.apache.maven.plugins maven-clean-plugin * s/.*/2.5/ * *
-org.apache.maven.plugins maven-resources-plugin * s/.*/2.3/ * *
-org.apache.maven.plugins maven-surefire-plugin * s/.*/2.17/ * *
-org.apache.maven.plugins maven-jar-plugin * s/.*/2.4/ * *
-org.apache.maven.plugins maven-compiler-plugin * s/.*/3.2/ * *
-
 org.apache.maven apache-maven pom s/.*/3.x/ * *
-org.apache.maven maven-aether-provider jar s/.*/3.x/ * *
-org.apache.maven maven-artifact jar s/.*/3.x/ * *
-org.apache.maven maven-builder-support jar s/.*/3.x/ * *
-org.apache.maven maven-compat jar s/.*/3.x/ * *
-org.apache.maven maven-core jar s/.*/3.x/ * *
-org.apache.maven maven-embedder jar s/.*/3.x/ * *
-org.apache.maven maven-model-builder jar s/.*/3.x/ * *
-org.apache.maven maven-model jar s/.*/3.x/ * *
-org.apache.maven maven-plugin-api jar s/.*/3.x/ * *
-org.apache.maven maven-repository-metadata jar s/.*/3.x/ * *
-org.apache.maven maven-settings-builder jar s/.*/3.x/ * *
-org.apache.maven maven-settings jar s/.*/3.x/ * *
-org.apache.maven maven pom s/.*/3.x/ * *
+org.apache.maven maven* * s/.*/3.x/ * *
diff --git a/debian/patches/build-offline.patch b/debian/patches/build-offline.patch
deleted file mode 100644
index 6282cfc..0000000
--- a/debian/patches/build-offline.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Description: Run Maven in offline mode during the build
-Author: Emmanuel Bourg <ebourg at apache.org>
-Forwarded: not-needed
---- a/build.xml
-+++ b/build.xml
-@@ -109,6 +109,7 @@
-       <localRepository path="${maven.repo.local}" />
-     </artifact:pom>
-     <artifact:dependencies pathId="pom.pathid" filesetId="pom.fileset" useScope="compile">
-+      <remoteRepository id="central" url="file:///usr/share/maven-repo"/>
-       <localRepository path="${maven.repo.local}" />
-       <pom refid="pom" />
-     </artifact:dependencies>
-@@ -116,12 +117,14 @@
- 
-     <!-- Pull the dependencies for Modello -->
-     <artifact:dependencies pathId="modello.pathid" filesetId="modello.fileset">
-+      <remoteRepository id="central" url="file:///usr/share/maven-repo"/>
-       <localRepository path="${maven.repo.local}" />
-       <dependency groupId="org.codehaus.modello" artifactId="modello-maven-plugin" version="${pom.properties.modelloVersion}" />
-     </artifact:dependencies>
- 
-     <!-- Pull the dependencies for the MetadataGenerator CLI -->
-     <artifact:dependencies pathId="pmdg.pathid" filesetId="pmdg.fileset">
-+      <remoteRepository id="central" url="file:///usr/share/maven-repo"/>
-       <localRepository path="${maven.repo.local}" />
-       <dependency groupId="org.codehaus.plexus" artifactId="plexus-component-metadata" version="${pom.properties.plexusVersion}" />
-     </artifact:dependencies>
-@@ -255,6 +258,7 @@
-       <!--jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000"/-->
-       <!--jvmarg value="${maven-compile.jvmargs}"/-->
-       <classpath refid="maven.classpath" />
-+      <arg value="--offline" />
-       <arg value="${maven.debug}" />
-       <arg value="-B" />
-       <arg value="-V" />
diff --git a/debian/patches/dep_versions.diff b/debian/patches/dep_versions.diff
deleted file mode 100644
index b12a221..0000000
--- a/debian/patches/dep_versions.diff
+++ /dev/null
@@ -1,47 +0,0 @@
-Description: Like for plugins, set dependencies version to
- actual Debian packages in archive.
-Author: Damien Raude-Morvan <drazzib at debian.org>
-Last-Update: 2012-01-21
-Forwarded: not-needed
---- a/pom.xml
-+++ b/pom.xml
-@@ -45,24 +45,24 @@
-     <maven.version>3.0.5</maven.version>
-     <maven.compiler.source>1.7</maven.compiler.source>
-     <maven.compiler.target>1.7</maven.compiler.target>
--    <classWorldsVersion>2.5.2</classWorldsVersion>
--    <commonsCliVersion>1.2</commonsCliVersion>
--    <commonsLangVersion>3.4</commonsLangVersion>
--    <junitVersion>4.11</junitVersion>
--    <plexusVersion>1.6</plexusVersion>
--    <plexusInterpolationVersion>1.21</plexusInterpolationVersion>
--    <plexusUtilsVersion>3.0.22</plexusUtilsVersion>
-+    <classWorldsVersion>2.x</classWorldsVersion>
-+    <commonsCliVersion>debian</commonsCliVersion>
-+    <commonsLangVersion>3.x</commonsLangVersion>
-+    <junitVersion>4.x</junitVersion>
-+    <plexusVersion>1.5.5</plexusVersion>
-+    <plexusInterpolationVersion>debian</plexusInterpolationVersion>
-+    <plexusUtilsVersion>2.x</plexusUtilsVersion>
-     <!-- Latest version of Guava that works with Sisu -->
--    <guavaVersion>18.0</guavaVersion>
-+    <guavaVersion>debian</guavaVersion>
-     <guiceVersion>4.0</guiceVersion>
--    <sisuInjectVersion>0.3.2</sisuInjectVersion>
--    <wagonVersion>2.10</wagonVersion>
--    <securityDispatcherVersion>1.3</securityDispatcherVersion>
--    <cipherVersion>1.7</cipherVersion>
-+    <sisuInjectVersion>debian</sisuInjectVersion>
-+    <wagonVersion>2.x</wagonVersion>
-+    <securityDispatcherVersion>debian</securityDispatcherVersion>
-+    <cipherVersion>debian</cipherVersion>
-     <modelloVersion>1.8.3</modelloVersion>
--    <jxpathVersion>1.3</jxpathVersion>
--    <aetherVersion>1.0.2.v20150114</aetherVersion>
--    <slf4jVersion>1.7.5</slf4jVersion>
-+    <jxpathVersion>debian</jxpathVersion>
-+    <aetherVersion>debian</aetherVersion>
-+    <slf4jVersion>debian</slf4jVersion>
-     <maven.test.redirectTestOutputToFile>true</maven.test.redirectTestOutputToFile>
-     <!-- Control the name of the distribution and information output by mvn -->
-     <distributionId>apache-maven</distributionId>
diff --git a/debian/patches/series b/debian/patches/series
index 1d5d7b8..cb24b85 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,5 +1,3 @@
 plugins_version.diff
-dep_versions.diff
 modello-configuration.patch
-build-offline.patch
 reproducible-build-timestamp.patch
diff --git a/debian/rules b/debian/rules
index dd6c458..ac9b97d 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,39 +1,13 @@
 #!/usr/bin/make -f
 
-PACKAGE := maven
-VERSION := $(shell dpkg-parsechangelog --show-field Version | sed 's/-[^-]*$$//')
-
 %:
-	dh $@ --buildsystem=ant --with maven-repo-helper
-
-override_dh_auto_build:
-	install -d debian/tmp/maven-repo
-	cp -rL /usr/share/maven-repo/* debian/tmp/maven-repo/
-	-ln -s /usr/share/java/maven-ant-tasks.jar maven-ant-tasks-2.1.1.jar
-
-	mh_unpatchpoms -plibmaven3-core-java
-	mh_patchpoms -plibmaven3-core-java --rules=debian/maven.buildRules
-
-	dh_auto_build -- -Dpackage=$(PACKAGE) -Dversion=$(VERSION) \
-	                 -Dmaven.home=/usr/share/maven2/ \
-	                 -Dmaven.repo.local=debian/tmp/maven-repo \
-	                 -Dmaven.test.skip=true \
-	                 maven-compile
-
-override_mh_install:
-	mh_unpatchpoms -plibmaven3-core-java
-	mh_install
+	dh $@ --buildsystem=maven
 
 override_dh_install:
 	dh_install
 
 	# compress manpages
-	find debian/$(PACKAGE)/usr/share/maven/man -type f | xargs gzip -9v -n
-
-override_dh_auto_clean:
-	dh_auto_build -- clean-bootstrap
-	mh_unpatchpoms -plibmaven3-core-java
-	-find . -name target -type d | xargs rm -rf
+	find debian/maven/usr/share/maven/man -type f | xargs gzip -9v -n
 
 get-orig-source:
 	-uscan --download-current-version --force-download --rename

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/maven.git



More information about the pkg-java-commits mailing list