Author: ludovicc-guest Date: 2009-08-01 21:35:29 +0000 (Sat, 01 Aug 2009) New Revision: 9434
Modified: trunk/maven-debian-helper/bin/mh_make trunk/maven-debian-helper/debian/changelog trunk/maven-debian-helper/debian/control trunk/maven-debian-helper/debian/rules trunk/maven-debian-helper/etc/fake-poms.conf trunk/maven-debian-helper/maven-debian-plugin/src/main/java/org/debian/maven/plugin/SysInstallDocMojo.java trunk/maven-debian-helper/maven-debian-plugin/src/main/java/org/debian/maven/plugin/SysInstallMojo.java trunk/maven-debian-helper/maven-packager-utils/src/main/java/org/debian/maven/packager/DependenciesSolver.java trunk/maven-debian-helper/maven-packager-utils/src/main/java/org/debian/maven/packager/GenerateDebianFilesMojo.java trunk/maven-debian-helper/maven-packager-utils/src/main/resources/README.source.vm trunk/maven-debian-helper/maven-packager-utils/src/main/resources/control.ant.vm trunk/maven-debian-helper/maven-packager-utils/src/main/resources/control.vm trunk/maven-debian-helper/maven-packager-utils/src/main/resources/copyright.vm trunk/maven-debian-helper/maven-packager-utils/src/main/resources/java-doc.doc-base.vm trunk/maven-debian-helper/maven-packager-utils/src/main/resources/orig-tar.svn.vm trunk/maven-debian-helper/share/cdbs/1/class/maven-vars.mk trunk/maven-debian-helper/share/cdbs/1/class/maven.mk Log: * Generate Javadoc API automatically. * Add mh_make tool to generate Debian packaging automatically from a Maven project. Modified: trunk/maven-debian-helper/bin/mh_make =================================================================== --- trunk/maven-debian-helper/bin/mh_make 2009-08-01 21:11:55 UTC (rev 9433) +++ trunk/maven-debian-helper/bin/mh_make 2009-08-01 21:35:29 UTC (rev 9434) @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e MH_VERSION=0.4 . /usr/share/maven-repo-helper/mh_lib.sh @@ -26,26 +26,27 @@ if [ -z "$DEBFULLNAME" ]; then echo "Please define the environment variable DEBFULLNAME, e.g." - echo "export DEBFULLNAME=\"Ludovic Claude\"" + echo "export DEBFULLNAME=\"John Doe\"" return; fi if [ -z "$DEBEMAIL" ]; then echo "Please define the environment variable DEBEMAIL, e.g." - echo "export DEBEMAIL=\"[email protected]\"" + echo "export DEBEMAIL=\"[email protected]\"" return; fi +if [ -z "$DEBLICENSE" ]; then + echo "Environment variable DEBLICENSE not set, use GPL-3+ by default" + DEBLICENSE="GPL-3+" +fi + PACKAGE=$(getarg p package) BIN_PACKAGE=$(getarg b bin-package) RUN_TESTS=$(getarg t run-tests) GEN_JAVADOC=$(getarg d javadoc) ANT=$(getarg a ant) -if [ -z "$DEBLICENSE" ]; then - DEBLICENSE="GPL-3" -fi - if [ -z "$PACKAGE" ]; then PACKAGE="$(basename $(pwd))" echo "Enter the name of the new Debian source package. If empty, it will defaults to $PACKAGE" @@ -86,10 +87,11 @@ java -cp /usr/share/java/maven-project.jar:/usr/share/java/maven-repo-helper.jar:/usr/share/java/maven-packager-utils.jar org.debian.maven.packager.DependenciesSolver --package="$BIN_PACKAGE" ${ANT:--ant} --maven-repo=/usr/share/maven-repo fi -if [ ! -e .debianVersion ]; then - touch .debianVersion - mh_patchpoms -p$BIN_PACKAGE --keep-pom-version +if [ -e pom.xml.save ]; then + mh_unpatchpoms -p$BIN_PACKAGE fi + +mh_patchpoms -p$BIN_PACKAGE --keep-pom-version mvn org.debian.maven:maven-packager-utils:$MH_VERSION:generate -Demail="$DEBEMAIL" -Dpackager="$DEBFULLNAME" -DpackagerLicense="$DEBLICENSE" -Dpackage="$PACKAGE" -Dbin.package="$BIN_PACKAGE" -DrunTests="$RUN_TESTS" -DgenerateJavadoc="$GEN_JAVADOC" -Dmaven.repo.local=/usr/share/maven-repo ${ANT:+-DpackageType=ant} --offline @@ -101,6 +103,6 @@ source debian/tmp/pom.properties rm -R debian/tmp version=$(echo $version | sed -re's/-(alpha|beta)-?/~\1/') - dch --create --newversion=${version}-1 --package=$PACKAGE "Initial release (Closes: #XXXXX)" + dch --create --newversion=${version}-1 --package=$PACKAGE "Initial release (Closes: #nnnn) <nnnn is the bug number of your ITP>" fi Modified: trunk/maven-debian-helper/debian/changelog =================================================================== --- trunk/maven-debian-helper/debian/changelog 2009-08-01 21:11:55 UTC (rev 9433) +++ trunk/maven-debian-helper/debian/changelog 2009-08-01 21:35:29 UTC (rev 9434) @@ -8,6 +8,9 @@ packager as maven-repo-helper takes care of most POM patching work. * Use default-jdk for the build * Change section to java, update Standards-Version to 3.8.1 + * Generate Javadoc API automatically. + * Add mh_make tool to generate Debian packaging automatically from + a Maven project. [Torsten Werner] * Implement pom faking. Modified: trunk/maven-debian-helper/debian/control =================================================================== --- trunk/maven-debian-helper/debian/control 2009-08-01 21:11:55 UTC (rev 9433) +++ trunk/maven-debian-helper/debian/control 2009-08-01 21:35:29 UTC (rev 9434) @@ -3,7 +3,7 @@ Priority: optional Maintainer: Debian Java Maintainers <[email protected]> Uploaders: Torsten Werner <[email protected]> -Build-Depends: cdbs, debhelper (>= 6), default-jdk, maven-ant-helper (>> 4), ant-optional +Build-Depends: cdbs, debhelper (>= 6), default-jdk, maven-ant-helper (>> 4), ant-optional, help2man Build-Depends-Indep: maven-repo-helper (>> 0.5), junit, testng, libmaven-plugin-tools-java, libplexus-velocity-java, velocity, libmaven2-core-java Modified: trunk/maven-debian-helper/debian/rules =================================================================== --- trunk/maven-debian-helper/debian/rules 2009-08-01 21:11:55 UTC (rev 9433) +++ trunk/maven-debian-helper/debian/rules 2009-08-01 21:35:29 UTC (rev 9434) @@ -28,6 +28,19 @@ makebuilddir/$(PACKAGE):: debian/tmp/bin debian/tmp/etc debian/tmp/share +# Generation of man pages +SCRIPTS := $(wildcard bin/mh_*) +MAN_PAGES := $(addprefix debian/tmp/doc/,$(addsuffix .1, $(notdir $(SCRIPTS)))) +debian/tmp/mh_% : bin/mh_% + mkdir -p debian/tmp + cp $< $@ + chmod +x $@ +debian/tmp/doc/mh_%.1 : debian/tmp/mh_% + mkdir -p debian/tmp/doc + help2man -N -o $@ $< +man-pages: $(MAN_PAGES) +build/$(PACKAGE):: man-pages + install/$(PACKAGE):: mh_installpoms -p$(PACKAGE) mh_installjar -p$(PACKAGE) -l maven-debian-helper/pom.xml maven-debian-helper/target/maven-debian-helper-$(VERSION).jar @@ -36,6 +49,7 @@ pod2man -c 'Maven for Debian GNU/Linux' \ -r maven-debian-helper-$(DEB_UPSTREAM_VERSION) \ man/mvn-debian.pod > man/mvn-debian.1 + dh_installman $(MAN_PAGES) man/mvn-debian.1 clean:: -rm -rf debian/tmp Modified: trunk/maven-debian-helper/etc/fake-poms.conf =================================================================== --- trunk/maven-debian-helper/etc/fake-poms.conf 2009-08-01 21:11:55 UTC (rev 9433) +++ trunk/maven-debian-helper/etc/fake-poms.conf 2009-08-01 21:35:29 UTC (rev 9434) @@ -1,5 +1,3 @@ -asm asm /usr/share/java/asm2.jar 2.x -bcel bcel commons-el commons-el dom4j dom4j easymock easymock @@ -13,11 +11,8 @@ jboss.common jboss-common jmock jmock junit junit4 /usr/share/java/junit4.jar 4.x -org.antlr antlr org.apache.geronimo.specs specs org.apache.ws.jaxme jaxmeapi -org.codehaus.groovy groovy -org.codehaus.mojo mojo org.codehaus.woodstox wstx-asl /usr/share/java/wstx.jar org.eclipse.jdt core /usr/share/java/ecj.jar org.jboss jboss-common-core /usr/share/java/jboss-common.jar @@ -25,8 +20,4 @@ org.jboss.microcontainer jboss-dependency /usr/share/java/jboss-microcontainer.jar org.jboss.microcontainer jboss-microcontainer org.jboss.ws jbossws-parent -regexp regexp -tomcat jasper-compiler /usr/share/tomcat5.5/common/lib/jasper-compiler.jar -tomcat jasper-compiler-jdt /usr/share/tomcat5.5/common/lib/jasper-compiler-jdt.jar -tomcat jasper-runtime /usr/share/tomcat5.5/common/lib/jasper-runtime.jar Modified: trunk/maven-debian-helper/maven-debian-plugin/src/main/java/org/debian/maven/plugin/SysInstallDocMojo.java =================================================================== --- trunk/maven-debian-helper/maven-debian-plugin/src/main/java/org/debian/maven/plugin/SysInstallDocMojo.java 2009-08-01 21:11:55 UTC (rev 9433) +++ trunk/maven-debian-helper/maven-debian-plugin/src/main/java/org/debian/maven/plugin/SysInstallDocMojo.java 2009-08-01 21:35:29 UTC (rev 9434) @@ -14,12 +14,12 @@ protected String jarName() { - return getArtifactId() + "-javadoc-" + getVersion() + ".jar"; + return getArtifactId() + "-" + getVersion() + "-javadoc.jar"; } protected String debianJarName() { - return getArtifactId() + "-javadoc-" + getDebianVersion() + ".jar"; + return getArtifactId() + "-" + getDebianVersion() + "-javadoc.jar"; } /** Modified: trunk/maven-debian-helper/maven-debian-plugin/src/main/java/org/debian/maven/plugin/SysInstallMojo.java =================================================================== --- trunk/maven-debian-helper/maven-debian-plugin/src/main/java/org/debian/maven/plugin/SysInstallMojo.java 2009-08-01 21:11:55 UTC (rev 9433) +++ trunk/maven-debian-helper/maven-debian-plugin/src/main/java/org/debian/maven/plugin/SysInstallMojo.java 2009-08-01 21:35:29 UTC (rev 9434) @@ -326,9 +326,6 @@ mkdir(debianFullRepoPath()); run(linkCommand(jarDestRelPath(), debianJarDestPath())); } - mkdir(compatSharePath()); - run(linkCommand(compatRelPath(), fullCompatPath())); - run(linkCommand(compatRelPath(), versionedFullCompatPath())); } } Modified: trunk/maven-debian-helper/maven-packager-utils/src/main/java/org/debian/maven/packager/DependenciesSolver.java =================================================================== --- trunk/maven-debian-helper/maven-packager-utils/src/main/java/org/debian/maven/packager/DependenciesSolver.java 2009-08-01 21:11:55 UTC (rev 9433) +++ trunk/maven-debian-helper/maven-packager-utils/src/main/java/org/debian/maven/packager/DependenciesSolver.java 2009-08-01 21:35:29 UTC (rev 9434) @@ -121,6 +121,17 @@ depVars.put("maven.TestDepends", toString(testDepends)); depVars.put("maven.Depends", toString(runtimeDepends)); depVars.put("maven.OptionalDepends", toString(optionalDepends)); + Set docRuntimeDepends = new TreeSet(); + docRuntimeDepends.add("openjdk-6-doc | classpath-doc"); + for (Iterator i = runtimeDepends.iterator(); i.hasNext();) { + docRuntimeDepends.add(i.next() + "-doc"); + } + Set docOptionalDepends = new TreeSet(); + for (Iterator i = optionalDepends.iterator(); i.hasNext();) { + docOptionalDepends.add(i.next() + "-doc"); + } + depVars.put("maven.DocDepends", toString(docRuntimeDepends)); + depVars.put("maven.DocOptionalDepends", toString(docOptionalDepends)); try { depVars.store(new FileWriter(dependencies), "List of dependencies for " + packageName + ", generated for use by debian/control"); } catch (IOException ex) { Modified: trunk/maven-debian-helper/maven-packager-utils/src/main/java/org/debian/maven/packager/GenerateDebianFilesMojo.java =================================================================== --- trunk/maven-debian-helper/maven-packager-utils/src/main/java/org/debian/maven/packager/GenerateDebianFilesMojo.java 2009-08-01 21:11:55 UTC (rev 9433) +++ trunk/maven-debian-helper/maven-packager-utils/src/main/java/org/debian/maven/packager/GenerateDebianFilesMojo.java 2009-08-01 21:35:29 UTC (rev 9434) @@ -201,6 +201,10 @@ if (runTests) { depends.addAll(split(substvars.getProperty("maven.TestDepends"))); } + if (generateJavadoc) { + depends.addAll(split(substvars.getProperty("maven.DocDepends"))); + depends.addAll(split(substvars.getProperty("maven.DocOptionalDepends"))); + } if ("maven".equals(packageType)) { // Remove dependencies that are implied by maven-debian-helper depends.remove("libmaven-clean-plugin-java"); Modified: trunk/maven-debian-helper/maven-packager-utils/src/main/resources/README.source.vm =================================================================== --- trunk/maven-debian-helper/maven-packager-utils/src/main/resources/README.source.vm 2009-08-01 21:11:55 UTC (rev 9433) +++ trunk/maven-debian-helper/maven-packager-utils/src/main/resources/README.source.vm 2009-08-01 21:35:29 UTC (rev 9434) @@ -5,7 +5,7 @@ from the maven-debian-helper package. #if(${packageType} == 'maven') -The build system uses Maven but prevent it from downloading +The build system uses Maven but prevents it from downloading anything from the Internet, making the build compliant with the Debian policy. #end Modified: trunk/maven-debian-helper/maven-packager-utils/src/main/resources/control.ant.vm =================================================================== --- trunk/maven-debian-helper/maven-packager-utils/src/main/resources/control.ant.vm 2009-08-01 21:11:55 UTC (rev 9433) +++ trunk/maven-debian-helper/maven-packager-utils/src/main/resources/control.ant.vm 2009-08-01 21:35:29 UTC (rev 9434) @@ -3,11 +3,11 @@ #macro(printDependencies $dependencies) #set ($lineLength=0) #foreach ($dependency in $dependencies) -#if($lineLength==0)${space}#end${dependency}#if($velocityCount<$dependencies.size()), #else +#if($lineLength==0)${space}#end${dependency}#if($velocityCount<$dependencies.size()), #elseif ($velocityHasNext) $space #end #set ($lineLength = $lineLength + $dependency.length() + 2) -#if ($lineLength > 70) +#if ($lineLength > 70 && $velocityHasNext) $space #set ($lineLength=0) #end @@ -20,7 +20,7 @@ Uploaders: ${packager} <${packagerEmail}> Build-Depends: debhelper (>= 7), cdbs, default-jdk, ant-optional, maven-ant-helper (>> 4) Build-Depends-Indep: maven-repo-helper, -#printDependencies($compileDependencies) +#printDependencies($compileDependencies)$space Standards-Version: 3.8.2 Vcs-Svn: svn://svn.debian.org/svn/pkg-java/trunk/${package} Vcs-Browser: http://svn.debian.org/wsvn/pkg-java/trunk/${package}/ @@ -52,12 +52,13 @@ Package: ${binPackage}-doc Architecture: all Section: doc -Depends: ${dollar}{misc:Depends} +Depends: ${dollar}{misc:Depends}, ${dollar}{maven:DocDepends} +Recommends: ${dollar}{maven:DocOptionalDepends} Suggests: ${binPackage} Description: Documentation for ${project.Name} -#if ($description.isEmpty()) TODO - fill the description #else $description.get(0) #end +#if ($description.isEmpty()) TODO - fill the description +#else #foreach ($line in $description) -#if ($velocityCount > 1) #if ($line == "") . #else Modified: trunk/maven-debian-helper/maven-packager-utils/src/main/resources/control.vm =================================================================== --- trunk/maven-debian-helper/maven-packager-utils/src/main/resources/control.vm 2009-08-01 21:11:55 UTC (rev 9433) +++ trunk/maven-debian-helper/maven-packager-utils/src/main/resources/control.vm 2009-08-01 21:35:29 UTC (rev 9434) @@ -3,11 +3,11 @@ #macro(printDependencies $dependencies) #set ($lineLength=0) #foreach ($dependency in $dependencies) -#if($lineLength==0)${space}#end${dependency}#if($velocityCount<$dependencies.size()), #else +#if($lineLength==0)${space}#end${dependency}#if($velocityCount<$dependencies.size()), #elseif ($velocityHasNext) $space #end #set ($lineLength = $lineLength + $dependency.length() + 2) -#if ($lineLength > 70) +#if ($lineLength > 70 && $velocityHasNext) $space #set ($lineLength=0) #end @@ -19,7 +19,7 @@ Maintainer: Debian Java Maintainers <[email protected]> Uploaders: ${packager} <${packagerEmail}> Build-Depends: debhelper (>= 7), cdbs, default-jdk, maven-debian-helper -Build-Depends-Indep: #printDependencies($compileDependencies) +Build-Depends-Indep:#printDependencies($compileDependencies)$space Standards-Version: 3.8.2 Vcs-Svn: svn://svn.debian.org/svn/pkg-java/trunk/${package} Vcs-Browser: http://svn.debian.org/wsvn/pkg-java/trunk/${package}/ @@ -48,7 +48,8 @@ Package: ${binPackage}-doc Architecture: all Section: doc -Depends: ${dollar}{misc:Depends} +Depends: ${dollar}{misc:Depends}, ${dollar}{maven:DocDepends} +Recommends: ${dollar}{maven:DocOptionalDepends} Suggests: ${binPackage} Description: Documentation for ${project.Name} #if ($description.isEmpty()) TODO - fill the description Modified: trunk/maven-debian-helper/maven-packager-utils/src/main/resources/copyright.vm =================================================================== --- trunk/maven-debian-helper/maven-packager-utils/src/main/resources/copyright.vm 2009-08-01 21:11:55 UTC (rev 9433) +++ trunk/maven-debian-helper/maven-packager-utils/src/main/resources/copyright.vm 2009-08-01 21:35:29 UTC (rev 9434) @@ -64,7 +64,9 @@ Files: debian/* Copyright: Copyright ${currentYear}, ${packager} <${packagerEmail}> License: ${packagerLicense} -#set ($x = $licenses.add("${packagerLicense}")) +#set ($license = "${packagerLicense}") +#set ($license = $license.replace("+","")) +#set ($x = $licenses.add("${license}")) #foreach ($license in $licenses) License: $license Modified: trunk/maven-debian-helper/maven-packager-utils/src/main/resources/java-doc.doc-base.vm =================================================================== --- trunk/maven-debian-helper/maven-packager-utils/src/main/resources/java-doc.doc-base.vm 2009-08-01 21:11:55 UTC (rev 9433) +++ trunk/maven-debian-helper/maven-packager-utils/src/main/resources/java-doc.doc-base.vm 2009-08-01 21:35:29 UTC (rev 9434) @@ -6,5 +6,5 @@ Section: Programming Format: HTML -Index: /usr/share/doc/${binPackage}-doc/api/index.html -Files: /usr/share/doc/${binPackage}-doc/api/* +Index: /usr/share/doc/${binPackage}/api/index.html +Files: /usr/share/doc/${binPackage}/api/* Modified: trunk/maven-debian-helper/maven-packager-utils/src/main/resources/orig-tar.svn.vm =================================================================== --- trunk/maven-debian-helper/maven-packager-utils/src/main/resources/orig-tar.svn.vm 2009-08-01 21:11:55 UTC (rev 9433) +++ trunk/maven-debian-helper/maven-packager-utils/src/main/resources/orig-tar.svn.vm 2009-08-01 21:35:29 UTC (rev 9434) @@ -6,7 +6,7 @@ TAG=$(echo "${tagMarker}$VERSION" | sed -re's/~(alpha|beta)/-\1-/') svn export ${baseUrl}/${TAG}${suffixUrl} $DIR -tar -c -z -f $TAR $DIR +GZIP=--best tar -c -z -f $TAR --exclude '*.jar' --exclude '*.class' $DIR rm -rf $DIR ../$TAG # move to directory 'tarballs' Modified: trunk/maven-debian-helper/share/cdbs/1/class/maven-vars.mk =================================================================== --- trunk/maven-debian-helper/share/cdbs/1/class/maven-vars.mk 2009-08-01 21:11:55 UTC (rev 9433) +++ trunk/maven-debian-helper/share/cdbs/1/class/maven-vars.mk 2009-08-01 21:35:29 UTC (rev 9434) @@ -63,6 +63,9 @@ # Extra arguments for the Maven command line. DEB_MAVEN_ARGS = +# Extra arguments for the mh_patchpoms command line +DEB_PATCHPOMS_ARGS= + # Property file for Maven, defaults to debian/maven.properties if it exists. # You may define additional properties. Please note that command-line # arguments in MAVEN_ARGS (see below) override the settings in pom.xml and Modified: trunk/maven-debian-helper/share/cdbs/1/class/maven.mk =================================================================== --- trunk/maven-debian-helper/share/cdbs/1/class/maven.mk 2009-08-01 21:11:55 UTC (rev 9433) +++ trunk/maven-debian-helper/share/cdbs/1/class/maven.mk 2009-08-01 21:35:29 UTC (rev 9434) @@ -57,7 +57,7 @@ mh_lspoms -p$(DEB_JAR_PACKAGE) --force debian/stamp-poms-patched: - mh_patchpoms -p$(DEB_JAR_PACKAGE) --keep-pom-version + mh_patchpoms -p$(DEB_JAR_PACKAGE) --keep-pom-version $(DEB_PATCHPOMS_ARGS) touch debian/stamp-poms-patched patch-poms: debian/$(DEB_JAR_PACKAGE).poms debian/maven.rules debian/stamp-poms-patched @@ -107,9 +107,13 @@ debian/stamp-maven-doc: debian/stamp-maven-build $(if $(DEB_MAVEN_DOC_TARGET),$(DEB_MAVEN_INVOKE) $(PLUGIN_ARGS) $(DEB_MAVEN_DOC_TARGET),@echo "DEB_MAVEN_DOC_TARGET unset, not generating documentation") $(if $(DEB_MAVEN_DOC_TARGET),touch $@) + cd target && mkdir docs && mv apidocs docs/api +# extra arguments for the installation step +PLUGIN_DOC_ARGS = -Ddebian.dir=$(CURDIR)/debian -Ddebian.package=$(DEB_DOC_PACKAGE) + common-install-impl:: - $(if $(DEB_MAVEN_INSTALL_DOC_TARGET),$(DEB_MAVEN_INVOKE) $(PLUGIN_ARGS) $(DEB_MAVEN_INSTALL_DOC_TARGET),@echo "DEB_MAVEN_INSTALL_DOC_TARGET unset, skipping documentation maven.mk common-install target") + $(if $(DEB_MAVEN_INSTALL_DOC_TARGET),$(DEB_MAVEN_INVOKE) $(PLUGIN_DOC_ARGS) $(DEB_MAVEN_INSTALL_DOC_TARGET),@echo "DEB_MAVEN_INSTALL_DOC_TARGET unset, skipping documentation maven.mk common-install target") clean:: $(if $(DEB_MAVEN_DOC_TARGET),$(RM) debian/stamp-maven-doc) _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/mailman/listinfo/pkg-java-commits

