From 04da2b2f6d5340aa2deb6bd3ed26044d6cb5fd13 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Fri, 29 Aug 2014 12:39:59 +0000 Subject: [PATCH] Fix Maven sources download git-svn-id: https://svn.argeo.org/slc/trunk@7212 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../org/argeo/slc/repo/osgi/MavenWrapper.java | 41 ++++++++++++------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/osgi/MavenWrapper.java b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/osgi/MavenWrapper.java index 5330e67e2..3de52c53c 100644 --- a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/osgi/MavenWrapper.java +++ b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/osgi/MavenWrapper.java @@ -13,11 +13,12 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.argeo.jcr.JcrUtils; import org.argeo.slc.DefaultNameVersion; -import org.argeo.slc.NameVersion; import org.argeo.slc.SlcException; import org.argeo.slc.repo.OsgiFactory; import org.argeo.slc.repo.RepoUtils; +import org.sonatype.aether.artifact.Artifact; import org.sonatype.aether.util.artifact.DefaultArtifact; +import org.sonatype.aether.util.artifact.SubArtifact; public class MavenWrapper extends BndWrapper implements Runnable { private final static Log log = LogFactory.getLog(MavenWrapper.class); @@ -56,27 +57,37 @@ public class MavenWrapper extends BndWrapper implements Runnable { osgiFactory.indexNode(newJarNode); newJarNode.getSession().save(); + if (log.isDebugEnabled()) + log.debug("Wrapped Maven " + sourceCoords + " to " + + newJarNode.getPath()); + // sources + Artifact sourcesArtifact = new SubArtifact(new DefaultArtifact( + sourceCoords), "sources", null); + Node sourcesArtifactNode; try { - Node sourcesArtifact = osgiFactory.getMaven(distSession, - sourceCoords + ":sources"); - IOUtils.closeQuietly(in); - in = origArtifact.getNode(Node.JCR_CONTENT) - .getProperty(Property.JCR_DATA).getBinary().getStream(); - byte[] pdeSource = RepoUtils.packageAsPdeSource(in, - new DefaultNameVersion(getName(), getVersion())); - Node pdeSourceNode = RepoUtils.copyBytesAsArtifact(javaSession - .getRootNode(), new DefaultArtifact(getCategory(), - getName() + ".source", "jar", getVersion()), pdeSource); - osgiFactory.indexNode(pdeSourceNode); - pdeSourceNode.getSession().save(); + + sourcesArtifactNode = osgiFactory.getMaven(distSession, + sourcesArtifact.toString()); } catch (SlcException e) { // no sources available + return; } + IOUtils.closeQuietly(in); + in = sourcesArtifactNode.getNode(Node.JCR_CONTENT) + .getProperty(Property.JCR_DATA).getBinary().getStream(); + byte[] pdeSource = RepoUtils.packageAsPdeSource(in, + new DefaultNameVersion(getName(), getVersion())); + Node pdeSourceNode = RepoUtils.copyBytesAsArtifact(javaSession + .getRootNode(), new DefaultArtifact(getCategory(), + getName() + ".source", "jar", getVersion()), pdeSource); + osgiFactory.indexNode(pdeSourceNode); + pdeSourceNode.getSession().save(); + if (log.isDebugEnabled()) - log.debug("Wrapped Maven " + sourceCoords + " to " - + newJarNode.getPath()); + log.debug("Wrapped Maven " + sourcesArtifact + + " to PDE sources " + pdeSourceNode.getPath()); } catch (RepositoryException e) { throw new SlcException("Cannot wrap Maven " + sourceCoords, e); } finally { -- 2.39.5