Migration v1.3: first completely resolved distribution
authorMathieu Baudier <mbaudier@argeo.org>
Thu, 17 May 2012 16:48:15 +0000 (16:48 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Thu, 17 May 2012 16:48:15 +0000 (16:48 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@5303 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

demo/slc_demo_rcp.properties
eclipse/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/commands/RunInOsgi.java
runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/maven/Migration_01_03.java

index 421fc6bba84c5d7a0b8815dd75c879359120fdab..059a84ce9fb98b938ee793bff5fa7f9cd8fb66c7 100644 (file)
@@ -17,8 +17,8 @@ org.argeo.slc.demo.minimal,\
 spring.security.strategy=MODE_INHERITABLETHREADLOCAL
 
 eclipse.application=org.argeo.slc.client.rcp.application
-#org.argeo.security.ui.initialPerspective=org.argeo.slc.client.ui.slcExecutionPerspective
-org.argeo.security.ui.initialPerspective=org.argeo.slc.client.ui.dist.distributionPerspective
+org.argeo.security.ui.initialPerspective=org.argeo.slc.client.ui.slcExecutionPerspective
+#org.argeo.security.ui.initialPerspective=org.argeo.slc.client.ui.dist.distributionPerspective
 
 log4j.configuration=file:../../log4j.properties
 
index 29299470b4d44a272cdc4292de70f8680b8ee17d..78a1e92a1e899537f1fb8b4f5cf2ce4baa20735f 100644 (file)
@@ -56,7 +56,7 @@ public class RunInOsgi extends AbstractHandler implements SlcNames {
 
        public Object execute(ExecutionEvent event) throws ExecutionException {
                File targetDirectory = new File(
-                               "/home/mbaudier/dev/work/120517-ArgeoTP/lib");
+                               "/home/mbaudier/dev/work/120517-ArgeoTP/" + workspace);
 
                InputStream jarStream = null;
                OutputStream out = null;
@@ -81,6 +81,8 @@ public class RunInOsgi extends AbstractHandler implements SlcNames {
                                if (symbolicName.startsWith("org.eclipse")
                                                && !symbolicName.equals("org.eclipse.osgi"))
                                        continue bundles;
+                               if(symbolicName.equals("org.polymap.openlayers.rap.widget"))
+                                       continue bundles;
 
                                File targetFile = new File(targetDirectory,
                                                bundleNode.getName());
index 9e37f7592516e5de8b0aa099f7c57050516615b1..bd8c78838cee3d5bdf2a1fe54b48db0eff1233ff 100644 (file)
@@ -1,6 +1,7 @@
 package org.argeo.slc.repo.maven;
 
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 import java.util.jar.Attributes.Name;
@@ -52,6 +53,8 @@ public class Migration_01_03 implements Runnable, SlcNames {
        private String sourceWorkspace;
        private String targetWorkspace;
 
+       private List<String> excludedBundles = new ArrayList<String>();
+
        private Session origSession;
        private Session targetSession;
 
@@ -81,19 +84,21 @@ public class Migration_01_03 implements Runnable, SlcNames {
        public void run() {
 
                try {
-                       NodeIterator origArtifacts = listArtifactVersions(origSession);
-
                        // clear target
                        NodeIterator nit = targetSession.getNode(artifactBasePath)
                                        .getNodes();
                        while (nit.hasNext()) {
                                Node node = nit.nextNode();
                                if (node.isNodeType(NodeType.NT_FOLDER)
-                                               || node.isNodeType(NodeType.NT_UNSTRUCTURED))
+                                               || node.isNodeType(NodeType.NT_UNSTRUCTURED)) {
                                        node.remove();
+                                       node.getSession().save();
+                                       if (log.isDebugEnabled())
+                                               log.debug("Cleared " + node);
+                               }
                        }
-                       targetSession.save();
 
+                       NodeIterator origArtifacts = listArtifactVersions(origSession);
                        // process
                        while (origArtifacts.hasNext()) {
                                Node origArtifactNode = origArtifacts.nextNode();
@@ -147,6 +152,10 @@ public class Migration_01_03 implements Runnable, SlcNames {
                        targetSymbolicName = origSymbolicName;
                }
 
+               // skip excluded bundles
+               if (excludedBundles.contains(targetSymbolicName))
+                       return;
+
                // check fragment host
                if (origManifest.getMainAttributes().containsKey(
                                new Name(Constants.FRAGMENT_HOST))) {
@@ -183,7 +192,7 @@ public class Migration_01_03 implements Runnable, SlcNames {
                                if (systemPackages.contains(pkg)) {
                                        if (!(sourceVersion.trim().equals("0") || sourceVersion
                                                        .trim().equals("0.0.0"))) {
-                                               targetVersion = "0";
+                                               targetVersion = null;
                                                importPackagesModified = true;
                                                if (log.isDebugEnabled())
                                                        log.debug(origSymbolicName
@@ -191,8 +200,9 @@ public class Migration_01_03 implements Runnable, SlcNames {
                                                                        + sourceVersion);
                                        }
                                }
-                               targetImportPackages.append(";version=\"")
-                                               .append(targetVersion).append("\"");
+                               if (targetVersion != null)
+                                       targetImportPackages.append(";version=\"")
+                                                       .append(targetVersion).append("\"");
                        }
                        if (importPackage.hasProperty(SLC_OPTIONAL)) {
                                Boolean optional = importPackage.getProperty(SLC_OPTIONAL)
@@ -340,4 +350,9 @@ public class Migration_01_03 implements Runnable, SlcNames {
        public void setTargetWorkspace(String targetWorkspace) {
                this.targetWorkspace = targetWorkspace;
        }
+
+       public void setExcludedBundles(List<String> excludedBundles) {
+               this.excludedBundles = excludedBundles;
+       }
+
 }