[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