git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@272591 13f79535-47bb-0310-9956-ffa450edef68master
@@ -145,10 +145,10 @@ | |||||
</target> | </target> | ||||
<target name="antlibs" depends="common"> | <target name="antlibs" depends="common"> | ||||
<antcall target="build-lib" inheritall="false"> | |||||
<antcall target="build-lib"> | |||||
<param name="libset" value="system"/> | <param name="libset" value="system"/> | ||||
</antcall> | </antcall> | ||||
<ant antfile="build/script.xml" inheritAll="false"/> | |||||
<ant antfile="build/script.xml"/> | |||||
</target> | </target> | ||||
<target name="build-lib"> | <target name="build-lib"> | ||||
@@ -37,6 +37,8 @@ | |||||
<patternset id="converted"> | <patternset id="converted"> | ||||
<exclude name="org/apache/tools/ant/taskdefs/Ant.java"/> | <exclude name="org/apache/tools/ant/taskdefs/Ant.java"/> | ||||
<exclude name="org/apache/tools/ant/taskdefs/CallTarget.java"/> | <exclude name="org/apache/tools/ant/taskdefs/CallTarget.java"/> | ||||
<exclude name="org/apache/tools/ant/taskdefs/input/InputRequest.java"/> | |||||
<exclude name="org/apache/tools/ant/types/DataType.java"/> | |||||
</patternset> | </patternset> | ||||
<fileset id="ant1src_tocopy" dir="${ant1java.dir}"> | <fileset id="ant1src_tocopy" dir="${ant1java.dir}"> | ||||
@@ -63,7 +65,6 @@ | |||||
<include name="org/apache/tools/ant/BuildListener.java"/> | <include name="org/apache/tools/ant/BuildListener.java"/> | ||||
<include name="org/apache/tools/ant/BuildLogger.java"/> | <include name="org/apache/tools/ant/BuildLogger.java"/> | ||||
<!-- <patternset refid="deprecated"/> --> | <!-- <patternset refid="deprecated"/> --> | ||||
<exclude name="org/apache/tools/ant/types/DataType.java"/> | |||||
<patternset refid="toohard"/> | <patternset refid="toohard"/> | ||||
<patternset refid="converted"/> | <patternset refid="converted"/> | ||||
</fileset> | </fileset> | ||||
@@ -0,0 +1,88 @@ | |||||
/* | |||||
* The Apache Software License, Version 1.1 | |||||
* | |||||
* Copyright (c) 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 | |||||
* <http://www.apache.org/>. | |||||
*/ | |||||
package org.apache.ant.antcore.execution; | |||||
import org.apache.ant.common.service.InputService; | |||||
import org.apache.ant.common.util.ExecutionException; | |||||
import org.apache.ant.common.input.InputRequest; | |||||
/** | |||||
* The core's implementation of the Input Service. | |||||
* | |||||
* @author Conor MacNeill | |||||
* @created 30 April 2002 | |||||
*/ | |||||
public class CoreInputService implements InputService { | |||||
/** The Frame this service instance is working for */ | |||||
private Frame frame; | |||||
/** | |||||
* Constructor | |||||
* | |||||
* @param frame the frame containing this context | |||||
*/ | |||||
protected CoreInputService(Frame frame) { | |||||
this.frame = frame; | |||||
} | |||||
/** | |||||
* Handle an input request | |||||
* | |||||
* @param request an input request | |||||
* @exception ExecutionException if the request cannot be handled | |||||
*/ | |||||
public void handleInput(InputRequest request) throws ExecutionException { | |||||
// XXX | |||||
} | |||||
} | |||||
@@ -0,0 +1,95 @@ | |||||
/* | |||||
* The Apache Software License, Version 1.1 | |||||
* | |||||
* Copyright (c) 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 | |||||
* <http://www.apache.org/>. | |||||
*/ | |||||
package org.apache.tools.ant; | |||||
import org.apache.ant.common.service.InputService; | |||||
import org.apache.ant.common.util.ExecutionException; | |||||
import org.apache.tools.ant.input.InputHandler; | |||||
import org.apache.tools.ant.input.InputRequest; | |||||
/** | |||||
* Uses the core's input service to handle input | |||||
* | |||||
* @author Conor MacNeill | |||||
* @created 30 April 2002 | |||||
*/ | |||||
public class Ant1InputHandler implements InputHandler { | |||||
/** Core's input service instance */ | |||||
private InputService inputService; | |||||
/** | |||||
* Constructor for the Ant1InputHandler | |||||
* | |||||
* @param inputService the core's input service instance to which input | |||||
* requests will be delgated. | |||||
*/ | |||||
public Ant1InputHandler(InputService inputService) { | |||||
this.inputService = inputService; | |||||
} | |||||
/** | |||||
* Pass input request into the core service | |||||
* | |||||
* @param request the input request | |||||
* @exception BuildException if there is a problem handling the request. | |||||
*/ | |||||
public void handleInput(InputRequest request) throws BuildException { | |||||
try { | |||||
inputService.handleInput(request); | |||||
} catch (ExecutionException e) { | |||||
throw new BuildException(e); | |||||
} | |||||
} | |||||
} | |||||
@@ -69,8 +69,10 @@ import org.apache.ant.common.service.ComponentService; | |||||
import org.apache.ant.common.service.DataService; | import org.apache.ant.common.service.DataService; | ||||
import org.apache.ant.common.service.ExecService; | import org.apache.ant.common.service.ExecService; | ||||
import org.apache.ant.common.service.FileService; | import org.apache.ant.common.service.FileService; | ||||
import org.apache.ant.common.service.InputService; | |||||
import org.apache.ant.common.util.ExecutionException; | import org.apache.ant.common.util.ExecutionException; | ||||
import org.apache.ant.common.util.PropertyUtils; | import org.apache.ant.common.util.PropertyUtils; | ||||
import org.apache.tools.ant.input.InputHandler; | |||||
import org.apache.tools.ant.types.FilterSet; | import org.apache.tools.ant.types.FilterSet; | ||||
import org.apache.tools.ant.types.FilterSetCollection; | import org.apache.tools.ant.types.FilterSetCollection; | ||||
import org.apache.tools.ant.util.FileUtils; | import org.apache.tools.ant.util.FileUtils; | ||||
@@ -118,9 +120,12 @@ public class Project implements org.apache.ant.common.event.BuildListener { | |||||
/** The java version detected that Ant is running on */ | /** The java version detected that Ant is running on */ | ||||
private static String javaVersion; | private static String javaVersion; | ||||
/** Called to handle any input requests. */ | |||||
private InputHandler inputHandler = null; | |||||
/** | /** | ||||
* the factory which created this project instance. This is used to | |||||
* define new types and tasks | |||||
* the factory which created this project instance. This is used to define | |||||
* new types and tasks | |||||
*/ | */ | ||||
private AntLibFactory factory; | private AntLibFactory factory; | ||||
@@ -146,7 +151,7 @@ public class Project implements org.apache.ant.common.event.BuildListener { | |||||
/** Th ecore's execution service */ | /** Th ecore's execution service */ | ||||
private ExecService execService; | private ExecService execService; | ||||
/** The core's Component Service instance */ | /** The core's Component Service instance */ | ||||
private ComponentService componentService; | private ComponentService componentService; | ||||
@@ -202,36 +207,10 @@ public class Project implements org.apache.ant.common.event.BuildListener { | |||||
* @deprecated | * @deprecated | ||||
*/ | */ | ||||
public Project() { | public Project() { | ||||
throw new BuildException("Projects can not be constructed to " | |||||
+ "invoke Ant"); | |||||
} | |||||
/** | |||||
* The old initialisation method for Projects. Not used now | |||||
* | |||||
* @deprecated | |||||
* @exception BuildException if the default task list cannot be loaded | |||||
*/ | |||||
public void init() throws BuildException { | |||||
throw new BuildException("Projects can not be initialized in this " | |||||
+ "manner any longer."); | |||||
throw new BuildException("Projects can not be constructed to " | |||||
+ "invoke Ant"); | |||||
} | } | ||||
/** | |||||
* Old method used to execute targets | |||||
* | |||||
* @param targetNames A vector of target name strings to execute. | |||||
* Must not be <code>null</code>. | |||||
* | |||||
* @exception BuildException always | |||||
* @deprecated | |||||
*/ | |||||
public void executeTargets(Vector targetNames) throws BuildException { | |||||
throw new BuildException("Targets within the project cannot be " | |||||
+ "executed with this method."); | |||||
} | |||||
/** | /** | ||||
* static query of the java version | * static query of the java version | ||||
* | * | ||||
@@ -242,8 +221,8 @@ public class Project implements org.apache.ant.common.event.BuildListener { | |||||
} | } | ||||
/** | /** | ||||
* returns the boolean equivalent of a string, which is considered true | |||||
* if either "on", "true", or "yes" is found, ignoring case. | |||||
* returns the boolean equivalent of a string, which is considered true if | |||||
* either "on", "true", or "yes" is found, ignoring case. | |||||
* | * | ||||
* @param s the string value to be interpreted at a boolean | * @param s the string value to be interpreted at a boolean | ||||
* @return the value of s as a boolean | * @return the value of s as a boolean | ||||
@@ -257,8 +236,8 @@ public class Project implements org.apache.ant.common.event.BuildListener { | |||||
* | * | ||||
* This method uses the PathTokenizer class to separate the input path | * This method uses the PathTokenizer class to separate the input path | ||||
* into its components. This handles DOS style paths in a relatively | * into its components. This handles DOS style paths in a relatively | ||||
* sensible way. The file separators are then converted to their | |||||
* platform specific versions. | |||||
* sensible way. The file separators are then converted to their platform | |||||
* specific versions. | |||||
* | * | ||||
* @param toProcess the path to be converted | * @param toProcess the path to be converted | ||||
* @return the native version of to_process or an empty string if | * @return the native version of to_process or an empty string if | ||||
@@ -284,6 +263,31 @@ public class Project implements org.apache.ant.common.event.BuildListener { | |||||
return path.toString(); | return path.toString(); | ||||
} | } | ||||
/** | |||||
* The old initialisation method for Projects. Not used now | |||||
* | |||||
* @exception BuildException if the default task list cannot be loaded | |||||
* @deprecated | |||||
*/ | |||||
public void init() throws BuildException { | |||||
throw new BuildException("Projects can not be initialized in this " | |||||
+ "manner any longer."); | |||||
} | |||||
/** | |||||
* Old method used to execute targets | |||||
* | |||||
* @param targetNames A vector of target name strings to execute. Must not | |||||
* be <code>null</code>. | |||||
* @exception BuildException always | |||||
* @deprecated | |||||
*/ | |||||
public void executeTargets(Vector targetNames) throws BuildException { | |||||
throw new BuildException("Targets within the project cannot be " | |||||
+ "executed with this method."); | |||||
} | |||||
/** | /** | ||||
* set the project description | * set the project description | ||||
* | * | ||||
@@ -355,22 +359,22 @@ public class Project implements org.apache.ant.common.event.BuildListener { | |||||
} | } | ||||
/** | /** | ||||
* Returns the current datatype definition hashtable. The returned | |||||
* Returns the current datatype definition hashtable. The returned | |||||
* hashtable is "live" and so should not be modified. | * hashtable is "live" and so should not be modified. | ||||
* | |||||
* @return a map of from datatype name to implementing class | |||||
* (String to Class). | |||||
* | |||||
* @return a map of from datatype name to implementing class (String to | |||||
* Class). | |||||
*/ | */ | ||||
public Hashtable getDataTypeDefinitions() { | public Hashtable getDataTypeDefinitions() { | ||||
return dataClassDefinitions; | return dataClassDefinitions; | ||||
} | } | ||||
/** | /** | ||||
* Returns the current task definition hashtable. The returned hashtable is | |||||
* "live" and so should not be modified. | |||||
* | |||||
* @return a map of from task name to implementing class | |||||
* (String to Class). | |||||
* Returns the current task definition hashtable. The returned hashtable | |||||
* is "live" and so should not be modified. | |||||
* | |||||
* @return a map of from task name to implementing class (String to | |||||
* Class). | |||||
*/ | */ | ||||
public Hashtable getTaskDefinitions() { | public Hashtable getTaskDefinitions() { | ||||
return taskClassDefinitions; | return taskClassDefinitions; | ||||
@@ -410,8 +414,8 @@ public class Project implements org.apache.ant.common.event.BuildListener { | |||||
* @deprecated | * @deprecated | ||||
*/ | */ | ||||
public String getDefaultTarget() { | public String getDefaultTarget() { | ||||
throw new BuildException("The default project target is no longer " | |||||
+ "available through this method."); | |||||
throw new BuildException("The default project target is no longer " | |||||
+ "available through this method."); | |||||
} | } | ||||
/** | /** | ||||
@@ -534,8 +538,8 @@ public class Project implements org.apache.ant.common.event.BuildListener { | |||||
} | } | ||||
/** | /** | ||||
* Register a task as the current task for a thread. | |||||
* If the task is null, the thread's entry is removed. | |||||
* Register a task as the current task for a thread. If the task is null, | |||||
* the thread's entry is removed. | |||||
* | * | ||||
* @param thread the thread on which the task is registered. | * @param thread the thread on which the task is registered. | ||||
* @param task the task to be registered. | * @param task the task to be registered. | ||||
@@ -548,19 +552,19 @@ public class Project implements org.apache.ant.common.event.BuildListener { | |||||
// threadTasks.remove(thread); | // threadTasks.remove(thread); | ||||
// } | // } | ||||
} | } | ||||
/** | /** | ||||
* Get the current task assopciated with a thread, if any | * Get the current task assopciated with a thread, if any | ||||
* | * | ||||
* @param thread the thread for which the task is required. | * @param thread the thread for which the task is required. | ||||
* @return the task which is currently registered for the given thread or | * @return the task which is currently registered for the given thread or | ||||
* null if no task is registered. | |||||
* null if no task is registered. | |||||
*/ | */ | ||||
public Task getThreadTask(Thread thread) { | public Task getThreadTask(Thread thread) { | ||||
return null; | return null; | ||||
// return (Task)threadTasks.get(thread); | // return (Task)threadTasks.get(thread); | ||||
} | } | ||||
/** | /** | ||||
* build started event | * build started event | ||||
* | * | ||||
@@ -649,8 +653,8 @@ public class Project implements org.apache.ant.common.event.BuildListener { | |||||
} | } | ||||
/** | /** | ||||
* Add a reference to an object. NOte that in Ant2 objects and | |||||
* properties occupy the same namespace. | |||||
* Add a reference to an object. NOte that in Ant2 objects and properties | |||||
* occupy the same namespace. | |||||
* | * | ||||
* @param name the reference name | * @param name the reference name | ||||
* @param value the object to be associated with the given name. | * @param value the object to be associated with the given name. | ||||
@@ -715,9 +719,9 @@ public class Project implements org.apache.ant.common.event.BuildListener { | |||||
/** | /** | ||||
* Convienence method to copy a file from a source to a destination | * Convienence method to copy a file from a source to a destination | ||||
* specifying if token filtering must be used, if source files may | * specifying if token filtering must be used, if source files may | ||||
* overwrite newer destination files and the last modified time of | |||||
* <code>destFile</code> file should be made equal to the last modified | |||||
* time of <code>sourceFile</code>. | |||||
* overwrite newer destination files and the last modified time | |||||
* of <code>destFile</code> file should be made equal to the last | |||||
* modified time of <code>sourceFile</code>. | |||||
* | * | ||||
* @param sourceFile the source file to be copied | * @param sourceFile the source file to be copied | ||||
* @param destFile the destination to which the file is copied | * @param destFile the destination to which the file is copied | ||||
@@ -786,9 +790,9 @@ public class Project implements org.apache.ant.common.event.BuildListener { | |||||
/** | /** | ||||
* Convienence method to copy a file from a source to a destination | * Convienence method to copy a file from a source to a destination | ||||
* specifying if token filtering must be used, if source files may | * specifying if token filtering must be used, if source files may | ||||
* overwrite newer destination files and the last modified time of | |||||
* <code>destFile</code> file should be made equal to the last modified | |||||
* time of <code>sourceFile</code>. | |||||
* overwrite newer destination files and the last modified time of | |||||
* <code>destFile</code> file should be made equal to the last | |||||
* modified time of <code>sourceFile</code>. | |||||
* | * | ||||
* @param sourceFile the source file to be copied | * @param sourceFile the source file to be copied | ||||
* @param destFile the destination to which the file is copied | * @param destFile the destination to which the file is copied | ||||
@@ -820,6 +824,10 @@ public class Project implements org.apache.ant.common.event.BuildListener { | |||||
componentService = (ComponentService) | componentService = (ComponentService) | ||||
context.getCoreService(ComponentService.class); | context.getCoreService(ComponentService.class); | ||||
InputService inputService | |||||
= (InputService) context.getCoreService(InputService.class); | |||||
setInputHandler(new Ant1InputHandler(inputService)); | |||||
String defs = "/org/apache/tools/ant/taskdefs/defaults.properties"; | String defs = "/org/apache/tools/ant/taskdefs/defaults.properties"; | ||||
try { | try { | ||||
@@ -892,8 +900,8 @@ public class Project implements org.apache.ant.common.event.BuildListener { | |||||
} | } | ||||
/** | /** | ||||
* Output a message to the log with the given log level and an event | |||||
* scope of project | |||||
* Output a message to the log with the given log level and an event scope | |||||
* of project | |||||
* | * | ||||
* @param msg text to log | * @param msg text to log | ||||
* @param msgLevel level to log at | * @param msgLevel level to log at | ||||
@@ -903,8 +911,26 @@ public class Project implements org.apache.ant.common.event.BuildListener { | |||||
} | } | ||||
/** | /** | ||||
* Output a message to the log with the given log level and an event | |||||
* scope of a task | |||||
* Retrieves the current input handler. | |||||
* | |||||
* @return the Project's current input handler. | |||||
*/ | |||||
public InputHandler getInputHandler() { | |||||
return inputHandler; | |||||
} | |||||
/** | |||||
* Sets the input handler | |||||
* | |||||
* @param handler the new input handler to use. | |||||
*/ | |||||
public void setInputHandler(InputHandler handler) { | |||||
inputHandler = handler; | |||||
} | |||||
/** | |||||
* Output a message to the log with the given log level and an event scope | |||||
* of a task | |||||
* | * | ||||
* @param task task to use in the log | * @param task task to use in the log | ||||
* @param msg text to log | * @param msg text to log | ||||
@@ -982,7 +1008,6 @@ public class Project implements org.apache.ant.common.event.BuildListener { | |||||
* | * | ||||
* @param taskType the name of the task to be created. | * @param taskType the name of the task to be created. | ||||
* @return the created task instance | * @return the created task instance | ||||
* | |||||
* @exception BuildException if there is a build problem | * @exception BuildException if there is a build problem | ||||
*/ | */ | ||||
public Task createTask(String taskType) throws BuildException { | public Task createTask(String taskType) throws BuildException { | ||||
@@ -1016,8 +1041,8 @@ public class Project implements org.apache.ant.common.event.BuildListener { | |||||
* | * | ||||
* @param typeName The name of the data type to create an instance of. | * @param typeName The name of the data type to create an instance of. | ||||
* Must not be <code>null</code>. | * Must not be <code>null</code>. | ||||
* @return an instance of the specified data type, or <code>null</code> | |||||
* if the data type name is not recognised. | |||||
* @return an instance of the specified data type, or <code>null</code> if | |||||
* the data type name is not recognised. | |||||
* @exception BuildException if the data type name is recognised but | * @exception BuildException if the data type name is recognised but | ||||
* instance creation fails. | * instance creation fails. | ||||
*/ | */ | ||||
@@ -1176,7 +1201,7 @@ public class Project implements org.apache.ant.common.event.BuildListener { | |||||
listener.messageLogged(event); | listener.messageLogged(event); | ||||
} | } | ||||
} | } | ||||
/** | /** | ||||
* Get the name of the project. | * Get the name of the project. | ||||
* | * | ||||
@@ -0,0 +1,71 @@ | |||||
/* | |||||
* The Apache Software License, Version 1.1 | |||||
* | |||||
* Copyright (c) 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 | |||||
* <http://www.apache.org/>. | |||||
*/ | |||||
package org.apache.tools.ant.input; | |||||
/** | |||||
* Encapsulates an input request. | |||||
* | |||||
* @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a> | |||||
* @version $Revision$ | |||||
* @since Ant 1.5 | |||||
*/ | |||||
public class InputRequest extends org.apache.ant.common.input.InputRequest { | |||||
/** | |||||
* @param prompt The prompt to show to the user. Must not be null. | |||||
*/ | |||||
public InputRequest(String prompt) { | |||||
super(prompt); | |||||
} | |||||
} |
@@ -87,6 +87,9 @@ public class Builder { | |||||
/** the util root */ | /** the util root */ | ||||
private static final File UTIL_ROOT | private static final File UTIL_ROOT | ||||
= new File(PACKAGE_ROOT, "util"); | = new File(PACKAGE_ROOT, "util"); | ||||
/** the input root */ | |||||
private static final File INPUT_ROOT | |||||
= new File(PACKAGE_ROOT, "input"); | |||||
/** the root forthe depend task's support classes */ | /** the root forthe depend task's support classes */ | ||||
@@ -142,6 +145,7 @@ public class Builder { | |||||
addJavaFiles(files, new File(UTIL_ROOT, "depend")); | addJavaFiles(files, new File(UTIL_ROOT, "depend")); | ||||
addJavaFiles(files, ZIP_ROOT); | addJavaFiles(files, ZIP_ROOT); | ||||
addJavaFiles(files, new File(UTIL_ROOT, "facade")); | addJavaFiles(files, new File(UTIL_ROOT, "facade")); | ||||
addJavaFiles(files, INPUT_ROOT); | |||||
files.add(new File(PACKAGE_ROOT, "BuildException.java")); | files.add(new File(PACKAGE_ROOT, "BuildException.java")); | ||||
files.add(new File(PACKAGE_ROOT, "Location.java")); | files.add(new File(PACKAGE_ROOT, "Location.java")); | ||||
@@ -171,6 +175,8 @@ public class Builder { | |||||
files.remove(new File(TASKDEFS_ROOT, "AntStructure.java")); | files.remove(new File(TASKDEFS_ROOT, "AntStructure.java")); | ||||
files.remove(new File(TASKDEFS_ROOT, "Recorder.java")); | files.remove(new File(TASKDEFS_ROOT, "Recorder.java")); | ||||
files.remove(new File(TASKDEFS_ROOT, "RecorderEntry.java")); | files.remove(new File(TASKDEFS_ROOT, "RecorderEntry.java")); | ||||
files.remove(new File(TASKDEFS_ROOT, "SendEmail.java")); | |||||
files.remove(new File(INPUT_ROOT, "InputRequest.java")); | |||||
// not needed for bootstrap | // not needed for bootstrap | ||||
files.remove(new File(TASKDEFS_ROOT, "Java.java")); | files.remove(new File(TASKDEFS_ROOT, "Java.java")); | ||||
@@ -0,0 +1,117 @@ | |||||
/* | |||||
* The Apache Software License, Version 1.1 | |||||
* | |||||
* Copyright (c) 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 | |||||
* <http://www.apache.org/>. | |||||
*/ | |||||
package org.apache.ant.common.input; | |||||
/** | |||||
* Encapsulates an input request. | |||||
* | |||||
* @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a> | |||||
* @version $Revision$ | |||||
* @since Ant 1.5 | |||||
*/ | |||||
public class InputRequest { | |||||
/** Prompt to show the user */ | |||||
private String prompt; | |||||
/** Input collected from user */ | |||||
private String input; | |||||
/** | |||||
* @param prompt The prompt to show to the user. Must not be null. | |||||
*/ | |||||
public InputRequest(String prompt) { | |||||
if (prompt == null) { | |||||
throw new IllegalArgumentException("prompt must not be null"); | |||||
} | |||||
this.prompt = prompt; | |||||
} | |||||
/** | |||||
* Retrieves the prompt text. | |||||
* | |||||
* @return the prompt text. | |||||
*/ | |||||
public String getPrompt() { | |||||
return prompt; | |||||
} | |||||
/** | |||||
* Sets the user provided input. | |||||
* | |||||
* @param input the user provided input. | |||||
*/ | |||||
public void setInput(String input) { | |||||
this.input = input; | |||||
} | |||||
/** | |||||
* Is the user input valid? | |||||
* | |||||
* @return true if the input is valid. | |||||
*/ | |||||
public boolean isInputValid() { | |||||
return true; | |||||
} | |||||
/** | |||||
* Retrieves the user input. | |||||
* | |||||
* @return the user's input. | |||||
*/ | |||||
public String getInput() { | |||||
return input; | |||||
} | |||||
} |
@@ -0,0 +1,74 @@ | |||||
/* | |||||
* The Apache Software License, Version 1.1 | |||||
* | |||||
* Copyright (c) 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 | |||||
* <http://www.apache.org/>. | |||||
*/ | |||||
package org.apache.ant.common.service; | |||||
import org.apache.ant.common.input.InputRequest; | |||||
import org.apache.ant.common.util.ExecutionException; | |||||
/** | |||||
* Service interface for input management | |||||
* | |||||
* @author Conor MacNeill | |||||
* @created 30 April 2002 | |||||
*/ | |||||
public interface InputService { | |||||
/** | |||||
* Handle an input request | |||||
* | |||||
* @param request an input request | |||||
* @exception ExecutionException if the request cannot be handled | |||||
*/ | |||||
void handleInput(InputRequest request) throws ExecutionException; | |||||
} | |||||