]>
git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.launcher/src/main/java/org/argeo/slc/maven/MavenDeployEnvironment.java
1 package org
.argeo
.slc
.maven
;
6 import java
.util
.Properties
;
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
.core
.SlcException
;
13 import org
.argeo
.slc
.core
.deploy
.DeployEnvironment
;
15 public class MavenDeployEnvironment
{/*implements DeployEnvironment {
16 private static final Log log = LogFactory
17 .getLog(MavenDeployEnvironment.class);
18 private MavenManager mavenManager;
20 public void unpackTo(Object packg, File targetLocation,
21 Map<String, String> filter) {
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
33 throw new SlcException("Unrecognized package type "
36 if (log.isDebugEnabled()) {
37 log.debug("Unpack " + packageLocation + " of type " + type + " to "
42 File tempDir = new File("/tmp/" + UUID.randomUUID().toString());
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);
51 URL antUrl = getClass().getClassLoader().getResource(
52 "org/argeo/slc/support/deploy/ant/build.xml");
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();
59 throw new SlcException("Unknow package type " + type);
61 } catch (SlcException e) {
63 } catch (Exception e) {
64 throw new SlcException("Cannot unpack package " + packg + " to "
69 public void setMavenManager(MavenManager mavenManager) {
70 this.mavenManager = mavenManager;