X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=runtime%2Forg.argeo.slc.repo%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Frepo%2Fosgi%2FMavenWrapper.java;fp=runtime%2Forg.argeo.slc.repo%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Frepo%2Fosgi%2FMavenWrapper.java;h=3de52c53c9950510d9f87ceae677788277b95f7d;hb=04da2b2f6d5340aa2deb6bd3ed26044d6cb5fd13;hp=5330e67e2fcb7a4ffaf9e2fd9216a44cdcb8c89d;hpb=f8cc67cb65dd9b2384020017782fc2fff7415b93;p=gpl%2Fargeo-slc.git 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 {