X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.slc.core%2Fsrc%2Forg%2Fargeo%2Fslc%2Fant%2FAntRun.java;fp=org.argeo.slc.core%2Fsrc%2Forg%2Fargeo%2Fslc%2Fant%2FAntRun.java;h=0000000000000000000000000000000000000000;hb=e14154d2baba78852915304d51cbb56bed1d3d3e;hp=1e2dcb940a1fcfd7237eda5cf9d00a178385f005;hpb=aba0f1135009d9014c42368ecea338088e6d2be1;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.slc.core/src/org/argeo/slc/ant/AntRun.java b/org.argeo.slc.core/src/org/argeo/slc/ant/AntRun.java deleted file mode 100644 index 1e2dcb940..000000000 --- a/org.argeo.slc.core/src/org/argeo/slc/ant/AntRun.java +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Copyright (C) 2007-2012 Argeo GmbH - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.argeo.slc.ant; - -import java.io.File; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Vector; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.tools.ant.BuildEvent; -import org.apache.tools.ant.BuildListener; -import org.apache.tools.ant.Project; -import org.apache.tools.ant.ProjectHelper; -import org.apache.tools.ant.helper.ProjectHelper2; -import org.argeo.slc.SlcException; -import org.springframework.core.io.Resource; - -public class AntRun implements Runnable { - private final static Log log = LogFactory.getLog(AntRun.class); - - private Resource buildFile; - private File baseDir; - - private List targets = new ArrayList(); - private Map properties = new HashMap(); - - public void run() { - Project project = new Project(); - - try { - String path = buildFile.getURL().getPath(); - project.setUserProperty("ant.file", path); - project.setBaseDir(extractBaseDir(path)); - - project.init(); - ProjectHelper projectHelper = new ProjectHelper2(); - project.addReference(ProjectHelper.PROJECTHELPER_REFERENCE, - projectHelper); - projectHelper.parse(project, buildFile.getURL()); - } catch (Exception e) { - throw new SlcException("Could not parse " + buildFile, e); - } - - if (properties != null) { - for (Map.Entry entry : properties.entrySet()) { - project.setUserProperty(entry.getKey().toString(), entry - .getValue().toString()); - } - } - - project.fireBuildStarted(); - Throwable exception = null; - try { - project.addBuildListener(new LoggingListener()); - if (targets.size() == 0) { - project.executeTarget(project.getDefaultTarget()); - } else { - project.executeTargets(new Vector(targets)); - } - } catch (Throwable e) { - exception = e; - throw new SlcException("Could not run Ant script " + buildFile, e); - } finally { - project.fireBuildFinished(exception); - } - } - - private File extractBaseDir(String path) { - if(this.baseDir!=null) - return this.baseDir; - - String baseDir = null; - if (path.length() > 1) { - int indx = path.lastIndexOf('/', path.length() - 1); - if (indx == -1 || indx == 0) { - baseDir = "/"; - } else { - baseDir = path.substring(0, indx) + "/"; - } - } else { - baseDir = "/"; - } - File file = new File(baseDir); - if (file.exists()) { - return file; - } else { - return new File(System.getProperty("user.dir")); - } - } - - public void setBuildFile(Resource buildFile) { - this.buildFile = buildFile; - } - - public void setTargets(List targets) { - this.targets = targets; - } - - public void setProperties(Map properties) { - this.properties = properties; - } - - public void setBaseDir(File baseDir) { - this.baseDir = baseDir; - } - - protected static class LoggingListener implements BuildListener { - - public void buildFinished(BuildEvent event) { - if (log.isDebugEnabled()) - log.debug("Ant build finished: " + event); - } - - public void buildStarted(BuildEvent event) { - if (log.isDebugEnabled()) - log.debug("Ant build started: " + event); - } - - public void messageLogged(BuildEvent event) { - if (event.getPriority() == Project.MSG_DEBUG) { - if (log.isTraceEnabled()) - log.trace(event.getMessage()); - } else if (event.getPriority() == Project.MSG_VERBOSE) { - if (log.isDebugEnabled()) - log.debug(event.getMessage()); - } else if (event.getPriority() == Project.MSG_INFO) { - log.info(event.getMessage()); - - } else if (event.getPriority() == Project.MSG_WARN) { - log.warn(event.getMessage()); - - } else if (event.getPriority() == Project.MSG_ERR) { - log.error(event.getMessage()); - } else { - log.error(event.getMessage()); - } - } - - public void targetFinished(BuildEvent event) { - if (log.isTraceEnabled()) - log.debug("Target finished: " + event.getTarget()); - } - - public void targetStarted(BuildEvent event) { - if (log.isTraceEnabled()) - log.debug("Target started: " + event.getTarget()); - } - - public void taskFinished(BuildEvent event) { - } - - public void taskStarted(BuildEvent event) { - } - } -}