From: Mathieu Baudier Date: Tue, 8 May 2012 14:06:26 +0000 (+0000) Subject: Kepp improving migration X-Git-Tag: argeo-slc-2.1.7~735 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;h=496f697b423f25a732d7d2e5b0405cfed0c31393;p=gpl%2Fargeo-slc.git Kepp improving migration git-svn-id: https://svn.argeo.org/slc/trunk@5294 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- diff --git a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/maven/ImportMavenDependencies.java b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/maven/ImportMavenDependencies.java index bcb745e08..bde774526 100644 --- a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/maven/ImportMavenDependencies.java +++ b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/maven/ImportMavenDependencies.java @@ -53,7 +53,7 @@ public class ImportMavenDependencies implements Runnable { .getLog(ImportMavenDependencies.class); private AetherTemplate aetherTemplate; - private String rootCoordinates; + private String rootCoordinates = "org.argeo.dep:versions-all:pom:1.2.0"; private String distCoordinates = "org.argeo.tp:dist:pom:1.3.0"; private Set excludedArtifacts = new HashSet(); @@ -86,7 +86,8 @@ public class ImportMavenDependencies implements Runnable { NodeIterator nit = session.getNode(artifactBasePath).getNodes(); while (nit.hasNext()) { Node node = nit.nextNode(); - if (node.isNodeType(NodeType.NT_FOLDER)) + if (node.isNodeType(NodeType.NT_FOLDER) + || node.isNodeType(NodeType.NT_UNSTRUCTURED)) node.remove(); } session.save(); @@ -134,11 +135,12 @@ public class ImportMavenDependencies implements Runnable { if (log.isDebugEnabled()) { log.debug("Resolved " + artifacts.size() + " artifacts"); -// Properties distributionDescriptor = generateDistributionDescriptor(artifacts); -// ByteArrayOutputStream out = new ByteArrayOutputStream(); -// distributionDescriptor.store(out, ""); -// log.debug(new String(out.toByteArray())); -// out.close(); + // Properties distributionDescriptor = + // generateDistributionDescriptor(artifacts); + // ByteArrayOutputStream out = new ByteArrayOutputStream(); + // distributionDescriptor.store(out, ""); + // log.debug(new String(out.toByteArray())); + // out.close(); } /* @@ -178,13 +180,23 @@ public class ImportMavenDependencies implements Runnable { return distributionDescriptor; } - private void syncDistribution(Session jcrSession, Set artifacts) { + /** Write artifacts to the target workspace, skipping excluded ones */ + protected void syncDistribution(Session jcrSession, Set artifacts) { Set artifactsWithoutSources = new TreeSet( artifactComparator); Long begin = System.currentTimeMillis(); try { - JcrUtils.mkdirs(jcrSession, artifactBasePath); + JcrUtils.mkdirs(jcrSession, artifactBasePath, NodeType.NT_FOLDER, + NodeType.NT_FOLDER, false); artifacts: for (Artifact artifact : artifacts) { + // skip excluded + if (excludedArtifacts.contains(artifact.getGroupId() + ":" + + artifact.getArtifactId())) { + if (log.isDebugEnabled()) + log.debug("Exclude " + artifact); + continue artifacts; + } + File jarFile = MavenConventionsUtils.artifactToFile(artifact); if (!jarFile.exists()) { log.warn("Generated file " + jarFile + " for " + artifact @@ -199,7 +211,7 @@ public class ImportMavenDependencies implements Runnable { Node parentNode; if (!jcrSession.itemExists(parentPath)) parentNode = JcrUtils.mkdirs(jcrSession, parentPath, - NodeType.NT_FOLDER); + NodeType.NT_FOLDER, NodeType.NT_FOLDER, false); else parentNode = jcrSession.getNode(parentPath); @@ -216,7 +228,8 @@ public class ImportMavenDependencies implements Runnable { jarFileIndexer.index(fileNode); jcrSession.save(); - addPdeSource(jcrSession, artifact, jarFile, artifactsWithoutSources); + addPdeSource(jcrSession, artifact, jarFile, + artifactsWithoutSources); jcrSession.save(); if (log.isDebugEnabled()) @@ -264,9 +277,9 @@ public class ImportMavenDependencies implements Runnable { .getResolvedFile(origSourceArtifact); } - String parentPath = MavenConventionsUtils.artifactParentPath( - artifactBasePath, artifact); - Node parentNode = JcrUtils.mkdirs(session, parentPath, + String sourceParentPath = MavenConventionsUtils.artifactParentPath( + artifactBasePath, targetSourceArtifact); + Node sourceParentNode = JcrUtils.mkdirs(session, sourceParentPath, NodeType.NT_FOLDER); NameVersion bundleNameVersion = RepoUtils .readNameVersion(artifactFile); @@ -274,7 +287,7 @@ public class ImportMavenDependencies implements Runnable { out); String targetSourceFileName = MavenConventionsUtils .artifactFileName(targetSourceArtifact); - JcrUtils.copyBytesAsFile(parentNode, targetSourceFileName, + JcrUtils.copyBytesAsFile(sourceParentNode, targetSourceFileName, out.toByteArray()); } catch (Exception e) { log.error("Cannot add PDE source for " + artifact + ": " + e); @@ -291,8 +304,8 @@ public class ImportMavenDependencies implements Runnable { /** Recursively adds non optional dependencies */ private void addDependencies(Set artifacts, DependencyNode node, String ancestors) { -// if (artifacts.contains(node.getDependency().getArtifact())) -// return; + // if (artifacts.contains(node.getDependency().getArtifact())) + // return; String currentArtifactId = node.getDependency().getArtifact() .getArtifactId(); if (log.isDebugEnabled()) { @@ -351,4 +364,12 @@ public class ImportMavenDependencies implements Runnable { this.workspace = workspace; } + public void setDistCoordinates(String distCoordinates) { + this.distCoordinates = distCoordinates; + } + + public void setArtifactBasePath(String artifactBasePath) { + this.artifactBasePath = artifactBasePath; + } + } diff --git a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/maven/Migration_01_03.java b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/maven/Migration_01_03.java index e21dbc10c..27207118d 100644 --- a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/maven/Migration_01_03.java +++ b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/maven/Migration_01_03.java @@ -111,7 +111,7 @@ public class Migration_01_03 implements Runnable, SlcNames { String targetSymbolicName = sourceSymbolicName .substring(SPRING_SOURCE_PREFIX.length() + 1); if (log.isDebugEnabled()) - log.debug("Renamed " + Constants.BUNDLE_SYMBOLICNAME + " to " + log.debug(Constants.BUNDLE_SYMBOLICNAME + " to " + targetSymbolicName + " \t\tfrom " + sourceSymbolicName); targetManifest.getMainAttributes().putValue( @@ -126,10 +126,10 @@ public class Migration_01_03 implements Runnable, SlcNames { Constants.FRAGMENT_HOST); if (fragmentHost.startsWith(SPRING_SOURCE_PREFIX) && !fragmentHost.equals(SPRING_SOURCE_PREFIX + ".json")) { - String targetFragmentHost = sourceSymbolicName + String targetFragmentHost = fragmentHost .substring(SPRING_SOURCE_PREFIX.length() + 1); if (log.isDebugEnabled()) - log.debug("Renamed " + Constants.FRAGMENT_HOST + " to " + log.debug(Constants.FRAGMENT_HOST + " to " + targetFragmentHost + " from " + fragmentHost); targetManifest.getMainAttributes().putValue( Constants.FRAGMENT_HOST, targetFragmentHost); diff --git a/runtime/org.argeo.slc.repo/src/main/resources/org/argeo/slc/repo/osgi/JavaSE-1.6.profile b/runtime/org.argeo.slc.repo/src/main/resources/org/argeo/slc/repo/osgi/JavaSE-1.6.profile new file mode 100644 index 000000000..68e811f69 --- /dev/null +++ b/runtime/org.argeo.slc.repo/src/main/resources/org/argeo/slc/repo/osgi/JavaSE-1.6.profile @@ -0,0 +1,194 @@ +############################################################################### +# Copyright (c) 2003, 2008 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +############################################################################### +org.osgi.framework.system.packages = \ + javax.accessibility,\ + javax.activation,\ + javax.activity,\ + javax.annotation,\ + javax.annotation.processing,\ + javax.crypto,\ + javax.crypto.interfaces,\ + javax.crypto.spec,\ + javax.imageio,\ + javax.imageio.event,\ + javax.imageio.metadata,\ + javax.imageio.plugins.bmp,\ + javax.imageio.plugins.jpeg,\ + javax.imageio.spi,\ + javax.imageio.stream,\ + javax.jws,\ + javax.jws.soap,\ + javax.lang.model,\ + javax.lang.model.element,\ + javax.lang.model.type,\ + javax.lang.model.util,\ + javax.management,\ + javax.management.loading,\ + javax.management.modelmbean,\ + javax.management.monitor,\ + javax.management.openmbean,\ + javax.management.relation,\ + javax.management.remote,\ + javax.management.remote.rmi,\ + javax.management.timer,\ + javax.naming,\ + javax.naming.directory,\ + javax.naming.event,\ + javax.naming.ldap,\ + javax.naming.spi,\ + javax.net,\ + javax.net.ssl,\ + javax.print,\ + javax.print.attribute,\ + javax.print.attribute.standard,\ + javax.print.event,\ + javax.rmi,\ + javax.rmi.CORBA,\ + javax.rmi.ssl,\ + javax.script,\ + javax.security.auth,\ + javax.security.auth.callback,\ + javax.security.auth.kerberos,\ + javax.security.auth.login,\ + javax.security.auth.spi,\ + javax.security.auth.x500,\ + javax.security.cert,\ + javax.security.sasl,\ + javax.sound.midi,\ + javax.sound.midi.spi,\ + javax.sound.sampled,\ + javax.sound.sampled.spi,\ + javax.sql,\ + javax.sql.rowset,\ + javax.sql.rowset.serial,\ + javax.sql.rowset.spi,\ + javax.swing,\ + javax.swing.border,\ + javax.swing.colorchooser,\ + javax.swing.event,\ + javax.swing.filechooser,\ + javax.swing.plaf,\ + javax.swing.plaf.basic,\ + javax.swing.plaf.metal,\ + javax.swing.plaf.multi,\ + javax.swing.plaf.synth,\ + javax.swing.table,\ + javax.swing.text,\ + javax.swing.text.html,\ + javax.swing.text.html.parser,\ + javax.swing.text.rtf,\ + javax.swing.tree,\ + javax.swing.undo,\ + javax.tools,\ + javax.transaction,\ + javax.transaction.xa,\ + javax.xml,\ + javax.xml.bind,\ + javax.xml.bind.annotation,\ + javax.xml.bind.annotation.adapters,\ + javax.xml.bind.attachment,\ + javax.xml.bind.helpers,\ + javax.xml.bind.util,\ + javax.xml.crypto,\ + javax.xml.crypto.dom,\ + javax.xml.crypto.dsig,\ + javax.xml.crypto.dsig.dom,\ + javax.xml.crypto.dsig.keyinfo,\ + javax.xml.crypto.dsig.spec,\ + javax.xml.datatype,\ + javax.xml.namespace,\ + javax.xml.parsers,\ + javax.xml.soap,\ + javax.xml.stream,\ + javax.xml.stream.events,\ + javax.xml.stream.util,\ + javax.xml.transform,\ + javax.xml.transform.dom,\ + javax.xml.transform.sax,\ + javax.xml.transform.stax,\ + javax.xml.transform.stream,\ + javax.xml.validation,\ + javax.xml.ws,\ + javax.xml.ws.handler,\ + javax.xml.ws.handler.soap,\ + javax.xml.ws.http,\ + javax.xml.ws.soap,\ + javax.xml.ws.spi,\ + javax.xml.ws.wsaddressing,\ + javax.xml.xpath,\ + org.ietf.jgss,\ + org.omg.CORBA,\ + org.omg.CORBA_2_3,\ + org.omg.CORBA_2_3.portable,\ + org.omg.CORBA.DynAnyPackage,\ + org.omg.CORBA.ORBPackage,\ + org.omg.CORBA.portable,\ + org.omg.CORBA.TypeCodePackage,\ + org.omg.CosNaming,\ + org.omg.CosNaming.NamingContextExtPackage,\ + org.omg.CosNaming.NamingContextPackage,\ + org.omg.Dynamic,\ + org.omg.DynamicAny,\ + org.omg.DynamicAny.DynAnyFactoryPackage,\ + org.omg.DynamicAny.DynAnyPackage,\ + org.omg.IOP,\ + org.omg.IOP.CodecFactoryPackage,\ + org.omg.IOP.CodecPackage,\ + org.omg.Messaging,\ + org.omg.PortableInterceptor,\ + org.omg.PortableInterceptor.ORBInitInfoPackage,\ + org.omg.PortableServer,\ + org.omg.PortableServer.CurrentPackage,\ + org.omg.PortableServer.POAManagerPackage,\ + org.omg.PortableServer.POAPackage,\ + org.omg.PortableServer.portable,\ + org.omg.PortableServer.ServantLocatorPackage,\ + org.omg.SendingContext,\ + org.omg.stub.java.rmi,\ + org.w3c.dom,\ + org.w3c.dom.bootstrap,\ + org.w3c.dom.css,\ + org.w3c.dom.events,\ + org.w3c.dom.html,\ + org.w3c.dom.ls,\ + org.w3c.dom.ranges,\ + org.w3c.dom.stylesheets,\ + org.w3c.dom.traversal,\ + org.w3c.dom.views,\ + org.w3c.dom.xpath,\ + org.xml.sax,\ + org.xml.sax.ext,\ + org.xml.sax.helpers +org.osgi.framework.bootdelegation = \ + javax.*,\ + org.ietf.jgss,\ + org.omg.*,\ + org.w3c.*,\ + org.xml.*,\ + sun.*,\ + com.sun.* +org.osgi.framework.executionenvironment = \ + OSGi/Minimum-1.0,\ + OSGi/Minimum-1.1,\ + OSGi/Minimum-1.2,\ + JRE-1.1,\ + J2SE-1.2,\ + J2SE-1.3,\ + J2SE-1.4,\ + J2SE-1.5,\ + JavaSE-1.6 +osgi.java.profile.name = JavaSE-1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.source=1.6 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error