From b4532de8021eaf5d52edad3b159ac42d51311b3b Mon Sep 17 00:00:00 2001 From: Costin Manolache Date: Fri, 19 Jul 2002 18:02:53 +0000 Subject: [PATCH] Import task, first version. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273134 13f79535-47bb-0310-9956-ffa450edef68 --- proposal/sandbox/embed/Import.java | 179 ++++++++++++++++++++++++++++ proposal/sandbox/embed/ant-sax2.jar | Bin 43567 -> 48517 bytes proposal/sandbox/embed/build.xml | 6 +- 3 files changed, 184 insertions(+), 1 deletion(-) create mode 100644 proposal/sandbox/embed/Import.java diff --git a/proposal/sandbox/embed/Import.java b/proposal/sandbox/embed/Import.java new file mode 100644 index 000000000..3c6c8357c --- /dev/null +++ b/proposal/sandbox/embed/Import.java @@ -0,0 +1,179 @@ +/* + * The Apache Software License, Version 1.1 + * + * Copyright (c) 2000-2002 The Apache Software Foundation. All rights + * reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. The end-user documentation included with the redistribution, if + * any, must include the following acknowlegement: + * "This product includes software developed by the + * Apache Software Foundation (http://www.apache.org/)." + * Alternately, this acknowlegement may appear in the software itself, + * if and wherever such third-party acknowlegements normally appear. + * + * 4. The names "The Jakarta Project", "Ant", and "Apache Software + * Foundation" must not be used to endorse or promote products derived + * from this software without prior written permission. For written + * permission, please contact apache@apache.org. + * + * 5. Products derived from this software may not be called "Apache" + * nor may "Apache" appear in their names without prior written + * permission of the Apache Group. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * ==================================================================== + * + * This software consists of voluntary contributions made by many + * individuals on behalf of the Apache Software Foundation. For more + * information on the Apache Software Foundation, please see + * . + */ + +package org.apache.tools.ant.tasks; + +import org.apache.tools.ant.*; +import org.apache.tools.ant.helper.*; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.util.Hashtable; +import java.util.Vector; +import java.util.Enumeration; +import java.util.Locale; +import java.util.Stack; +import org.xml.sax.Locator; +import org.xml.sax.InputSource; +import org.xml.sax.SAXParseException; +import org.xml.sax.XMLReader; +import org.xml.sax.SAXException; +import org.xml.sax.DocumentHandler; +import org.xml.sax.Attributes; +import org.xml.sax.AttributeList; +import org.xml.sax.helpers.XMLReaderAdapter; +import org.xml.sax.helpers.DefaultHandler; +import org.xml.sax.helpers.AttributeListImpl; + +import org.apache.tools.ant.util.JAXPUtils; + +/** + * Import task. + * + * It must be 'top level'. On execution it'll read another file + * into the same Project. + * + * @author Nicola Ken Barozzi nicolaken@apache.org + * @author Dominique Devienne DDevienne@lgc.com + * @author Costin Manolache + */ +public class Import extends Task { + String file; + + public void setFile( String file ) { + // I don't think we can use File - different rules + // for relative paths. + this.file=file; + } + + /** + * Initialisation routine called after handler creation + * with the element name and attributes. The attributes which + * this handler can deal with are: "default", + * "name", "id" and "basedir". + * + * @param tag Name of the element which caused this handler + * to be created. Should not be null. + * Ignored in this implementation. + * @param attrs Attributes of the element which caused this + * handler to be created. Must not be null. + * + * @exception SAXParseException if an unexpected attribute is + * encountered or if the "default" attribute + * is missing. + */ + public void execute() throws BuildException + { + if (file == null) { + throw new BuildException("import element appears without a file attribute"); + } + + ProjectHelperImpl2.AntXmlContext context; + context=(ProjectHelperImpl2.AntXmlContext)project.getReference("ant.parsing.context"); + + context.importlevel++; + + project.log("importlevel: "+(context.importlevel-1)+" -> "+(context.importlevel), + Project.MSG_DEBUG); + project.log("Importing file "+file+" from "+ + context.buildFile.getAbsolutePath(), + Project.MSG_VERBOSE); + + // Paths are relative to the build file they're imported from, + // *not* the current directory (same as entity includes). + File importedFile = new File(file); + if (!importedFile.isAbsolute()) { + importedFile = new File(context.buildFileParent, file); + } + if (!importedFile.exists()) { + throw new BuildException("Cannot find "+file+" imported from "+ + context.buildFile.getAbsolutePath()); + } + + // Add parent build file to the map to avoid cycles... + String parentFilename = getPath(context.buildFile); + if (!context.importedFiles.containsKey(parentFilename)) { + context.importedFiles.put(parentFilename, context.buildFile); + } + + // Make sure we import the file only once + String importedFilename = getPath(importedFile); + if (context.importedFiles.containsKey(importedFilename)) { + project.log("\nSkipped already imported file:\n "+importedFilename+"\n", + Project.MSG_WARN); + return; + } else { + context.importedFiles.put(importedFilename, importedFile); + } + + context.ignoreProjectTag=true; + context.helper.parse(project, importedFile, new ProjectHelperImpl2.RootHandler(context)); + + context.importlevel--; + project.log("importlevel: "+context.importlevel+" <- "+ + (context.importlevel+1) ,Project.MSG_DEBUG); + } + + private static String getPath(File file) { + try { + return file.getCanonicalPath(); + } + catch (IOException e) { + return file.getAbsolutePath(); + } + } +} diff --git a/proposal/sandbox/embed/ant-sax2.jar b/proposal/sandbox/embed/ant-sax2.jar index cabbafe240fbf312f8fca15376ebf200e2ccc65e..58f725b246ff3428cb7f54a4ae55cdbf893dbf5c 100644 GIT binary patch delta 21032 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 T$GCRw*2VSaB4*f7|F`x((Li7! delta 16246 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ȬIY)ca( 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 diff --git a/proposal/sandbox/embed/build.xml b/proposal/sandbox/embed/build.xml index 2c5c3120c..01babfd1c 100644 --- a/proposal/sandbox/embed/build.xml +++ b/proposal/sandbox/embed/build.xml @@ -2,7 +2,7 @@ - + @@ -10,6 +10,8 @@ todir="${ant.src}/src/main/org/apache/tools/ant" /> + + @@ -44,6 +47,7 @@ +