]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.core/src/main/java/org/argeo/slc/ant/AntRegistryUtil.java
SlcExecution hibernate persistence
[gpl/argeo-slc.git] / org.argeo.slc.core / src / main / java / org / argeo / slc / ant / AntRegistryUtil.java
index 634795e437e83297cec642eb56da9ab9d638389c..8bb0ffcb7efc67d1ea27692cd4fd00ec586d3699 100644 (file)
@@ -1,7 +1,10 @@
 package org.argeo.slc.ant;\r
 \r
 import java.io.File;\r
+import java.net.URL;\r
 import java.util.List;\r
+import java.util.Map;\r
+import java.util.Properties;\r
 \r
 import org.apache.commons.logging.Log;\r
 import org.apache.commons.logging.LogFactory;\r
@@ -72,6 +75,24 @@ public class AntRegistryUtil {
                return p;\r
        }\r
 \r
+       /** Executes all paths of the provided target of the Ant URL. */\r
+       public static Project runAll(URL url, String target, Properties properties) {\r
+               if (log.isDebugEnabled())\r
+                       log.debug("Runs all paths of Ant URL " + url);\r
+               Project p = new Project();\r
+               p.setUserProperty("ant.file", url.toString());\r
+               //p.setBaseDir(url.toString());\r
+               p.init();\r
+               ProjectHelper helper = new SlcProjectHelper();\r
+               p.addReference(ProjectHelper.PROJECTHELPER_REFERENCE, helper);\r
+               helper.parse(p, url);\r
+               for(Map.Entry<Object, Object> entry : properties.entrySet()){\r
+                       p.setUserProperty(entry.getKey().toString(), entry.getValue().toString());\r
+               }\r
+               p.executeTarget(target != null ? target : p.getDefaultTarget());\r
+               return p;\r
+       }\r
+\r
        /** Executes all paths of the default target of the Ant file. */\r
        public static Project runAll(File antFile) {\r
                return runAll(antFile, null);\r