You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by do...@apache.org on 2002/05/03 12:34:03 UTC
cvs commit: jakarta-ant-myrmidon/antlib/src/java/org/apache/antlib/project AbstractAntTask.java AntCallTask.java AntParam.java AntTask.java Resources.properties
donaldp 02/05/03 03:34:02
Modified: antlib/src/java/org/apache/antlib/core Resources.properties
antlib/src/java/org/apache/antlib/project
Resources.properties
Added: antlib/src/java/org/apache/antlib/project
AbstractAntTask.java AntCallTask.java AntParam.java
AntTask.java
Removed: antlib/src/java/org/apache/antlib/core AbstractAntTask.java
AntCallTask.java AntParam.java AntTask.java
Log:
Move the AntCall stuff into the project antlib as thats where it will belong
in the future.
Revision Changes Path
1.3 +1 -8 jakarta-ant-myrmidon/antlib/src/java/org/apache/antlib/core/Resources.properties
Index: Resources.properties
===================================================================
RCS file: /home/cvs/jakarta-ant-myrmidon/antlib/src/java/org/apache/antlib/core/Resources.properties,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Resources.properties 28 Apr 2002 05:04:48 -0000 1.2
+++ Resources.properties 3 May 2002 10:34:02 -0000 1.3
@@ -31,11 +31,4 @@
trycatch.missing-second.error=Missing <catch/> or <finally/> elements from <try-catch/> task.
filetokenset.not-a-file.error=File {0} does not exist, or is not a file.
-filetokenset.read-tokens.error=Could not read tokens from {0}.
-
-param.noname.error=Missing name from parameter.
-param.novalue.error=Missing value from parameter "{0}".
-
-antcall.invalid-project.error=Project-reference "{0}" not found.
-
-project.no-project-element.error=Project file must be enclosed in project element.
+filetokenset.read-tokens.error=Could not read tokens from {0}.
\ No newline at end of file
1.4 +8 -1 jakarta-ant-myrmidon/antlib/src/java/org/apache/antlib/project/Resources.properties
Index: Resources.properties
===================================================================
RCS file: /home/cvs/jakarta-ant-myrmidon/antlib/src/java/org/apache/antlib/project/Resources.properties,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Resources.properties 3 May 2002 09:26:13 -0000 1.3
+++ Resources.properties 3 May 2002 10:34:02 -0000 1.4
@@ -6,4 +6,11 @@
typelib.missing-library.error=Missing library attribute from typelib statement.
typelib.missing-name.error=Specified role ("{0}") but missing name from typelib statement.
typelib.missing-role.error=Specified name ("{0}") but missing role from typelib statement.
-typelib.no-deploy.error=Could not import types from Type Library "{0}".
\ No newline at end of file
+typelib.no-deploy.error=Could not import types from Type Library "{0}".
+
+param.noname.error=Missing name from parameter.
+param.novalue.error=Missing value from parameter "{0}".
+
+antcall.invalid-project.error=Project-reference "{0}" not found.
+
+project.no-project-element.error=Project file must be enclosed in project element.
1.1 jakarta-ant-myrmidon/antlib/src/java/org/apache/antlib/project/AbstractAntTask.java
Index: AbstractAntTask.java
===================================================================
/*
* 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.antlib.project;
import org.apache.myrmidon.api.AbstractTask;
import org.apache.myrmidon.api.TaskException;
import org.apache.myrmidon.framework.ExecuteTarget;
/**
* Abstract base class for Tasks which execute targets.
*
* @author <a href="mailto:peter@apache.org">Peter Donald</a>
* @author <a href="mailto:darrell@apache.org">Darrell DeBoer</a>
* @version $Revision: 1.1 $ $Date: 2002/05/03 10:34:02 $
*/
public abstract class AbstractAntTask
extends AbstractTask
{
private final ExecuteTarget m_exe = new ExecuteTarget();
/**
* Specify whether should inherit properties in sub-build.
*
* @param inheritAll true to inherit else false
*/
public void setInheritAll( final boolean inheritAll )
{
m_exe.setInheritAll( inheritAll );
}
/**
* set the target to process. If none is defined it will
* execute the default target of the build file
*/
public void setTarget( final String target )
{
m_exe.setTarget( target );
}
/**
* Add a parameter to processing of build file.
*
* @param param the parameter
*/
public void addParam( final AntParam param )
throws TaskException
{
param.validate();
m_exe.getParameters().put( param.getName(), param.getValue() );
}
/**
* Execute the specified build, with specified parameters.
*
* @throws TaskException if an error occurs.
*/
public void execute()
throws TaskException
{
prepare( m_exe );
m_exe.execute( getContext() );
}
/**
* Prepares for execution, and sets the project containing the target
* to be executed. Subclasses will override this method to provide
* different means of obtaining a project to execute.
*/
protected abstract void prepare( ExecuteTarget exe )
throws TaskException;
}
1.1 jakarta-ant-myrmidon/antlib/src/java/org/apache/antlib/project/AntCallTask.java
Index: AntCallTask.java
===================================================================
/*
* 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.antlib.project;
import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources;
import org.apache.myrmidon.api.TaskException;
import org.apache.myrmidon.interfaces.oldmodel.Project;
import org.apache.myrmidon.framework.ExecuteTarget;
/**
* A task which executes a target in the current project,
* or a referenced project.
*
* @author <a href="mailto:darrell@apache.org">Darrell DeBoer</a>
* @version $Revision: 1.1 $ $Date: 2002/05/03 10:34:02 $
* @ant.task name="ant-call"
*/
public class AntCallTask
extends AbstractAntTask
{
private static final Resources REZ =
ResourceManager.getPackageResources( AntCallTask.class );
private String m_project;
/**
* Specifies the project to execute. If not specified, the current
* project is used.
* @param project the name of the Project to execute.
*/
public void setProject( String project )
{
m_project = project;
}
/**
* Get/create/build the project which will be executed.
*/
protected void prepare( final ExecuteTarget exe ) throws TaskException
{
final Project currentProject =
(Project)getContext().getService( Project.class );
// By default, use the current project.
Project referencedProject = currentProject;
if( m_project != null )
{
referencedProject = currentProject.getProject( m_project );
if( referencedProject == null )
{
final String message =
REZ.getString( "antcall.invalid-project.error" );
throw new TaskException( message );
}
}
exe.setProject( referencedProject );
}
}
1.1 jakarta-ant-myrmidon/antlib/src/java/org/apache/antlib/project/AntParam.java
Index: AntParam.java
===================================================================
/*
* 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.antlib.project;
import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources;
import org.apache.myrmidon.api.TaskException;
/**
* Simple holder for parameters.
*
* @author <a href="mailto:peter@apache.org">Peter Donald</a>
* @version $Revision: 1.1 $ $Date: 2002/05/03 10:34:02 $
* @todo Refactor this and all the other parameter, sysproperty,
* property etc into a single class in framework
*/
public class AntParam
{
private static final Resources REZ =
ResourceManager.getPackageResources( AntParam.class );
private String m_name;
private Object m_value;
/**
* Set the name of the parameter.
*
* @param name the name of parameter
*/
public void setName( final String name )
{
m_name = name;
}
/**
* Set the value of the parameter.
*
* @param value the parameter value
*/
public void setValue( final Object value )
{
m_value = value;
}
/**
* Retrieve name of parameter.
*
* @return the name of parameter.
*/
public String getName()
{
return m_name;
}
/**
* Retrieve the value of parameter.
*
* @return the value of parameter.
*/
public Object getValue()
{
return m_value;
}
/**
* Make sure that neither the name or the value
* is null.
*/
public void validate()
throws TaskException
{
if( null == m_name )
{
final String message = REZ.getString( "param.noname.error" );
throw new TaskException( message );
}
else if( null == m_value )
{
final String message =
REZ.getString( "param.novalue.error", m_name );
throw new TaskException( message );
}
}
}
1.1 jakarta-ant-myrmidon/antlib/src/java/org/apache/antlib/project/AntTask.java
Index: AntTask.java
===================================================================
/*
* 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.antlib.project;
import java.io.File;
import org.apache.myrmidon.framework.ExecuteTarget;
import org.apache.myrmidon.api.TaskException;
/**
* Executes a target in a named build file.
*
* @author <a href="mailto:peter@apache.org">Peter Donald</a>
* @ant.task name="ant"
*/
public class AntTask
extends AbstractAntTask
{
/**
* Default build file.
*/
private static final String DEFAULT_BUILD_FILE = "build.ant";
/**
* The build file which to execute. If not set defaults to
* using "build.ant" in the basedir of current project.
*/
private File m_file;
/**
* The "type" of the build file. By default this is null which
* means the type will be determined by the build file extension.
*/
private String m_type;
/**
* set the build file to process.
*
* @param file the build file
*/
public void setFile( final File file )
{
m_file = file;
}
/**
* set the type of build file.
*
* @param type the type of build file
*/
public void setType( final String type )
{
m_type = type;
}
/**
* Prepares for executing the target.
*/
protected void prepare( final ExecuteTarget exe )
throws TaskException
{
if( null == m_file )
{
m_file = getContext().resolveFile( DEFAULT_BUILD_FILE );
}
exe.setProjectFile( m_file, m_type );
}
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>