X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.slc.core%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fant%2FAntRegistryUtil.java;h=e81fb30eb42b69e84b2fdcdd66807395d88c78e1;hb=f366b06720d300b3e20f996902d0c2dab55a3473;hp=8bb0ffcb7efc67d1ea27692cd4fd00ec586d3699;hpb=525a2eb0e6c1eacddd980f9320d03895d85e7813;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/ant/AntRegistryUtil.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/ant/AntRegistryUtil.java index 8bb0ffcb7..e81fb30eb 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/ant/AntRegistryUtil.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/ant/AntRegistryUtil.java @@ -10,7 +10,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.tools.ant.Project; import org.apache.tools.ant.ProjectHelper; - +import org.apache.tools.ant.listener.CommonsLoggingListener; import org.argeo.slc.core.structure.StructurePath; import org.argeo.slc.core.structure.StructureRegistry; @@ -56,7 +56,8 @@ public class AntRegistryUtil { .getReference(SlcProjectHelper.REF_STRUCTURE_REGISTRY); registry.setMode(StructureRegistry.ACTIVE); registry.setActivePaths(activePaths); - p.executeTarget(p.getDefaultTarget()); + + runProject(p, null); return p; } @@ -71,7 +72,8 @@ public class AntRegistryUtil { ProjectHelper helper = new SlcProjectHelper(); p.addReference(ProjectHelper.PROJECTHELPER_REFERENCE, helper); helper.parse(p, antFile); - p.executeTarget(target != null ? target : p.getDefaultTarget()); + + runProject(p, target); return p; } @@ -81,15 +83,21 @@ public class AntRegistryUtil { log.debug("Runs all paths of Ant URL " + url); Project p = new Project(); p.setUserProperty("ant.file", url.toString()); - //p.setBaseDir(url.toString()); + // p.setBaseDir(url.toString()); + p.addBuildListener(new CommonsLoggingListener()); p.init(); ProjectHelper helper = new SlcProjectHelper(); p.addReference(ProjectHelper.PROJECTHELPER_REFERENCE, helper); helper.parse(p, url); - for(Map.Entry entry : properties.entrySet()){ - p.setUserProperty(entry.getKey().toString(), entry.getValue().toString()); + + if (properties != null) { + for (Map.Entry entry : properties.entrySet()) { + p.setUserProperty(entry.getKey().toString(), entry.getValue() + .toString()); + } } - p.executeTarget(target != null ? target : p.getDefaultTarget()); + + runProject(p, target); return p; } @@ -97,4 +105,17 @@ public class AntRegistryUtil { public static Project runAll(File antFile) { return runAll(antFile, null); } + + protected static void runProject(Project p, String target) { + p.fireBuildStarted(); + Throwable exception = null; + try { + p.executeTarget(target != null ? target : p.getDefaultTarget()); + } catch (Throwable e) { + exception = e; + log.error("Exception when running Ant: ",e); + } finally { + p.fireBuildFinished(exception); + } + } }