[maven-debian-helper] 01/03: Added pom relocation support
Emmanuel Bourg
ebourg-guest at moszumanska.debian.org
Thu Jun 30 12:34:00 UTC 2016
This is an automated email from the git hooks/post-receive script.
ebourg-guest pushed a commit to branch master
in repository maven-debian-helper.
commit 249547da77a24be3d05a9ab0938c00eafb324e53
Author: Emmanuel Bourg <ebourg at apache.org>
Date: Thu Jun 30 10:52:08 2016 +0200
Added pom relocation support
---
.../org/debian/maven/plugin/SysInstallMojo.java | 41 ++++++++++++++++++++++
debian/changelog | 8 +++++
debian/control | 4 +--
pom.xml | 2 +-
4 files changed, 52 insertions(+), 3 deletions(-)
diff --git a/debian-maven-plugin/src/main/java/org/debian/maven/plugin/SysInstallMojo.java b/debian-maven-plugin/src/main/java/org/debian/maven/plugin/SysInstallMojo.java
index 3ba4a42..9c18572 100644
--- a/debian-maven-plugin/src/main/java/org/debian/maven/plugin/SysInstallMojo.java
+++ b/debian-maven-plugin/src/main/java/org/debian/maven/plugin/SysInstallMojo.java
@@ -16,6 +16,7 @@
package org.debian.maven.plugin;
+import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
@@ -27,6 +28,8 @@ import java.util.regex.Pattern;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.io.RawInputStreamFacade;
+import org.debian.maven.repo.Dependency;
import org.debian.maven.repo.ListOfPOMs;
import org.debian.maven.repo.POMCleaner;
import org.debian.maven.repo.POMOptions;
@@ -197,6 +200,10 @@ public class SysInstallMojo extends AbstractMojo {
private String classifier;
+ /**
+ * The Maven artifacts relocated to this artifact.
+ */
+ private List<Dependency> relocatedArtifacts;
// ----------------------------------------------------------------------
// Public methods
@@ -717,6 +724,8 @@ public class SysInstallMojo extends AbstractMojo {
// creation
installToUsj = pomOption.isJavaLib() ||
(packageIsJavaLib && installToUsj);
+
+ relocatedArtifacts = pomOption.getRelocatedArtifacts();
}
List<String> params = new ArrayList<String>();
@@ -786,6 +795,37 @@ public class SysInstallMojo extends AbstractMojo {
}
/**
+ * Install the relocated poms
+ */
+ protected void relocatePoms() throws IOException {
+ for (Dependency relocated : relocatedArtifacts) {
+ getLog().info("Relocating " + relocated.formatCompactNotation());
+
+ File relocatedPath = new File(packagePath() + "/usr/share/maven-repo" + artifactPath(relocated.getGroupId(), relocated.getArtifactId(), relocated.getVersion()));
+ File relocatedPom = new File(relocatedPath, pomName(relocated.getArtifactId(), relocated.getVersion()));
+ String pom = createRelocationPom(relocated);
+
+ FileUtils.copyStreamToFile(new RawInputStreamFacade(new ByteArrayInputStream(pom.getBytes("UTF-8"))), relocatedPom);
+ }
+ }
+
+ private String createRelocationPom(Dependency relocateArtifact) {
+ return "<project>\n" +
+ " <modelVersion>4.0.0</modelVersion>\n" +
+ " <groupId>" + relocateArtifact.getGroupId() + "</groupId>\n" +
+ " <artifactId>" + relocateArtifact.getArtifactId() + "</artifactId>\n" +
+ " <version>" + relocateArtifact.getVersion() + "</version>\n" +
+ " <distributionManagement>\n" +
+ " <relocation>\n" +
+ " <groupId>" + destGroupId + "</groupId>\n" +
+ " <artifactId>" + destArtifactId + "</artifactId>\n" +
+ " <version>" + debianVersion + "</version>\n" +
+ " </relocation>\n" +
+ " </distributionManagement>\n" +
+ "</project>";
+ }
+
+ /**
* Prepare the destination directories: remove the directory symlinks that were created
* by copy-repo.sh if they exist as they point to a directory owned by root and that cannot
* be modified.
@@ -803,6 +843,7 @@ public class SysInstallMojo extends AbstractMojo {
cleanPom();
prepareDestDirs();
copyPom();
+ relocatePoms();
if (installToUsj) {
copyJarToUsj();
symlinkJar();
diff --git a/debian/changelog b/debian/changelog
index a57bc25..939be14 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+maven-debian-helper (2.1) UNRELEASED; urgency=medium
+
+ * Team upload.
+ * Added pom relocation support
+ * Depend on maven-repo-helper >= 1.9
+
+ -- Emmanuel Bourg <ebourg at apache.org> Thu, 30 Jun 2016 10:30:52 +0200
+
maven-debian-helper (2.0.7) unstable; urgency=medium
* Team upload.
diff --git a/debian/control b/debian/control
index f8eab77..7028ab9 100644
--- a/debian/control
+++ b/debian/control
@@ -14,7 +14,7 @@ Build-Depends-Indep: junit4,
libmaven3-core-java,
libmaven-plugin-tools-java,
libplexus-velocity-java,
- maven-repo-helper (>= 1.8.9)
+ maven-repo-helper (>= 1.9)
Standards-Version: 3.9.8
Vcs-Git: https://anonscm.debian.org/git/pkg-java/maven-debian-helper.git
Vcs-Browser: https://anonscm.debian.org/cgit/pkg-java/maven-debian-helper.git
@@ -22,7 +22,7 @@ Homepage: http://wiki.debian.org/Java/MavenBuilder
Package: maven-debian-helper
Architecture: all
-Depends: ${misc:Depends}, default-jdk, maven-repo-helper (>= 1.8.9), maven (>= 3.3),
+Depends: ${misc:Depends}, default-jdk, maven-repo-helper (>= 1.9), maven (>= 3.3),
libmaven-clean-plugin-java,
libmaven-compiler-plugin-java,
libmaven-jar-plugin-java,
diff --git a/pom.xml b/pom.xml
index 86e3b1d..7d6094d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
<dependency>
<groupId>org.debian.maven</groupId>
<artifactId>maven-repo-helper</artifactId>
- <version>[1.8,2.0)</version>
+ <version>[1.9,2.0)</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
--
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