git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@270478 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -1,141 +0,0 @@ | |||||
| /* | |||||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||||
| * | |||||
| * This software is published under the terms of the Apache Software License | |||||
| * version 1.1, a copy of which has been included with this distribution in | |||||
| * the LICENSE.txt file. | |||||
| */ | |||||
| package org.apache.tools.ant; | |||||
| import java.util.ArrayList; | |||||
| import java.util.Iterator; | |||||
| import java.util.StringTokenizer; | |||||
| import org.apache.myrmidon.api.TaskException; | |||||
| /** | |||||
| * This class implements a target object with required parameters. | |||||
| * | |||||
| * @author James Davidson <a href="mailto:duncan@x180.com">duncan@x180.com</a> | |||||
| */ | |||||
| public class Target | |||||
| { | |||||
| private ArrayList dependencies = new ArrayList( 2 ); | |||||
| private ArrayList children = new ArrayList( 5 ); | |||||
| private String description = null; | |||||
| private String name; | |||||
| private Project project; | |||||
| public void setDepends( String depS ) | |||||
| throws TaskException | |||||
| { | |||||
| if( depS.length() > 0 ) | |||||
| { | |||||
| StringTokenizer tok = | |||||
| new StringTokenizer( depS, ",", true ); | |||||
| while( tok.hasMoreTokens() ) | |||||
| { | |||||
| String token = tok.nextToken().trim(); | |||||
| //Make sure the dependency is not empty string | |||||
| if( token.equals( "" ) || token.equals( "," ) ) | |||||
| { | |||||
| throw new TaskException( "Syntax Error: Depend attribute " + | |||||
| "for target \"" + getName() + | |||||
| "\" has an empty string for dependency." ); | |||||
| } | |||||
| addDependency( token ); | |||||
| //Make sure that depends attribute does not | |||||
| //end in a , | |||||
| if( tok.hasMoreTokens() ) | |||||
| { | |||||
| token = tok.nextToken(); | |||||
| if( !tok.hasMoreTokens() || !token.equals( "," ) ) | |||||
| { | |||||
| throw new TaskException( "Syntax Error: Depend attribute " + | |||||
| "for target \"" + getName() + | |||||
| "\" ends with a , character" ); | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| public void setDescription( String description ) | |||||
| { | |||||
| this.description = description; | |||||
| } | |||||
| public void setName( String name ) | |||||
| { | |||||
| this.name = name; | |||||
| } | |||||
| public void setProject( Project project ) | |||||
| { | |||||
| this.project = project; | |||||
| } | |||||
| public Iterator getDependencies() | |||||
| { | |||||
| return dependencies.iterator(); | |||||
| } | |||||
| public String getDescription() | |||||
| { | |||||
| return description; | |||||
| } | |||||
| public String getName() | |||||
| { | |||||
| return name; | |||||
| } | |||||
| public Project getProject() | |||||
| { | |||||
| return project; | |||||
| } | |||||
| /** | |||||
| * Get the current set of tasks to be executed by this target. | |||||
| * | |||||
| * @return The current set of tasks. | |||||
| */ | |||||
| public Task[] getTasks() | |||||
| { | |||||
| ArrayList tasks = new ArrayList( children.size() ); | |||||
| Iterator enum = children.iterator(); | |||||
| while( enum.hasNext() ) | |||||
| { | |||||
| Object o = enum.next(); | |||||
| if( o instanceof Task ) | |||||
| { | |||||
| tasks.add( o ); | |||||
| } | |||||
| } | |||||
| final Task[] retval = new Task[ tasks.size() ]; | |||||
| return (Task[])tasks.toArray( retval ); | |||||
| } | |||||
| public void addDependency( String dependency ) | |||||
| { | |||||
| dependencies.add( dependency ); | |||||
| } | |||||
| public void addTask( Task task ) | |||||
| { | |||||
| children.add( task ); | |||||
| } | |||||
| void replaceChild( Task el, Object o ) | |||||
| { | |||||
| int index = -1; | |||||
| while( ( index = children.indexOf( el ) ) >= 0 ) | |||||
| { | |||||
| children.set( index, o ); | |||||
| } | |||||
| } | |||||
| } | |||||
| @@ -1,141 +0,0 @@ | |||||
| /* | |||||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||||
| * | |||||
| * This software is published under the terms of the Apache Software License | |||||
| * version 1.1, a copy of which has been included with this distribution in | |||||
| * the LICENSE.txt file. | |||||
| */ | |||||
| package org.apache.tools.ant; | |||||
| import java.util.ArrayList; | |||||
| import java.util.Iterator; | |||||
| import java.util.StringTokenizer; | |||||
| import org.apache.myrmidon.api.TaskException; | |||||
| /** | |||||
| * This class implements a target object with required parameters. | |||||
| * | |||||
| * @author James Davidson <a href="mailto:duncan@x180.com">duncan@x180.com</a> | |||||
| */ | |||||
| public class Target | |||||
| { | |||||
| private ArrayList dependencies = new ArrayList( 2 ); | |||||
| private ArrayList children = new ArrayList( 5 ); | |||||
| private String description = null; | |||||
| private String name; | |||||
| private Project project; | |||||
| public void setDepends( String depS ) | |||||
| throws TaskException | |||||
| { | |||||
| if( depS.length() > 0 ) | |||||
| { | |||||
| StringTokenizer tok = | |||||
| new StringTokenizer( depS, ",", true ); | |||||
| while( tok.hasMoreTokens() ) | |||||
| { | |||||
| String token = tok.nextToken().trim(); | |||||
| //Make sure the dependency is not empty string | |||||
| if( token.equals( "" ) || token.equals( "," ) ) | |||||
| { | |||||
| throw new TaskException( "Syntax Error: Depend attribute " + | |||||
| "for target \"" + getName() + | |||||
| "\" has an empty string for dependency." ); | |||||
| } | |||||
| addDependency( token ); | |||||
| //Make sure that depends attribute does not | |||||
| //end in a , | |||||
| if( tok.hasMoreTokens() ) | |||||
| { | |||||
| token = tok.nextToken(); | |||||
| if( !tok.hasMoreTokens() || !token.equals( "," ) ) | |||||
| { | |||||
| throw new TaskException( "Syntax Error: Depend attribute " + | |||||
| "for target \"" + getName() + | |||||
| "\" ends with a , character" ); | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| public void setDescription( String description ) | |||||
| { | |||||
| this.description = description; | |||||
| } | |||||
| public void setName( String name ) | |||||
| { | |||||
| this.name = name; | |||||
| } | |||||
| public void setProject( Project project ) | |||||
| { | |||||
| this.project = project; | |||||
| } | |||||
| public Iterator getDependencies() | |||||
| { | |||||
| return dependencies.iterator(); | |||||
| } | |||||
| public String getDescription() | |||||
| { | |||||
| return description; | |||||
| } | |||||
| public String getName() | |||||
| { | |||||
| return name; | |||||
| } | |||||
| public Project getProject() | |||||
| { | |||||
| return project; | |||||
| } | |||||
| /** | |||||
| * Get the current set of tasks to be executed by this target. | |||||
| * | |||||
| * @return The current set of tasks. | |||||
| */ | |||||
| public Task[] getTasks() | |||||
| { | |||||
| ArrayList tasks = new ArrayList( children.size() ); | |||||
| Iterator enum = children.iterator(); | |||||
| while( enum.hasNext() ) | |||||
| { | |||||
| Object o = enum.next(); | |||||
| if( o instanceof Task ) | |||||
| { | |||||
| tasks.add( o ); | |||||
| } | |||||
| } | |||||
| final Task[] retval = new Task[ tasks.size() ]; | |||||
| return (Task[])tasks.toArray( retval ); | |||||
| } | |||||
| public void addDependency( String dependency ) | |||||
| { | |||||
| dependencies.add( dependency ); | |||||
| } | |||||
| public void addTask( Task task ) | |||||
| { | |||||
| children.add( task ); | |||||
| } | |||||
| void replaceChild( Task el, Object o ) | |||||
| { | |||||
| int index = -1; | |||||
| while( ( index = children.indexOf( el ) ) >= 0 ) | |||||
| { | |||||
| children.set( index, o ); | |||||
| } | |||||
| } | |||||
| } | |||||