Skip to content
Commits on Source (10)
......@@ -15,11 +15,10 @@ syntax()
echo -e "Options:"
echo -e "\t-h --help: show this text"
echo -e "\t-V --version: show the version"
echo -e "\t-a --use-ant: add code to use Ant to build the sources"
exit 1
}
ARGS="a use-ant" parseargs "$@"
ARGS="" parseargs "$@"
if [ "$ARGC" -gt "0" ]; then
PACKAGE="${ARGV[0]}"
......@@ -41,19 +40,10 @@ gen_rules() {
echo "#!/usr/bin/make -f"
echo ""
echo "include /usr/share/cdbs/1/rules/debhelper.mk"
if $USE_ANT ; then
echo "include /usr/share/cdbs/1/class/ant.mk"
fi
echo ""
echo "PACKAGE := \$(DEB_SOURCE_PACKAGE)"
echo "VERSION := \$(DEB_UPSTREAM_VERSION)"
echo "JAVA_HOME := /usr/lib/jvm/default-java"
if $USE_ANT ; then
echo "DEB_JARS := # TODO - fill the list of jars"
echo "DEB_ANT_BUILD_TARGET := package"
echo "DEB_ANT_BUILDFILE := debian/build.xml"
echo "DEB_ANT_ARGS := -Dpackage=\$(PACKAGE) -DartifactId=\$(PACKAGE) -Dversion=\$(VERSION)"
fi
echo ""
echo "binary-post-install/$BIN_PACKAGE::"
echo -e "\tmh_installpoms -p$BIN_PACKAGE"
......
......@@ -22,7 +22,6 @@ syntax()
echo -e "\t-d<true|false> --javadoc=<true|false>: include or not the javadoc"
echo -e "\t during the build"
echo -e "\t-n --non-interactive: non interactive mode, don't ask questions"
echo -e "\t-a --ant: use Ant for the packaging instead of Maven"
echo -e "\t-v --verbose: show more information while running"
echo -e ""
echo -e "To have mh_make working properly, you need first to install on your system"
......@@ -39,7 +38,7 @@ syntax()
exit 1
}
ARGS="p package b bin-package t run-tests d javadoc a ant v verbose n non-interactive s from-svn" parseargs "$@"
ARGS="p package b bin-package t run-tests d javadoc v verbose n non-interactive s from-svn" parseargs "$@"
if [ -z "$DEBFULLNAME" ]; then
echo "Please define the environment variable DEBFULLNAME, e.g."
......@@ -67,7 +66,6 @@ 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)
FROM_SVN=$(getarg s from-svn)
VERBOSE=$(getarg v verbose)
NON_INTERACTIVE=$(getarg n non-interactive)
......@@ -132,16 +130,16 @@ fi
if [ -z "$GEN_JAVADOC" ]; then
GEN_JAVADOC="true"
GEN_JAVADOC="false"
if [ "$NON_INTERACTIVE" != true ]; then
echo
echo "Generate the Javadoc while building the package?"
read -p "[Y/n] > " GEN
if [ "$GEN" == "n" ]; then
GEN_JAVADOC=
read -p "[y/N] > " GEN
if [ "$GEN" == "y" ]; then
GEN_JAVADOC="true"
fi
else
echo "Javadoc will be generated whilst building the package, override with option --javadoc=false."
echo "Javadoc will not be generated whilst building the package, override with option --javadoc=true."
fi
elif [ "$GEN_JAVADOC"="false" ]; then
GEN_JAVADOC=
......@@ -204,7 +202,7 @@ if [ -f debian/patches/series ]; then
fi
echo
java -cp /usr/share/java/maven-project.jar:/usr/share/java/maven-repo-helper.jar:/usr/share/java/maven-packager-utils.jar:/usr/share/maven2/lib/maven-debian-uber.jar org.debian.maven.packager.DependenciesSolver --package="$BIN_PACKAGE" ${ANT:+--ant} ${GEN_JAVADOC:+--generate-javadoc} ${RUN_TESTS:+--run-tests} ${VERBOSE:+--verbose} ${NON_INTERACTIVE:+--non-interactive} --maven-repo=/usr/share/maven-repo
java -cp /usr/share/java/maven-project.jar:/usr/share/java/maven-repo-helper.jar:/usr/share/java/maven-packager-utils.jar:/usr/share/maven2/lib/maven-debian-uber.jar org.debian.maven.packager.DependenciesSolver --package="$BIN_PACKAGE" ${GEN_JAVADOC:+--generate-javadoc} ${RUN_TESTS:+--run-tests} ${VERBOSE:+--verbose} ${NON_INTERACTIVE:+--non-interactive} --maven-repo=/usr/share/maven-repo
if [ $? != 0 ]; then
if [ -f debian/patches/series ]; then
......@@ -217,7 +215,7 @@ eval $(cat debian/$BIN_PACKAGE.substvars | sed -e 's/maven\./maven_/' | grep mav
mh_patchpoms ${VERBOSE:+--verbose} -p$BIN_PACKAGE -rdebian/maven.rules -idebian/maven.ignoreRules --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} ${FROM_SVN:+-DdownloadUrl=scm:svn:$FROM_SVN} --offline
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 ${FROM_SVN:+-DdownloadUrl=scm:svn:$FROM_SVN} --offline
if [ $? != 0 ]; then
if [ -f debian/$BIN_PACKAGE.poms ]; then
......
......@@ -19,7 +19,6 @@ syntax()
echo -e "\t-h --help: show this text"
echo -e "\t-V --version: show the version"
echo -e "\t-p<package> --package=<package>: name of the package"
echo -e "\t-a --ant: use Ant for the packaging instead of Maven"
echo -e "\t-j --javadoc: resolve the Javadoc dependencies"
echo -e "\t-n --non-interactive: non interactive mode, don't ask questions"
echo -e "\t-o --offline: don't ever connect to the internet, for Debian build"
......@@ -43,10 +42,9 @@ syntax()
exit 1
}
ARGS="p package a ant d javadoc v verbose n non-interactive o offline b base-directory non-explore build" parseargs "$@"
ARGS="p package d javadoc v verbose n non-interactive o offline b base-directory non-explore build" parseargs "$@"
PACKAGE=$(getarg p package)
ANT=$(getarg a ant)
GEN_JAVADOC=$(getarg j javadoc)
NON_INTERACTIVE=$(getarg n non-interactive)
OFFLINE=$(getarg o offline)
......@@ -76,6 +74,6 @@ if [ ! -e .debianVersion -a ! -e debian/stamp-poms-patched ]; then
fi
fi
java $JAVA_OPTS -cp $CLASSPATH org.debian.maven.packager.DependenciesSolver ${NON_INTERACTIVE:+--non-interactive} ${NON_EXPLORE:+--non-explore} ${OFFLINE:+--offline} ${BUILD:+--build} ${ANT:+--ant} ${GEN_JAVADOC:+--generate-javadoc} ${BASE_DIR:+--base-directory=$BASE_DIR} ${VERBOSE:+--verbose} --package=$PACKAGE --maven-repo=/usr/share/maven-repo
java $JAVA_OPTS -cp $CLASSPATH org.debian.maven.packager.DependenciesSolver ${NON_INTERACTIVE:+--non-interactive} ${NON_EXPLORE:+--non-explore} ${OFFLINE:+--offline} ${BUILD:+--build} ${GEN_JAVADOC:+--generate-javadoc} ${BASE_DIR:+--base-directory=$BASE_DIR} ${VERBOSE:+--verbose} --package=$PACKAGE --maven-repo=/usr/share/maven-repo
perl -p -i -e 's/maven\./maven:/' debian/${PACKAGE}.substvars
......@@ -6,7 +6,7 @@
<parent>
<artifactId>maven-debian</artifactId>
<groupId>org.debian.maven</groupId>
<version>2.3.1</version>
<version>2.4</version>
</parent>
<artifactId>debian-maven-plugin</artifactId>
......
maven-debian-helper (2.4) unstable; urgency=medium
* mh_make:
- The generated control file now specifies Standards-Version: 4.4.1
- The generated control file now depends on debhelper-compat instead of
debhelper, and the debian/compat file is no longer generated
- The generated debian/watch files now uses the version 4
- No longer support generating Ant based packages
- No longer generate the javadoc by default
* Added ossindex-maven-plugin to the ignored plugins
* Standards-Version updated to 4.4.1
* Switch to debhelper level 12
-- Emmanuel Bourg <ebourg@apache.org> Thu, 10 Oct 2019 09:50:04 +0200
maven-debian-helper (2.3.2) unstable; urgency=medium
* Team upload.
......
......@@ -8,7 +8,7 @@ Uploaders:
Emmanuel Bourg <ebourg@apache.org>
Build-Depends:
ant-optional,
debhelper (>= 11),
debhelper-compat (= 12),
default-jdk-headless | default-jdk,
help2man,
junit4,
......@@ -18,7 +18,7 @@ Build-Depends:
libplexus-velocity-java,
maven-ant-helper,
maven-repo-helper (>= 1.9)
Standards-Version: 4.2.1
Standards-Version: 4.4.1
Vcs-Git: https://salsa.debian.org/java-team/maven-debian-helper.git
Vcs-Browser: https://salsa.debian.org/java-team/maven-debian-helper
Homepage: https://wiki.debian.org/Java/MavenBuilder
......
......@@ -5,7 +5,7 @@
<parent>
<groupId>org.debian.maven</groupId>
<artifactId>maven-debian</artifactId>
<version>2.3.1</version>
<version>2.4</version>
</parent>
<artifactId>maven-debian-helper</artifactId>
......
......@@ -6,7 +6,7 @@
<parent>
<artifactId>maven-debian</artifactId>
<groupId>org.debian.maven</groupId>
<version>2.3.1</version>
<version>2.4</version>
</parent>
<artifactId>maven-packager-utils</artifactId>
......
......@@ -65,12 +65,6 @@ public class DependenciesMojo extends AbstractMojo {
@Parameter(property = "package", required = true)
protected String packageName;
/**
* Type of the package (e.g. 'maven' or 'ant')
*/
@Parameter(property = "packageType", defaultValue = "maven")
protected String packageType;
/**
* Should we also resolve Javadoc dependencies
*/
......@@ -127,7 +121,6 @@ public class DependenciesMojo extends AbstractMojo {
solver.setBaseDir(basedir);
solver.mavenRepo = mavenRepo;
solver.packageName = packageName;
solver.packageType = packageType;
solver.generateJavadoc = resolveJavadoc;
solver.setListOfPoms(listOfPoms);
solver.verbose = verbose;
......
......@@ -68,7 +68,6 @@ public class DependenciesSolver {
final POMTransformer pomTransformer = new POMTransformer();
private final File outputDirectory;
String packageName;
String packageType;
private String packageVersion;
File mavenRepo = new File("/usr/share/maven-repo");
// explore (search) for additional pom files or look only for those defined in debian/*.poms?
......@@ -513,22 +512,6 @@ public class DependenciesSolver {
return info;
}
private static boolean canBeSkippedBecauseAntIsUsedForPackaging(Dependency thisPom, String packageType, Dependency dependency, boolean runTests, boolean verbose) {
if (!packageType.equals("ant")) return false;
if (dependency.isPlugin() && !thisPom.isPom()) {
if(verbose) System.out.println("[skipped - Maven plugins are not used during a build with Ant]");
return true;
}
if (!runTests && "test".equals(dependency.getScope())) {
if(verbose) System.out.println("[skipped - Tests are not executed during the build]");
return true;
}
return false;
}
private Dependency resolveDependency(Dependency dependency, File sourcePom, boolean buildTime, boolean mavenExtension, boolean management, boolean resolvingParent) throws DependencyNotFoundException {
if (containsDependencyIgnoreVersion(knownProjectDependencies, dependency)) {
......@@ -561,22 +544,6 @@ public class DependenciesSolver {
return null;
}
// Automatically skip some dependencies when ant packaging is used
try {
if (canBeSkippedBecauseAntIsUsedForPackaging(getPOM(sourcePom).getThisPom(), packageType, dependency, runTests, verbose)) {
// Even if we skip the dependency, try to locate its associated maven rules,
// as this may be useful later - but never fail if the dependency is not found.
POMInfo pom = getRepository().searchMatchingPOM(dependency);
if (pom != null) {
pomTransformer.getRulesFiles().get(RULES).addAll(pom.getPublishedRules());
}
return null;
}
} catch (XMLStreamException e) { e.printStackTrace(); // TODO Auto-generated catch block
} catch (IOException e) { e.printStackTrace(); }
POMInfo pom = getRepository().searchMatchingPOM(dependency);
try {
if (pom == null && dependency.getVersion() == null) {
......@@ -639,9 +606,6 @@ public class DependenciesSolver {
if (management) {
if (verbose) System.out.println("[skipped dependency or plugin management]");
return null;
} else if (dependency.isPlugin() && packageType.equals("ant")) {
if (verbose) System.out.println("[skipped - not used in Ant build]");
return null;
}
}
......@@ -789,13 +753,9 @@ public class DependenciesSolver {
if ("test".equals(dependency.getScope())) {
debianDeps.add(TEST, libraryWithVersionConstraint);
} else if (dependency.isPlugin()) {
if (!packageType.equals("ant")) {
debianDeps.add(COMPILE, libraryWithVersionConstraint);
}
} else if (mavenExtension) {
if (!packageType.equals("ant")) {
debianDeps.add(COMPILE, libraryWithVersionConstraint);
}
} else {
debianDeps.add(COMPILE, libraryWithVersionConstraint);
}
......@@ -869,7 +829,6 @@ public class DependenciesSolver {
// System.out.println(" extra rules to apply when cleaning the POM");
// System.out.println(" -i<rules>, --published-rules=<rules>: path to the file containing the");
// System.out.println(" extra rules to publish in the property debian.mavenRules in the cleaned POM");
System.out.println(" --ant: use ant for the packaging");
System.out.println(" --run-tests: run the unit tests");
System.out.println(" --generate-javadoc: generate Javadoc");
System.out.println(" --non-interactive: non interactive session");
......@@ -886,7 +845,6 @@ public class DependenciesSolver {
// Default values
boolean verbose = false;
String debianPackage = "";
String packageType = "maven";
File mavenRepo = null;
File baseDirectory = new File(".");
boolean exploreProjects = true;
......@@ -908,8 +866,6 @@ public class DependenciesSolver {
debianPackage = arg.substring(2);
} else if (arg.startsWith("--package=")) {
debianPackage = arg.substring("--package=".length());
} else if (arg.equals("--ant")) {
packageType = "ant";
} else if (arg.equals("--run-tests")) {
runTests = true;
} else if (arg.equals("--generate-javadoc")) {
......@@ -942,7 +898,6 @@ public class DependenciesSolver {
solver.exploreProjects = exploreProjects;
solver.setBaseDir(baseDirectory);
solver.packageName = debianPackage;
solver.packageType = packageType;
File poms = new File(solver.outputDirectory, debianPackage + ".poms");
solver.setListOfPoms(poms);
......
......@@ -110,12 +110,6 @@ public class GenerateDebianFilesMojo extends AbstractMojo {
@Parameter(property = "bin.package", required = true)
protected String binPackageName;
/**
* Type of the package (e.g. 'maven' or 'ant')
*/
@Parameter(property = "packageType", defaultValue = "maven")
protected String packageType;
/**
* URL for downloading the source code, in the form scm:[svn|cvs]:http://xxx/
* for downloads using a source code repository,
......@@ -157,7 +151,6 @@ public class GenerateDebianFilesMojo extends AbstractMojo {
Velocity.init(velocityProperties);
VelocityContext context = new VelocityContext();
context.put("package", packageName);
context.put("packageType", packageType);
context.put("binPackage", binPackageName);
context.put("packager", packager);
context.put("packagerEmail", extractEmail(email));
......@@ -239,7 +232,6 @@ public class GenerateDebianFilesMojo extends AbstractMojo {
buildDepends.addAll(split(substvars.getProperty("maven.DocDepends")));
buildDepends.addAll(split(substvars.getProperty("maven.DocOptionalDepends")));
}
if ("maven".equals(packageType)) {
// Remove dependencies that are implied by maven-debian-helper
for (Iterator<String> i = buildDepends.iterator(); i.hasNext();) {
String dependency = i.next();
......@@ -257,58 +249,16 @@ public class GenerateDebianFilesMojo extends AbstractMojo {
if (generateJavadoc) {
buildDepends.add("libmaven-javadoc-plugin-java");
}
} else if ("ant".equals(packageType)) {
// Remove dependencies that are implied by ant packaging
for (Iterator<String> i = buildDepends.iterator(); i.hasNext(); ) {
String dependency = i.next();
if (dependency.equals("ant") ||
dependency.startsWith("ant ") ||
dependency.startsWith("ant-optional")) {
i.remove();
}
}
buildDepends.remove("ant");
buildDepends.remove("ant-optional");
}
context.put("buildDependencies", buildDepends);
context.put("runtimeDependencies", split(substvars.getProperty("maven.Depends")));
context.put("testDependencies", split(substvars.getProperty("maven.TestDepends")));
context.put("optionalDependencies", split(substvars.getProperty("maven.OptionalDepends")));
context.put("javadocDependencies", split(substvars.getProperty("maven.DocDepends")));
context.put("javadocOptionalDependencies", split(substvars.getProperty("maven.DocOptionalDepends")));
if ("ant".equals(packageType)) {
Set<String> compileJars = new TreeSet<String>();
for (String library : compileDepends) {
compileJars.addAll(scanner.listSharedJars(library));
}
context.put("compileJars", compileJars);
Set<String> testJars = new TreeSet<String>();
for (String library : testDepends) {
testJars.addAll(scanner.listSharedJars(library));
}
context.put("testJars", testJars);
}
} else {
getLog().warn("Cannot find file " + substvarsFile);
}
if ("ant".equals(packageType)) {
ListOfPOMs listOfPOMs = new ListOfPOMs(new File(outputDirectory, binPackageName + ".poms"));
ListOfPOMs listOfJavadocPOMs = null;
if (generateJavadoc && "ant".equals(packageType)) {
listOfJavadocPOMs = new ListOfPOMs(new File(outputDirectory, binPackageName + "-doc.poms"));
}
setupArtifactLocation(listOfPOMs, listOfJavadocPOMs, project);
for (MavenProject mavenProject : collectedProjects) {
setupArtifactLocation(listOfPOMs, listOfJavadocPOMs, mavenProject);
}
listOfPOMs.save();
if (listOfJavadocPOMs != null) {
listOfJavadocPOMs.save();
}
}
int downloadType = DownloadType.UNKNOWN;
if (downloadUrl == null) {
......@@ -377,16 +327,13 @@ public class GenerateDebianFilesMojo extends AbstractMojo {
getLog().warn("Cannot recognize the download url (" + downloadUrl + ").");
}
String rulesTemplate = "ant".equals(packageType) ? "rules.ant.vm" : "rules.vm";
generateFile(context, "README.source.vm", outputDirectory, "README.source");
generateFile(context, "copyright.vm", outputDirectory, "copyright");
generateFile(context, "compat.vm", outputDirectory, "compat");
generateFile(context, rulesTemplate, outputDirectory, "rules", true);
generateFile(context, "rules.vm", outputDirectory, "rules", true);
context.put("version.vm", mangleVersion(project.getVersion()) + "-1");
generateFile(context, rulesTemplate, new File("."), ".debianVersion");
generateFile(context, "rules.vm", new File("."), ".debianVersion");
if (generateJavadoc) {
if (project.getPackaging().equals("pom") && collectedProjects.size() > 1) {
......@@ -398,37 +345,8 @@ public class GenerateDebianFilesMojo extends AbstractMojo {
}
}
if ("ant".equals(packageType)) {
boolean containsJars = false;
boolean containsPlugins = false;
if (project.getPackaging().equals("pom") && project.getModules().size() > 0) {
for (MavenProject module : collectedProjects) {
if (module.getPackaging().equals("maven-plugin")) {
containsPlugins = true;
} else if (!module.getPackaging().equals("pom")) {
containsJars = true;
}
}
} else if (!project.getPackaging().equals("pom")) {
if (project.getPackaging().equals("maven-plugin")) {
containsPlugins = true;
} else if (!project.getPackaging().equals("pom")) {
containsJars = true;
}
}
context.put("containsJars", Boolean.valueOf(containsJars));
context.put("containsPlugins", Boolean.valueOf(containsPlugins));
if (project.getPackaging().equals("pom") && project.getModules().size() > 0) {
generateFile(context, "build.xml.vm", outputDirectory, "build.xml");
}
generateFile(context, "build.properties.ant.vm", outputDirectory, "build.properties");
generateFile(context, "build-classpath.vm", outputDirectory, "build-classpath");
} else {
generateFile(context, "maven.properties.vm", outputDirectory, "maven.properties");
}
generateFile(context, "ant".equals(packageType) ? "control.ant.vm" : "control.vm", outputDirectory, "control");
generateFile(context, "control.vm", outputDirectory, "control");
generateFile(context, "format.vm", new File(outputDirectory, "source"), "format");
} catch (IOException ex) {
......@@ -515,14 +433,6 @@ public class GenerateDebianFilesMojo extends AbstractMojo {
POMOptions pomOptions = listOfPOMs.getOrCreatePOMOptions(pomFile);
pomOptions.setArtifact(dirRelPath + "target/" + mavenProject.getArtifactId() + "-*."
+ extension);
if ("jar".equals(extension) && generateJavadoc && "ant".equals(packageType) && listOfJavadocPOMs != null) {
String artifactId = mavenProject.getArtifact().getArtifactId();
POMOptions javadocPomOptions = listOfJavadocPOMs.getOrCreatePOMOptions(pomFile);
javadocPomOptions.setIgnorePOM(true);
javadocPomOptions.setArtifact(dirRelPath + "target/" + artifactId + ".javadoc.jar");
javadocPomOptions.setClassifier("javadoc");
javadocPomOptions.setHasPackageVersion(pomOptions.getHasPackageVersion());
}
pomOptions.setJavaLib(true);
if (mavenProject.getArtifactId().matches(packageName + "\\d")) {
pomOptions.setUsjName(packageName);
......
......@@ -54,6 +54,7 @@ public class IgnoreDependencyQuestions {
{"com.github.github", "site-maven-plugin"},
{"com.googlecode.maven-gcu-plugin", "maven-gcu-plugin"},
{"org.sonatype.plugins", "nexus-staging-maven-plugin"},
{"org.sonatype.ossindex.maven", "ossindex-maven-plugin"},
{"org.eluder.coveralls", "coveralls-maven-plugin"},
};
......
......@@ -7,8 +7,6 @@ Information about ${package}
This package was debianized using the mh_make command
from the maven-debian-helper package.
#if(${packageType} == 'maven')
The build system uses Maven but prevents it from downloading
anything from the Internet, making the build compliant with
the Debian policy.
#end
/usr/share/java/ant-nodeps.jar
#if($runTests)
/usr/share/java/ant-junit.jar
#end
\ No newline at end of file
build.directory=target
#if($generateJavadoc)
javadoc.dir=target/apidocs
javadoc.generate=true
#end
#if(!$runTests)
maven.test.skip=true
#end
classpath.compile=\
#foreach ($jar in $compileJars)
/usr/share/java/${jar}.jar:\
#end
#set( $D = '$' )
#foreach ($module in $collectedProjects)
#if($module.packaging != "pom")
${D}{basedir}/${module.baseDir}target/${module.artifactId}-${D}{version}.jar:\
#end
#end
target/classes
classpath.test=\
#foreach ($jar in $testJars)
/usr/share/java/${jar}.jar:\
#end
target/classes
<?xml version="1.0"?>
<project name="pkg-java" default="build-all" 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="clean-module">
<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="package-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="keep-cleaned-pom" value="true" />
</ant>
</sequential>
</macrodef>
#if ($containsPlugins)
<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>
#end
#if($generateJavadoc)
<macrodef name="package-module-doc">
<attribute name="dir"/>
<sequential>
<ant target="local-install-doc" 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>
#end
<target name="clean">
<clean-module dir=""/>
#foreach ($module in $collectedProjects)
<clean-module dir="${module.baseDir}"/>
#end
</target>
<target name="package">
<package-module dir=""/>
#foreach ($module in $collectedProjects)
#if ($module.packaging == "maven-plugin")
<package-plugin-module dir="${module.baseDir}"/>
#else
<package-module dir="${module.baseDir}"/>
#end
#end
</target>
#if ($generateJavadoc)
<target name="javadoc">
#foreach ($module in $collectedProjects)
#if ($module.packaging != "pom")
<package-module-doc dir="${module.baseDir}"/>
#end
#end
</target>
<target name="build-all" depends="package, javadoc" />
#else
<target name="build-all" depends="package" />
#end
</project>
\ No newline at end of file
#set ($dollar = "$")
#set ($space = " ")
#macro(printDependencies $dependencies)
#set ($lineLength=0)
#foreach ($dependency in $dependencies)
#if($lineLength==0)${space}#end${dependency}#if($velocityCount<$dependencies.size()), #elseif ($velocityHasNext)
$space
#end
#set ($lineLength = $lineLength + $dependency.length() + 2)
#if ($lineLength > 70 && $velocityHasNext)
$space
#set ($lineLength=0)
#end
#end
#end
Source: ${package}
Section: java
Priority: optional
Maintainer: Debian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org>
Uploaders: ${packager} <${packagerEmail}>
Build-Depends: debhelper (>= 11), default-jdk, maven-repo-helper (>= 1.9)#if ($project.packaging != "pom" || $project.modules.size() > 0), ant-optional, maven-ant-helper (>= 7.6)#end$space
#if(!$buildDependencies.isEmpty())
Build-Depends-Indep:#printDependencies($buildDependencies)$space
#end
Standards-Version: 4.2.1
Vcs-Git: https://salsa.debian.org/java-team/${package}.git
Vcs-Browser: https://salsa.debian.org/java-team/${package}
Homepage:#if(${project.Url}) ${project.Url}#else TODO #end
Package: ${binPackage}
Architecture: all
## libraries should not depend on runtime - default-jre-headless | java2-runtime-headless,
Depends: ${dollar}{misc:Depends},#printDependencies($runtimeDependencies)$space
#if(!$optionalDependencies.isEmpty())
Recommends: #printDependencies($optionalDependencies)$space
#end
#if ($generateJavadoc)
Suggests: ${binPackage}-doc
#end
Description: ${project.Name}
#if ($description.isEmpty()) TODO - fill the description
#else
#foreach ($line in $description)
#if ($line == "")
.
#else
$line
#end
#end
#end
#if ($generateJavadoc)
Package: ${binPackage}-doc
Architecture: all
Section: doc
Depends: ${dollar}{misc:Depends}
Recommends: #printDependencies($javadocDependencies)$space#if(!$javadocOptionalDependencies.isEmpty()) ,#printDependencies($javadocOptionalDependencies)$space#end
Suggests: ${binPackage}
Description: Documentation for ${project.Name}
#if ($description.isEmpty()) TODO - fill the description
#else
#foreach ($line in $description)
#if ($line == "")
.
#else
$line
#end
#end
#end
.
This package contains the API documentation of ${binPackage}.
#end
......@@ -18,11 +18,11 @@ Section: java
Priority: optional
Maintainer: Debian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org>
Uploaders: ${packager} <${packagerEmail}>
Build-Depends: debhelper (>= 11), default-jdk, maven-debian-helper (>= 2.1)
Build-Depends: debhelper-compat (= 12), default-jdk, maven-debian-helper (>= 2.1)
#if(!$buildDependencies.isEmpty())
Build-Depends-Indep:#printDependencies($buildDependencies)$space
#end
Standards-Version: 4.2.1
Standards-Version: 4.4.1
Vcs-Git: https://salsa.debian.org/java-team/${package}.git
Vcs-Browser: https://salsa.debian.org/java-team/${package}
Homepage:#if(${project.Url}) ${project.Url}#else TODO #end
......