[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