|
|
@@ -0,0 +1,153 @@ |
|
|
|
/* |
|
|
|
* 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 file. |
|
|
|
*/ |
|
|
|
package org.apache.myrmidon.libs.ant1; |
|
|
|
|
|
|
|
import java.io.File; |
|
|
|
import org.apache.avalon.framework.context.Context; |
|
|
|
import org.apache.avalon.framework.context.Contextualizable; |
|
|
|
import org.apache.avalon.framework.logger.Loggable; |
|
|
|
import org.apache.log.Logger; |
|
|
|
import org.apache.myrmidon.api.TaskContext; |
|
|
|
import org.apache.tools.ant.*; |
|
|
|
import org.apache.tools.ant.Project; |
|
|
|
|
|
|
|
public class Ant1Project |
|
|
|
extends Project |
|
|
|
implements Loggable, Contextualizable |
|
|
|
{ |
|
|
|
private Logger m_logger; |
|
|
|
|
|
|
|
///Variable to hold context for use by sub-classes |
|
|
|
private TaskContext m_context; |
|
|
|
|
|
|
|
public void setLogger( final Logger logger ) |
|
|
|
{ |
|
|
|
m_logger = logger; |
|
|
|
} |
|
|
|
|
|
|
|
protected final Logger getLogger() |
|
|
|
{ |
|
|
|
return m_logger; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* Retrieve context from container. |
|
|
|
* |
|
|
|
* @param context the context |
|
|
|
*/ |
|
|
|
public void contextualize( final Context context ) |
|
|
|
{ |
|
|
|
m_context = (TaskContext)context; |
|
|
|
} |
|
|
|
|
|
|
|
protected final TaskContext getContext() |
|
|
|
{ |
|
|
|
return m_context; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* Initialise the project. |
|
|
|
*/ |
|
|
|
public void init() |
|
|
|
throws BuildException |
|
|
|
{ |
|
|
|
setJavaVersionProperty(); |
|
|
|
} |
|
|
|
|
|
|
|
public void setProperty( final String name, final String value ) |
|
|
|
{ |
|
|
|
try { getContext().setProperty( name, value ); } |
|
|
|
catch( final Exception e ) |
|
|
|
{ |
|
|
|
getLogger().warn( "Failed to set property " + name + " to " + value, e ); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public void setUserProperty( final String name, final String value ) |
|
|
|
{ |
|
|
|
setProperty( name, value ); |
|
|
|
} |
|
|
|
|
|
|
|
public String getProperty( final String name ) |
|
|
|
{ |
|
|
|
return "" + getContext().getProperty( name ); |
|
|
|
} |
|
|
|
|
|
|
|
public String getUserProperty( final String name ) |
|
|
|
{ |
|
|
|
return getProperty( name ); |
|
|
|
} |
|
|
|
|
|
|
|
public String getName() |
|
|
|
{ |
|
|
|
return "Ant1 Project"; |
|
|
|
} |
|
|
|
|
|
|
|
public Task createTask( final String taskType ) |
|
|
|
throws BuildException |
|
|
|
{ |
|
|
|
throw new UnsupportedOperationException(); |
|
|
|
} |
|
|
|
|
|
|
|
public Object createDataType( final String typeName ) |
|
|
|
throws BuildException |
|
|
|
{ |
|
|
|
throw new UnsupportedOperationException(); |
|
|
|
} |
|
|
|
|
|
|
|
public File resolveFile( final String fileName ) |
|
|
|
{ |
|
|
|
try { return getContext().resolveFile( fileName ); } |
|
|
|
catch( final Exception e ) |
|
|
|
{ |
|
|
|
return null; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
protected void fireBuildStarted() {} |
|
|
|
protected void fireBuildFinished(Throwable exception) {} |
|
|
|
protected void fireTargetStarted(Target target) {} |
|
|
|
protected void fireTargetFinished(Target target, Throwable exception) {} |
|
|
|
protected void fireTaskStarted(Task task) {} |
|
|
|
protected void fireTaskFinished(Task task, Throwable exception) {} |
|
|
|
|
|
|
|
private void fireMessageLoggedEvent(BuildEvent event, String message, int priority) |
|
|
|
{ |
|
|
|
messageLogged( message, priority ); |
|
|
|
} |
|
|
|
|
|
|
|
protected void fireMessageLogged(Project project, String message, int priority) |
|
|
|
{ |
|
|
|
messageLogged( message, priority ); |
|
|
|
} |
|
|
|
|
|
|
|
protected void fireMessageLogged(Target target, String message, int priority) |
|
|
|
{ |
|
|
|
messageLogged( message, priority ); |
|
|
|
} |
|
|
|
|
|
|
|
protected void fireMessageLogged(Task task, String message, int priority) |
|
|
|
{ |
|
|
|
messageLogged( message, priority ); |
|
|
|
} |
|
|
|
|
|
|
|
private void messageLogged( String message, int priority ) |
|
|
|
{ |
|
|
|
switch( priority ) |
|
|
|
{ |
|
|
|
case MSG_ERR: getLogger().error( message ); break; |
|
|
|
case MSG_WARN: getLogger().warn( message ); break; |
|
|
|
case MSG_INFO: getLogger().info( message ); break; |
|
|
|
case MSG_VERBOSE: getLogger().debug( message ); break; |
|
|
|
case MSG_DEBUG: getLogger().debug( message ); break; |
|
|
|
|
|
|
|
default: |
|
|
|
getLogger().debug( message ); |
|
|
|
} |
|
|
|
} |
|
|
|
} |