[logback] 02/06: Build with Maven instead of Ant
Emmanuel Bourg
ebourg-guest at moszumanska.debian.org
Mon Dec 12 00:09:41 UTC 2016
This is an automated email from the git hooks/post-receive script.
ebourg-guest pushed a commit to branch master
in repository logback.
commit 6724f06c3210ac2a0179f3218bb06f6725fde1eb
Author: Emmanuel Bourg <ebourg at apache.org>
Date: Mon Dec 12 00:45:18 2016 +0100
Build with Maven instead of Ant
---
debian/build.xml | 106 ---------------------------------
debian/changelog | 1 +
debian/control | 21 +++----
debian/liblogback-java-doc.install | 2 +-
debian/liblogback-java.poms | 36 ++++++++++-
debian/maven.ignoreRules | 26 ++++++++
debian/maven.properties | 5 ++
debian/maven.rules | 3 +-
debian/patches/01-compile-groovy.patch | 65 ++++++++++++++++++++
debian/patches/series | 1 +
debian/rules | 29 +--------
11 files changed, 148 insertions(+), 147 deletions(-)
diff --git a/debian/build.xml b/debian/build.xml
deleted file mode 100644
index 9eb5f6b..0000000
--- a/debian/build.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0"?>
-<project name="logback" basedir="..">
-
-<taskdef name="groovyc"
- classname="org.codehaus.groovy.ant.Groovyc"/>
-
-<target name="init">
- <property name="build.dir" value="build"/>
- <property name="dist.dir" value="dist"/>
-
- <property name="core.src.dir" value="logback-core/src/main"/>
- <property name="core.build.dir" value="${build.dir}/core"/>
- <property name="core.jar" value="${dist.dir}/${deb.package}-${deb.version}-core.jar"/>
-
- <property name="classic.src.dir" value="logback-classic/src/main"/>
- <property name="classic.build.dir" value="${build.dir}/classic"/>
- <property name="classic.jar" value="${dist.dir}/${deb.package}-${deb.version}-classic.jar"/>
-
- <property name="access.src.dir" value="logback-access/src/main"/>
- <property name="access.build.dir" value="${build.dir}/access"/>
- <property name="access.jar" value="${dist.dir}/${deb.package}-${deb.version}-access.jar"/>
-</target>
-
-<target name="compile.core" depends="init">
- <mkdir dir="${core.build.dir}"/>
- <javac srcdir="${core.src.dir}"
- destdir="${core.build.dir}"
- classpath="${fam.build.dir}"
- source="1.5" target="1.5"
- debug="on">
- </javac>
-</target>
-
-<target name="compile.classic" depends="compile.core">
- <mkdir dir="${classic.build.dir}"/>
- <groovyc srcdir="${classic.src.dir}" destdir="${classic.build.dir}">
- <javac classpath="${core.build.dir}"
- source="1.5" target="1.5"
- debug="on">
- </javac>
- </groovyc>
-</target>
-
-<target name="compile.access" depends="compile.core">
- <mkdir dir="${access.build.dir}"/>
- <javac srcdir="${access.src.dir}"
- destdir="${access.build.dir}"
- classpath="${core.build.dir}"
- source="1.5" target="1.5"
- debug="on">
- </javac>
-</target>
-
-<target name="jar.core" depends="compile.core">
- <jar jarfile="${core.jar}"
- basedir="${core.build.dir}" />
-</target>
-
-<target name="jar.classic" depends="compile.classic">
- <jar jarfile="${classic.jar}"
- basedir="${classic.build.dir}" />
-</target>
-
-<target name="jar.access" depends="compile.access">
- <jar jarfile="${access.jar}"
- basedir="${access.build.dir}" />
-</target>
-
-<target name="jar.all" depends="jar.core, jar.classic"> <!-- , jar.access -->
-</target>
-
-<target name="javadoc">
-
- <javadoc
- packagenames="*"
- destdir="${dist.dir}/api"
- access="protected"
- old="false"
- verbose="false"
- version="true"
- use="true"
- author="true"
- locale="en"
- >
- <fileset dir=".">
- <include name="${core.src.dir}/**/*.java"/>
- <include name="${classic.src.dir}/**/*.java"/>
- <!--<include name="${access.src.dir}/**/*.java"/>-->
- </fileset>
- </javadoc>
-
-</target>
-
-
-
-<target name="clean" depends="init">
- <delete dir="${build.dir}"/>
- <delete dir="${dist.dir}"/>
-
- <mkdir dir="${build.dir}"/>
- <mkdir dir="${dist.dir}"/>
-</target>
-
-
-
-</project>
diff --git a/debian/changelog b/debian/changelog
index d177ece..6f9e9fc 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
logback (1:1.1.7-3) UNRELEASED; urgency=medium
* Team upload.
+ * Build with Maven instead of Ant
* Switch to debhelper level 10
-- Emmanuel Bourg <ebourg at apache.org> Sun, 11 Dec 2016 22:34:52 +0100
diff --git a/debian/control b/debian/control
index a0f82bf..5b0273c 100644
--- a/debian/control
+++ b/debian/control
@@ -1,20 +1,21 @@
Source: logback
-Maintainer: Debian Java Maintainers <pkg-java-maintainers at lists.alioth.debian.org>
-Uploaders: Damien Raude-Morvan <drazzib at debian.org>
Section: java
Priority: optional
-Build-Depends: ant,
- cdbs,
- debhelper (>= 10),
+Maintainer: Debian Java Maintainers <pkg-java-maintainers at lists.alioth.debian.org>
+Uploaders: Damien Raude-Morvan <drazzib at debian.org>
+Build-Depends: debhelper (>= 10),
default-jdk,
groovy,
libgeronimo-jms-1.1-spec-java,
libjanino-java (>= 2.6.0),
libjansi-java,
libmail-java,
+ libmaven-antrun-plugin-java,
+ libmaven-bundle-plugin-java,
+ libmaven-javadoc-plugin-java,
libservlet3.1-java,
libslf4j-java (>= 1.7.18),
- maven-repo-helper
+ maven-debian-helper
Standards-Version: 3.9.8
Vcs-Git: https://anonscm.debian.org/git/pkg-java/logback.git
Vcs-Browser: https://anonscm.debian.org/cgit/pkg-java/logback.git
@@ -22,8 +23,8 @@ Homepage: http://logback.qos.ch
Package: liblogback-java
Architecture: all
-Depends: libslf4j-java (>= 1.7.18), ${misc:Depends}
-Suggests: libjanino-java (>= 2.6.0)
+Depends: ${misc:Depends}, ${maven:Depends}
+Suggests: ${maven:OptionalDepends}
Description: flexible logging library for Java
Logback is a reliable, generic, fast and flexible logging library for Java.
It's intended as a successor to the popular log4j project.
@@ -41,8 +42,8 @@ Description: flexible logging library for Java
Package: liblogback-java-doc
Architecture: all
Section: doc
-Depends: ${misc:Depends}
-Suggests: liblogback-java
+Depends: ${misc:Depends}, ${maven:DocDepends}
+Suggests: ${maven:DocOptionalDepends}
Description: flexible logging library for Java - documentation
Logback is a reliable, generic, fast and flexible logging library for Java.
It's intended as a successor to the popular log4j project.
diff --git a/debian/liblogback-java-doc.install b/debian/liblogback-java-doc.install
index ac85e03..02d3753 100644
--- a/debian/liblogback-java-doc.install
+++ b/debian/liblogback-java-doc.install
@@ -1,2 +1,2 @@
-dist/api/ /usr/share/doc/liblogback-java/
+target/site/apidocs/* /usr/share/doc/liblogback-java/api
docs/manual/ /usr/share/doc/liblogback-java/
diff --git a/debian/liblogback-java.poms b/debian/liblogback-java.poms
index ea90658..7067eec 100644
--- a/debian/liblogback-java.poms
+++ b/debian/liblogback-java.poms
@@ -1,3 +1,33 @@
-pom.xml
-logback-core/pom.xml
-logback-classic/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 --has-package-version
+logback-access/pom.xml --ignore
+logback-core/pom.xml --has-package-version
+logback-classic/pom.xml --has-package-version
+logback-examples/pom.xml --ignore
+logback-site/pom.xml --ignore
diff --git a/debian/maven.ignoreRules b/debian/maven.ignoreRules
new file mode 100644
index 0000000..9300307
--- /dev/null
+++ b/debian/maven.ignoreRules
@@ -0,0 +1,26 @@
+ch.qos.logback logback-core test-jar * * *
+com.h2database h2 * * * *
+com.icegreen greenmail * * * *
+dom4j dom4j * * * *
+hsqldb hsqldb * * * *
+joda-time joda-time * * * *
+junit junit * * * *
+log4j log4j * * * *
+org.apache.felix org.apache.felix.main * * * *
+org.apache.maven.plugins maven-assembly-plugin * * * *
+org.apache.maven.plugins maven-compiler-plugin * * * *
+org.apache.maven.plugins maven-deploy-plugin * * * *
+org.apache.maven.plugins maven-eclipse-plugin * * * *
+org.apache.maven.plugins maven-site-plugin * * * *
+org.apache.maven.plugins maven-source-plugin * * * *
+org.assertj assertj-core * * * *
+org.codehaus.groovy groovy-eclipse-compiler * * * *
+org.codehaus.groovy groovy-eclipse-batch * * * *
+org.codehaus.mojo findbugs-maven-plugin * * * *
+org.mockito mockito-core * * * *
+org.slf4j integration * * * *
+org.slf4j slf4j-api test-jar * * *
+org.slf4j slf4j-ext * * * *
+org.subethamail subethasmtp * * * *
+postgresql postgresql * * * *
+mysql mysql-connector-java * * * *
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 179d7a8..29962a3 100644
--- a/debian/maven.rules
+++ b/debian/maven.rules
@@ -1,2 +1,3 @@
junit junit jar s/4\..*/4.x/
-javax.servlet servlet-api jar s/.*/2.5/
+javax.servlet s/servlet-api/javax.servlet-api/ jar s/.*/3.1/ * *
+javax.mail s/mail/javax.mail-api * s/.*/debian/ * *
diff --git a/debian/patches/01-compile-groovy.patch b/debian/patches/01-compile-groovy.patch
new file mode 100644
index 0000000..2185c1c
--- /dev/null
+++ b/debian/patches/01-compile-groovy.patch
@@ -0,0 +1,65 @@
+Description: Compile logback-classic with the groovyc Ant task instead of groovy-eclipse-compiler (not yet in Debian)
+Author: Emmanuel Bourg <ebourg at apache.org>
+Forwarded: not-needed
+--- a/logback-classic/pom.xml
++++ b/logback-classic/pom.xml
+@@ -235,48 +235,24 @@
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <version>1.7</version>
+- <dependencies>
+- <dependency>
+- <groupId>org.apache.ant</groupId>
+- <artifactId>ant-junit</artifactId>
+- <version>1.8.1</version>
+- </dependency>
+- <dependency>
+- <groupId>junit</groupId>
+- <artifactId>junit</artifactId>
+- <version>${junit.version}</version>
+- </dependency>
+- </dependencies>
+-
+ <executions>
+ <execution>
+- <id>ant-osgi-test</id>
+- <phase>package</phase>
+- <configuration>
+- <target>
+- <property name="currentVersion" value="${project.version}"/>
+- <property name="slf4j.version" value="${slf4j.version}"/>
+- <property name="basedir" value="${basedir}"/>
+- <ant antfile="${basedir}/osgi-build.xml"/>
+- </target>
+- </configuration>
++ <id>compile-groovy</id>
++ <phase>process-resources</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+- </execution>
+-
+- <execution>
+- <id>ant-integration-test</id>
+- <phase>package</phase>
+ <configuration>
+- <target>
+- <property name="slf4j.version" value="${slf4j.version}"/>
+- <ant antfile="${basedir}/integration.xml"/>
+- </target>
++ <tasks>
++ <taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc" classpathref="maven.compile.classpath"/>
++ <mkdir dir="${project.build.outputDirectory}"/>
++ <groovyc destdir="${project.build.outputDirectory}" classpathref="maven.compile.classpath">
++ <src path="${basedir}/src/main/java"/>
++ <src path="${basedir}/src/main/groovy"/>
++ <javac source="1.6" target="1.6" debug="on"/>
++ </groovyc>
++ </tasks>
+ </configuration>
+- <goals>
+- <goal>run</goal>
+- </goals>
+ </execution>
+ </executions>
+ </plugin>
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..bbc22a6
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+01-compile-groovy.patch
diff --git a/debian/rules b/debian/rules
index 21379f7..ade639b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,30 +1,7 @@
#!/usr/bin/make -f
-include /usr/share/cdbs/1/rules/debhelper.mk
-include /usr/share/cdbs/1/class/ant.mk
-
-JAVA_HOME := /usr/lib/jvm/default-java/
-ANT_HOME := /usr/share/ant
-
-# janino glassfish-mail = core module
-# slf4j-api glassfish-javaee = classic module
-# groovy asm3-all commons-cli antlr = classic module "gaffer"
-DEB_JARS := janino javax.mail servlet-api-3.1 geronimo-jms_1.1_spec slf4j-api groovy-all asm3-all commons-cli antlr jansi
-
-DEB_ANT_BUILD_TARGET := jar.all javadoc
-DEB_ANT_CLEAN_TARGET := clean
-DEB_ANT_BUILDFILE := debian/build.xml
-DEB_ANT_ARGS := -Ddeb.package=$(DEB_SOURCE_PACKAGE) -Ddeb.version=$(DEB_UPSTREAM_VERSION)
-
-binary-post-install/liblogback-java::
- mh_installpoms -pliblogback-java
- mh_installjar -pliblogback-java -l logback-core/pom.xml dist/$(DEB_SOURCE_PACKAGE)-$(DEB_UPSTREAM_VERSION)-core.jar
- mh_installjar -pliblogback-java -l logback-classic/pom.xml dist/$(DEB_SOURCE_PACKAGE)-$(DEB_UPSTREAM_VERSION)-classic.jar
-
-clean::
- mh_clean
- -rm -rf debian/tmp
+%:
+ dh $@ --build-system=maven
get-orig-source:
- uscan --download-version $(DEB_UPSTREAM_VERSION) --force-download --rename
-
+ uscan --download-current-version --force-download --rename
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/logback.git
More information about the pkg-java-commits
mailing list