From: Mathieu Baudier Date: Sat, 3 Jan 2015 12:46:14 +0000 (+0000) Subject: Make modular distribution more robust X-Git-Tag: argeo-slc-2.1.7~143 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;h=ecb1d31709323a1a0a6b372f930a8547166278ab;p=gpl%2Fargeo-slc.git Make modular distribution more robust git-svn-id: https://svn.argeo.org/slc/trunk@7620 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- diff --git a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/ModularDistributionIndexer.java b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/ModularDistributionIndexer.java index 3f9f7dcc5..bca049618 100644 --- a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/ModularDistributionIndexer.java +++ b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/ModularDistributionIndexer.java @@ -20,7 +20,6 @@ import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.argeo.jcr.JcrUtils; import org.argeo.slc.CategorizedNameVersion; import org.argeo.slc.DefaultNameVersion; import org.argeo.slc.NameVersion; @@ -121,8 +120,9 @@ public class ModularDistributionIndexer implements NodeIndexer, SlcNames { distNode.setProperty(SlcNames.SLC_CATEGORY, osgiDist.getCategory()); distNode.setProperty(SlcNames.SLC_NAME, osgiDist.getName()); distNode.setProperty(SlcNames.SLC_VERSION, osgiDist.getVersion()); - Node modules = JcrUtils.mkdirs(distNode, SlcNames.SLC_MODULES, - NodeType.NT_UNSTRUCTURED); + if (distNode.hasNode(SLC_MODULES)) + distNode.getNode(SLC_MODULES).remove(); + Node modules = distNode.addNode(SLC_MODULES, NodeType.NT_UNSTRUCTURED); for (Iterator it = osgiDist.nameVersions(); it .hasNext();) diff --git a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/osgi/ArchiveWrapper.java b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/osgi/ArchiveWrapper.java index 973175484..768cbbde3 100644 --- a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/osgi/ArchiveWrapper.java +++ b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/osgi/ArchiveWrapper.java @@ -121,6 +121,8 @@ public class ArchiveWrapper implements Runnable, ModuleSet, Distribution { NameVersion nv = RepoUtils.readNameVersion(jis .getManifest()); if (nv != null) { + if (nv.getName().endsWith(".source")) + continue entries; CategorizedNameVersion cnv = new OsgiCategorizedNV( groupId, nv.getName(), nv.getVersion(), this); @@ -194,9 +196,9 @@ public class ArchiveWrapper implements Runnable, ModuleSet, Distribution { + "from " + name + " in binary archive."); } - } else if (baseName.endsWith(".source")) { - // TODO Eclipse source already available } + // else if (baseName.endsWith(".source")) { + // } // binaries if (wrappers.containsKey(name)) { @@ -234,9 +236,9 @@ public class ArchiveWrapper implements Runnable, ModuleSet, Distribution { for (String include : includes.keySet()) { if (pathMatcher.match(include, name)) { String groupId = includes.get(include); - byte[] sourceJarBytes = IOUtils.toByteArray(zin); + byte[] origJarBytes = IOUtils.toByteArray(zin); Artifact artifact = importZipEntry(javaSession, - zentry, sourceJarBytes, groupId); + zentry, origJarBytes, groupId); if (artifact == null) { log.warn("Skipped non identified " + zentry); continue entries; diff --git a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/osgi/ArgeoOsgiDistributionImpl.java b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/osgi/ArgeoOsgiDistributionImpl.java index 72deeaded..b47da8b88 100644 --- a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/osgi/ArgeoOsgiDistributionImpl.java +++ b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/osgi/ArgeoOsgiDistributionImpl.java @@ -6,8 +6,6 @@ import java.util.List; import java.util.SortedSet; import java.util.TreeSet; -import javax.swing.text.StyledEditorKit.ItalicAction; - import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.argeo.slc.ModuleSet;