X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.slc.agent%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fant%2FSlcProjectHelper.java;h=2271481896a2675e4d9018eab1fe7545b3ae810f;hb=48d35a213a2b0d792b11b5df276158159105043b;hp=001ead97bd28db91d77d5bbea186bcde54aa4675;hpb=a7b136d40c14e4559faa5c34dc2b4dd2170ac2d4;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.slc.agent/src/main/java/org/argeo/slc/ant/SlcProjectHelper.java b/org.argeo.slc.agent/src/main/java/org/argeo/slc/ant/SlcProjectHelper.java index 001ead97b..227148189 100644 --- a/org.argeo.slc.agent/src/main/java/org/argeo/slc/ant/SlcProjectHelper.java +++ b/org.argeo.slc.agent/src/main/java/org/argeo/slc/ant/SlcProjectHelper.java @@ -11,25 +11,19 @@ import java.util.Properties; import java.util.UUID; import java.util.Vector; -import org.springframework.beans.factory.ListableBeanFactory; -import org.springframework.context.ApplicationContext; -import org.springframework.context.support.AbstractApplicationContext; -import org.springframework.context.support.FileSystemXmlApplicationContext; - import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.apache.log4j.LogManager; import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.BuildListener; import org.apache.tools.ant.Project; import org.apache.tools.ant.helper.ProjectHelper2; - import org.argeo.slc.core.process.SlcExecution; -import org.argeo.slc.core.process.SlcExecutionNotifier; import org.argeo.slc.core.structure.DefaultSRegistry; import org.argeo.slc.core.structure.SimpleSElement; import org.argeo.slc.core.structure.StructureRegistry; import org.argeo.slc.core.structure.tree.TreeSPath; +import org.springframework.beans.factory.ListableBeanFactory; +import org.springframework.context.support.AbstractApplicationContext; +import org.springframework.context.support.FileSystemXmlApplicationContext; /** * Custom implementation of an Ant ProjectHelper binding a Spring @@ -38,19 +32,6 @@ import org.argeo.slc.core.structure.tree.TreeSPath; public class SlcProjectHelper extends ProjectHelper2 { private static Log log; - /** The Ant reference to the Spring application context used. */ - public static String REF_ROOT_CONTEXT = "slcApplicationContext"; - /** The Ant reference to the SLC structure registry used. */ - public static String REF_STRUCTURE_REGISTRY = "slcStructureRegistry"; - /** The Ant reference to the TreePath of the current project */ - public static String REF_PROJECT_PATH = "slcProjectPath"; - /** - * Resource path to the property file listing the SLC specific Ant tasks: - * /org/argeo/slc/ant/taskdefs.properties - */ - private static String SLC_TASKDEFS_RESOURCE_PATH = "/org/argeo/slc/ant/taskdefs.properties"; - private static String SLC_TYPEDEFS_RESOURCE_PATH = "/org/argeo/slc/ant/typedefs.properties"; - protected SlcAntConfig slcAntConfig = null; @Override @@ -107,7 +88,7 @@ public class SlcProjectHelper extends ProjectHelper2 { // Init structure registry DefaultSRegistry registry = new DefaultSRegistry(); - project.addReference(REF_STRUCTURE_REGISTRY, registry); + project.addReference(SlcAntConstants.REF_STRUCTURE_REGISTRY, registry); } /** @@ -124,9 +105,9 @@ public class SlcProjectHelper extends ProjectHelper2 { private void registerProjectAndParents(Project project, SlcAntConfig slcAntConfig) { StructureRegistry registry = (StructureRegistry) project - .getReference(REF_STRUCTURE_REGISTRY); + .getReference(SlcAntConstants.REF_STRUCTURE_REGISTRY); File rootDir = new File(project - .getUserProperty(SlcAntConfig.ROOT_DIR_PROPERTY)) + .getUserProperty(SlcAntConstants.ROOT_DIR_PROPERTY)) .getAbsoluteFile(); File baseDir = project.getBaseDir().getAbsoluteFile(); List dirs = new Vector(); @@ -164,7 +145,7 @@ public class SlcProjectHelper extends ProjectHelper2 { } registry.register(currPath, element); } - project.addReference(REF_PROJECT_PATH, currPath); + project.addReference(SlcAntConstants.REF_PROJECT_PATH, currPath); } /** Gets the path of a project (root). */ @@ -183,7 +164,7 @@ public class SlcProjectHelper extends ProjectHelper2 { AbstractApplicationContext context = new FileSystemXmlApplicationContext( '/' + acPath); context.registerShutdownHook(); - project.addReference(REF_ROOT_CONTEXT, context); + project.addReference(SlcAntConstants.REF_ROOT_CONTEXT, context); createAndRegisterSlcExecution(project); // Add build listeners declared in Spring context @@ -196,7 +177,7 @@ public class SlcProjectHelper extends ProjectHelper2 { /** Loads the SLC specific Ant tasks. */ protected static void addCustomTaskAndTypes(Project project) { - Properties taskdefs = getDefs(project, SLC_TASKDEFS_RESOURCE_PATH); + Properties taskdefs = getDefs(project, SlcAntConstants.SLC_TASKDEFS_RESOURCE_PATH); for (Object o : taskdefs.keySet()) { String name = o.toString(); try { @@ -206,7 +187,7 @@ public class SlcProjectHelper extends ProjectHelper2 { log.error("Unknown class for task " + name, e); } } - Properties typedefs = getDefs(project, SLC_TYPEDEFS_RESOURCE_PATH); + Properties typedefs = getDefs(project, SlcAntConstants.SLC_TYPEDEFS_RESOURCE_PATH); for (Object o : typedefs.keySet()) { String name = o.toString(); try { @@ -239,10 +220,10 @@ public class SlcProjectHelper extends ProjectHelper2 { slcExecution.setHost(SlcExecution.UNKOWN_HOST); } - if (project.getReference(SlcProjectHelper.REF_ROOT_CONTEXT) != null) { - slcExecution.setType(SlcExecutionBuildListener.SLC_ANT_TYPE); + if (project.getReference(SlcAntConstants.REF_ROOT_CONTEXT) != null) { + slcExecution.setType(SlcAntConstants.EXECTYPE_SLC_ANT); } else { - slcExecution.setType(SlcExecutionBuildListener.ANT_TYPE); + slcExecution.setType(SlcAntConstants.EXECTYPE_ANT); } slcExecution.setUser(System.getProperty("user.name")); @@ -250,12 +231,12 @@ public class SlcProjectHelper extends ProjectHelper2 { slcExecution.getAttributes().put("ant.file", project.getProperty("ant.file")); - project.addReference(SlcExecutionBuildListener.REF_SLC_EXECUTION, + project.addReference(SlcAntConstants.REF_SLC_EXECUTION, slcExecution); // Add build listeners declared in Spring context Map listeners = ((ListableBeanFactory) project - .getReference(REF_ROOT_CONTEXT)).getBeansOfType( + .getReference(SlcAntConstants.REF_ROOT_CONTEXT)).getBeansOfType( ProjectRelatedBuildListener.class, false, true); for (ProjectRelatedBuildListener listener : listeners.values()) { listener.init(project);