[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