Introduce maven deploy environment
authorMathieu Baudier <mbaudier@argeo.org>
Sat, 31 May 2008 17:58:36 +0000 (17:58 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Sat, 31 May 2008 17:58:36 +0000 (17:58 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@1164 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

org.argeo.slc.core/src/main/java/org/argeo/slc/maven/MavenDeployEnvironment.java [new file with mode: 0644]
org.argeo.slc.core/src/main/java/org/argeo/slc/support/deploy/BasicDeployEnvironment.java [deleted file]

diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/maven/MavenDeployEnvironment.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/maven/MavenDeployEnvironment.java
new file mode 100644 (file)
index 0000000..d10b073
--- /dev/null
@@ -0,0 +1,73 @@
+package org.argeo.slc.maven;
+
+import java.io.File;
+import java.net.URL;
+import java.util.Map;
+import java.util.Properties;
+import java.util.UUID;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.argeo.slc.ant.AntRegistryUtil;
+import org.argeo.slc.core.SlcException;
+import org.argeo.slc.core.deploy.DeployEnvironment;
+
+public class MavenDeployEnvironment implements DeployEnvironment {
+       private static final Log log = LogFactory
+                       .getLog(MavenDeployEnvironment.class);
+       private MavenManager mavenManager;
+
+       public void unpackTo(Object packg, File targetLocation,
+                       Map<String, String> filter) {
+               File packageLocation;
+               String type = null;
+               String removeRootDir = "enabled";
+               if (packg instanceof MavenFile) {
+                       packageLocation = mavenManager
+                                       .getPackageLocation((MavenFile) packg);
+                       type = ((MavenFile) packg).getType();
+               } else if (packg instanceof File) {
+                       packageLocation = (File) packg;
+                       // TODO: type based on extension
+               } else {
+                       throw new SlcException("Unrecognized package type "
+                                       + packg.getClass());
+               }
+               if (log.isDebugEnabled()) {
+                       log.debug("Unpack " + packageLocation + " of type " + type + " to "
+                                       + targetLocation);
+               }
+
+               try {
+                       File tempDir = new File("/tmp/"+UUID.randomUUID().toString());
+                       tempDir.mkdirs();
+                       targetLocation.mkdirs();
+                       Properties props = new Properties();
+                       props.setProperty("dest", targetLocation.getAbsolutePath());
+                       props.setProperty("src", packageLocation.getAbsolutePath());
+                       props.setProperty("tempDir", tempDir.getAbsolutePath());
+                       props.setProperty("removeRootDir", removeRootDir);
+
+                       URL antUrl = getClass().getClassLoader().getResource(
+                                       "org/argeo/slc/support/deploy/ant/build.xml");
+
+                       if (type == null || type.equals("zip")) {
+                               AntRegistryUtil.runAll(antUrl, "deployZip", props);
+                       } else if (type.equals("tar.gz")) {
+                               AntRegistryUtil.runAll(antUrl, "deployTarGz", props);
+                       } else {
+                               throw new SlcException("Unknow package type " + type);
+                       }
+               } catch (SlcException e) {
+                       throw e;
+               } catch (Exception e) {
+                       throw new SlcException("Cannot unpack package " + packg + " to "
+                                       + targetLocation, e);
+               }
+       }
+
+       public void setMavenManager(MavenManager mavenManager) {
+               this.mavenManager = mavenManager;
+       }
+
+}
diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/support/deploy/BasicDeployEnvironment.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/support/deploy/BasicDeployEnvironment.java
deleted file mode 100644 (file)
index 60dfea0..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.argeo.slc.support.deploy;
-
-import java.io.File;
-import java.net.URL;
-import java.util.Map;
-import java.util.Properties;
-import java.util.UUID;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.argeo.slc.ant.AntRegistryUtil;
-import org.argeo.slc.core.SlcException;
-import org.argeo.slc.core.deploy.DeployEnvironment;
-import org.argeo.slc.maven.MavenFile;
-import org.argeo.slc.maven.MavenManager;
-
-public class BasicDeployEnvironment implements DeployEnvironment {
-       private static final Log log = LogFactory
-                       .getLog(BasicDeployEnvironment.class);
-       private MavenManager mavenManager;
-
-       public void unpackTo(Object packg, File targetLocation,
-                       Map<String, String> filter) {
-               File packageLocation;
-               String type = null;
-               String removeRootDir = "enabled";
-               if (packg instanceof MavenFile) {
-                       packageLocation = mavenManager
-                                       .getPackageLocation((MavenFile) packg);
-                       type = ((MavenFile) packg).getType();
-               } else if (packg instanceof File) {
-                       packageLocation = (File) packg;
-                       // TODO: type based on extension
-               } else {
-                       throw new SlcException("Unrecognized package type "
-                                       + packg.getClass());
-               }
-               if (log.isDebugEnabled()) {
-                       log.debug("Unpack " + packageLocation + " of type " + type + " to "
-                                       + targetLocation);
-               }
-
-               try {
-                       File tempDir = new File("/tmp/"+UUID.randomUUID().toString());
-                       tempDir.mkdirs();
-                       targetLocation.mkdirs();
-                       Properties props = new Properties();
-                       props.setProperty("dest", targetLocation.getAbsolutePath());
-                       props.setProperty("src", packageLocation.getAbsolutePath());
-                       props.setProperty("tempDir", tempDir.getAbsolutePath());
-                       props.setProperty("removeRootDir", removeRootDir);
-
-                       URL antUrl = getClass().getClassLoader().getResource(
-                                       "org/argeo/slc/support/deploy/ant/build.xml");
-
-                       if (type == null || type.equals("zip")) {
-                               AntRegistryUtil.runAll(antUrl, "deployZip", props);
-                       } else if (type.equals("tar.gz")) {
-                               AntRegistryUtil.runAll(antUrl, "deployTarGz", props);
-                       } else {
-                               throw new SlcException("Unknow package type " + type);
-                       }
-               } catch (SlcException e) {
-                       throw e;
-               } catch (Exception e) {
-                       throw new SlcException("Cannot unpack package " + packg + " to "
-                                       + targetLocation, e);
-               }
-       }
-
-       public void setMavenManager(MavenManager mavenManager) {
-               this.mavenManager = mavenManager;
-       }
-
-}