[maven-debian-helper] 06/21: Bootstrap debian build from itself rather than maven-ant-helper

Emmanuel Bourg ebourg-guest at moszumanska.debian.org
Fri Nov 13 15:05:44 UTC 2015


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

ebourg-guest pushed a commit to branch maven-debian-helper-2.0
in repository maven-debian-helper.

commit e0a63e9ef4fb38d50e8cbb510c92cfcd2524d0da
Author: Andrew Schurman <arcticwaters at gmail.com>
Date:   Mon Sep 15 12:52:36 2014 -0700

    Bootstrap debian build from itself rather than maven-ant-helper
---
 debian/build.properties          |  4 ---
 debian/build.xml                 | 67 ----------------------------------------
 debian/changelog                 |  1 +
 debian/control                   |  3 +-
 debian/rules                     | 37 +++++++++++++++++-----
 pom.xml                          |  8 +++++
 share/cdbs/1/class/maven-vars.mk |  3 +-
 share/cdbs/1/class/maven.mk      |  3 +-
 8 files changed, 44 insertions(+), 82 deletions(-)

diff --git a/debian/build.properties b/debian/build.properties
index 37c9d60..5166494 100644
--- a/debian/build.properties
+++ b/debian/build.properties
@@ -1,6 +1,2 @@
-build.directory=target
-build.javaVersion=1.6
-javadoc.dir=target/api
-classpath.test=/usr/share/java/junit4.jar
 maven.test.skip=true
 
diff --git a/debian/build.xml b/debian/build.xml
deleted file mode 100644
index 815f0d9..0000000
--- a/debian/build.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="pkg-java" default="package" basedir="..">
-
-    <property file="debian/build.properties"/>
-    <property name="maven.build" value="/usr/share/maven-ant-helper/maven-build.xml"/>
-    <property file="/usr/share/maven-ant-helper/maven-defaults.properties"/>
-
-    <macrodef name="cleanmodule">
-        <attribute name="dir"/>
-        <sequential>
-          <ant target="clean" antfile="${maven.build}" dir="@{dir}">
-            <property name="debian.dir" location="debian" />
-            <property name="project.dir" value="@{dir}" />
-          </ant> 
-        </sequential>
-    </macrodef>
-
-    <macrodef name="packagemodule">
-        <attribute name="dir"/>
-        <sequential>
-          <ant target="package-and-local-install" antfile="${maven.build}" dir="@{dir}">
-            <property name="debian.dir" location="debian" />
-            <property name="project.dir" value="@{dir}" />
-            <property name="keep-cleaned-pom" value="true" />
-          </ant>
-        </sequential>
-    </macrodef>
-
-    <macrodef name="package-plugin-module">
-        <attribute name="dir"/>
-        <sequential>
-          <ant target="package-and-local-install" antfile="${maven.build}" dir="@{dir}">
-            <property name="debian.dir" location="debian" />
-            <property name="project.dir" value="@{dir}" />
-            <property name="maven.generate.target" value="plugin:descriptor" />
-            <property name="keep-cleaned-pom" value="true" />
-            <property name="use-local-repo" value="true" />
-          </ant>
-        </sequential>
-    </macrodef>
-
-    <target name="clean">
-        <cleanmodule dir=""/>
-        <cleanmodule dir="maven-debian-helper"/>
-        <cleanmodule dir="debian-maven-plugin"/>
-        <cleanmodule dir="maven-build-nodocs"/>
-        <cleanmodule dir="maven-packager-utils"/>
-    </target>
-
-    <target name="package">
-        <packagemodule dir=""/>
-        <packagemodule dir="maven-debian-helper"/>
-        <packagemodule dir="maven-build-nodocs"/>
-        <package-plugin-module dir="debian-maven-plugin"/>
-        <package-plugin-module dir="maven-packager-utils"/>
-    </target>
-
-    <target name="javadoc">
-        <javadoc destdir="${javadoc.dir}">
-            <packageset dir="maven-debian-helper/src/main/java/"/>
-            <packageset dir="debian-maven-plugin/src/main/java/"/>
-            <packageset dir="maven-packager-utils/src/main/java/"/>
-        </javadoc>
-    </target>
-
-</project>
diff --git a/debian/changelog b/debian/changelog
index d78a894..1693862 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
 maven-debian-helper (2.0.0) UNRELEASED; urgency=medium
 
   * Update Maven to version 3.0.5
+  * Build deb package using itself rather than maven-ant-helper
 
  -- Andrew Schurman <arcticwaters at gmail.com>  Mon, 16 Mar 2015 18:48:32 -0700
 
diff --git a/debian/control b/debian/control
index f5ea27d..fd2f525 100644
--- a/debian/control
+++ b/debian/control
@@ -8,9 +8,10 @@ Uploaders: Torsten Werner <twerner at debian.org>,
            Thomas Koch <thomas at koch.ro>,
            Emmanuel Bourg <ebourg at apache.org>,
            Wolodja Wentland <debian at babilen5.org>
-Build-Depends: cdbs, debhelper (>= 9), default-jdk, maven-ant-helper (>= 7.0), ant-optional, help2man
+Build-Depends: cdbs, debhelper (>= 9), default-jdk, help2man
 Build-Depends-Indep: junit4,
                      libcommons-io-java,
+                     libmaven-install-plugin-java,
                      libmaven-plugin-tools-java,
                      libplexus-velocity-java,
                      maven-repo-helper (>= 1.8.9)
diff --git a/debian/rules b/debian/rules
index 480404c..4db860f 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,18 +1,39 @@
 #!/usr/bin/make -f
 
+ROOT_DIR := $(shell dirname $(abspath $(lastword $(MAKEFILE_LIST))))/..
+# ensure that maven.mk is able to include necessary files
+_cdbs_class_path = $(ROOT_DIR)/share/cdbs/1/class
+
 include /usr/share/cdbs/1/rules/debhelper.mk
-include /usr/share/cdbs/1/class/ant.mk
+include $(ROOT_DIR)/share/cdbs/1/class/maven.mk
 
 PACKAGE              := $(DEB_SOURCE_PACKAGE)
 VERSION              := $(shell echo ${DEB_UPSTREAM_VERSION} | sed -r 's/([0-9\.]+).*/\1/')
 JAVA_HOME            := /usr/lib/jvm/default-java
-DEB_JARS             := ant-junit junit commons-io plexus-classworlds maven-core maven-artifact maven-artifact-manager maven-model \
- maven-embedder maven-plugin-api maven-scm-api velocity file-management plexus-utils \
- plexus-container-default-alpha maven-repo-helper
-DEB_ANT_BUILD_TARGET := package #javadoc
-DEB_ANT_BUILDFILE    := debian/build.xml
-DEB_ANT_ARGS         := -Dpackage=$(PACKAGE) -Dbin.package=$(PACKAGE)
-API_DOCS             := target/api
+MAVEN_CLASSCONF_ORIG := $(ROOT_DIR)/etc/m2-debian.conf
+MAVEN_CLASSCONF_REAL := $(ROOT_DIR)/debian/.mh/etc/m2-debian.conf
+MAVEN_CLASSCONF      := $(MAVEN_CLASSCONF_REAL)
+MAVEN_SETTINGS       := $(ROOT_DIR)/etc/settings-debian.xml
+DEB_MAVEN_PROPERTYFILE:= $(ROOT_DIR)/debian/build.properties
+DEB_MAVEN_SCRIPT_DIR := $(ROOT_DIR)/share/maven-debian-helper/
+
+
+# need to use local class config 
+debian/stamp-maven-build: override MAVEN_CLASSCONF=$(ROOT_DIR)/etc/m2-debian-nodocs.conf
+
+# clean happens before we get a chance to bootstrap (and we don't need sugar yet)
+clean:: override MAVEN_CLASSCONF=/etc/maven/m2.conf
+clean:: override JAVA_OPTS+="-Dmaven.home=$(MAVEN_HOME)"
+
+# bootstrap the build process
+before-mvn-build:: override MAVEN_CLASSCONF=/etc/maven/m2.conf
+before-mvn-build:: override JAVA_OPTS+="-Dmaven.home=$(MAVEN_HOME)"
+before-mvn-build::
+	$(DEB_MAVEN_INVOKE) -Dmaven.test.skip -Djar.finalName=maven-debian-helper install
+	cp maven-debian-helper/target/maven-debian-helper.jar debian/.mh/
+	sed 's|load .*/maven-debian-helper.jar|load $(ROOT_DIR)/debian/.mh/maven-debian-helper.jar|g' $(MAVEN_CLASSCONF_ORIG) > $(MAVEN_CLASSCONF_REAL)
+	$(DEB_MAVEN_INVOKE) clean
+
 
 debian/.mh:
 	mkdir -p debian/.mh
diff --git a/pom.xml b/pom.xml
index 8eef497..7d3b933 100644
--- a/pom.xml
+++ b/pom.xml
@@ -90,6 +90,14 @@
                         <target>1.6</target>
                     </configuration>
                 </plugin>
+                <plugin>
+                    <artifactId>maven-jar-plugin</artifactId>
+                    <version>2.4</version>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-plugin-plugin</artifactId>
+                    <version>3.2</version>
+                </plugin>
             </plugins>
         </pluginManagement>
     </build>
diff --git a/share/cdbs/1/class/maven-vars.mk b/share/cdbs/1/class/maven-vars.mk
index 022b625..299d5ad 100644
--- a/share/cdbs/1/class/maven-vars.mk
+++ b/share/cdbs/1/class/maven-vars.mk
@@ -37,6 +37,7 @@ MAVEN_HOME = /usr/share/maven
 
 MAVEN_DEBIAN_VERSION = $(shell ls /usr/share/maven-repo/org/debian/maven/maven-packager-utils/ | sed 's|/||')
 MAVEN_CLASSCONF = /etc/maven/m2-debian.conf
+MAVEN_SETTINGS = /etc/maven/settings-debian.xml
 
 # The home directory of the Java Runtime Environment (JRE) or Java Development
 # Kit (JDK). You can either directly set JAVA_HOME in debian/rules or set
@@ -94,7 +95,7 @@ DEB_MAVEN_PROPERTYFILE = $(shell test -f $(CURDIR)/debian/maven.properties && ec
 DEB_MAVEN_INVOKE = cd $(DEB_BUILDDIR) && $(JAVACMD) -noverify -cp $(DEB_CLASSPATH) \
 		 $(JAVA_OPTS) -Dclassworlds.conf=$(MAVEN_CLASSCONF) \
 		 org.codehaus.classworlds.Launcher \
-		 -s/etc/maven/settings-debian.xml \
+		 -s$(MAVEN_SETTINGS) \
 		 -Dmaven.repo.local=$(DEB_MAVEN_REPO) \
 		 $(if $(DEB_MAVEN_ARGS_$(cdbs_curpkg)),$(DEB_MAVEN_ARGS_$(cdbs_curpkg)),$(DEB_MAVEN_ARGS))
 
diff --git a/share/cdbs/1/class/maven.mk b/share/cdbs/1/class/maven.mk
index 02af553..e9ada73 100644
--- a/share/cdbs/1/class/maven.mk
+++ b/share/cdbs/1/class/maven.mk
@@ -32,6 +32,7 @@ include $(_cdbs_rules_path)/buildcore.mk$(_cdbs_makefile_suffix)
 include $(_cdbs_class_path)/maven-vars.mk$(_cdbs_makefile_suffix)
 
 DEB_MAVEN_REPO := $(CURDIR)/debian/maven-repo
+DEB_MAVEN_SCRIPT_DIR := /usr/share/maven-debian-helper/
 
 JAVA_OPTS = \
   $(shell test -n "$(DEB_MAVEN_PROPERTYFILE)" && echo -Dproperties.file.manual=$(DEB_MAVEN_PROPERTYFILE))
@@ -74,7 +75,7 @@ unpatch-poms: debian/$(DEB_JAR_PACKAGE).poms
 	$(RM) -f debian/stamp-poms-patched
 
 debian/maven-repo:
-	/usr/share/maven-debian-helper/copy-repo.sh $(CURDIR)/debian
+	$(DEB_MAVEN_SCRIPT_DIR)/copy-repo.sh $(CURDIR)/debian
 
 post-patches:: patch-poms
 

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



More information about the pkg-java-commits mailing list