]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.launcher/src/main/java/org/argeo/slc/maven/MavenDeployEnvironment.java
Introduce OSGi boot
[gpl/argeo-slc.git] / runtime / org.argeo.slc.launcher / src / main / java / org / argeo / slc / maven / MavenDeployEnvironment.java
1 package org.argeo.slc.maven;
2
3 import java.io.File;
4 import java.net.URL;
5 import java.util.Map;
6 import java.util.Properties;
7 import java.util.UUID;
8
9 import org.apache.commons.logging.Log;
10 import org.apache.commons.logging.LogFactory;
11 //import org.argeo.slc.ant.AntRunner;
12 import org.argeo.slc.SlcException;
13 import org.argeo.slc.deploy.DeployEnvironment;
14
15 public class MavenDeployEnvironment {/*implements DeployEnvironment {
16 private static final Log log = LogFactory
17 .getLog(MavenDeployEnvironment.class);
18 private MavenManager mavenManager;
19
20 public void unpackTo(Object packg, File targetLocation,
21 Map<String, String> filter) {
22 File packageLocation;
23 String type = null;
24 String removeRootDir = "enabled";
25 if (packg instanceof MavenFile) {
26 packageLocation = mavenManager
27 .getPackageLocation((MavenFile) packg);
28 type = ((MavenFile) packg).getType();
29 } else if (packg instanceof File) {
30 packageLocation = (File) packg;
31 // TODO: type based on extension
32 } else {
33 throw new SlcException("Unrecognized package type "
34 + packg.getClass());
35 }
36 if (log.isDebugEnabled()) {
37 log.debug("Unpack " + packageLocation + " of type " + type + " to "
38 + targetLocation);
39 }
40
41 try {
42 File tempDir = new File("/tmp/" + UUID.randomUUID().toString());
43 tempDir.mkdirs();
44 targetLocation.mkdirs();
45 Properties props = new Properties();
46 props.setProperty("dest", targetLocation.getAbsolutePath());
47 props.setProperty("src", packageLocation.getAbsolutePath());
48 props.setProperty("tempDir", tempDir.getAbsolutePath());
49 props.setProperty("removeRootDir", removeRootDir);
50
51 URL antUrl = getClass().getClassLoader().getResource(
52 "org/argeo/slc/support/deploy/ant/build.xml");
53
54 if (type == null || type.equals("zip")) {
55 new AntRunner(antUrl, "deployZip", props).run();
56 } else if (type.equals("tar.gz")) {
57 new AntRunner(antUrl, "deployTarGz", props).run();
58 } else {
59 throw new SlcException("Unknow package type " + type);
60 }
61 } catch (SlcException e) {
62 throw e;
63 } catch (Exception e) {
64 throw new SlcException("Cannot unpack package " + packg + " to "
65 + targetLocation, e);
66 }
67 }
68
69 public void setMavenManager(MavenManager mavenManager) {
70 this.mavenManager = mavenManager;
71 }
72 */
73 }