git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@270203 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -0,0 +1,92 @@ | |||||
| /* | |||||
| * 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.listeners; | |||||
| import org.apache.avalon.framework.ExceptionUtil; | |||||
| /** | |||||
| * Default listener that emulates the old ant listener notifications. | |||||
| * | |||||
| * @author <a href="mailto:peter@apache.org">Peter Donald</a> | |||||
| */ | |||||
| public class ClassicProjectListener | |||||
| extends AbstractProjectListener | |||||
| { | |||||
| private String m_prefix; | |||||
| /** | |||||
| * Notify listener of targetStarted event. | |||||
| * | |||||
| * @param targetName the name of target | |||||
| */ | |||||
| public void targetStarted( final String targetName ) | |||||
| { | |||||
| output( targetName + ":\n" ); | |||||
| } | |||||
| /** | |||||
| * Notify listener of taskStarted event. | |||||
| * | |||||
| * @param taskName the name of task | |||||
| */ | |||||
| public void taskStarted( final String taskName ) | |||||
| { | |||||
| setPrefix( taskName ); | |||||
| } | |||||
| /** | |||||
| * Notify listener of taskFinished event. | |||||
| */ | |||||
| public void taskFinished() | |||||
| { | |||||
| setPrefix( null ); | |||||
| } | |||||
| /** | |||||
| * Notify listener of log message event. | |||||
| * | |||||
| * @param message the message | |||||
| */ | |||||
| public void log( String message ) | |||||
| { | |||||
| output( message ); | |||||
| } | |||||
| /** | |||||
| * Notify listener of log message event. | |||||
| * | |||||
| * @param message the message | |||||
| * @param throwable the throwable | |||||
| */ | |||||
| public void log( String message, Throwable throwable ) | |||||
| { | |||||
| output( message + "\n" + ExceptionUtil.printStackTrace( throwable, 5, true ) ); | |||||
| } | |||||
| /** | |||||
| * Utility class to output data. | |||||
| * Overide in sub-classes to direct to a different destination. | |||||
| * | |||||
| * @param data the data | |||||
| */ | |||||
| protected void output( final String data ) | |||||
| { | |||||
| if( null != getPrefix() ) System.out.println( "\t[" + getPrefix() + "] " + data ); | |||||
| else System.out.println( data ); | |||||
| } | |||||
| protected final String getPrefix() | |||||
| { | |||||
| return m_prefix; | |||||
| } | |||||
| protected final void setPrefix( final String prefix ) | |||||
| { | |||||
| m_prefix = prefix; | |||||
| } | |||||
| } | |||||
| @@ -18,6 +18,7 @@ public class DefaultProjectListener | |||||
| extends AbstractProjectListener | extends AbstractProjectListener | ||||
| { | { | ||||
| private String m_prefix; | private String m_prefix; | ||||
| private String m_targetName; | |||||
| /** | /** | ||||
| * Notify listener of targetStarted event. | * Notify listener of targetStarted event. | ||||
| @@ -26,7 +27,7 @@ public class DefaultProjectListener | |||||
| */ | */ | ||||
| public void targetStarted( final String targetName ) | public void targetStarted( final String targetName ) | ||||
| { | { | ||||
| output( targetName + ":\n" ); | |||||
| m_targetName = targetName; | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -76,6 +77,12 @@ public class DefaultProjectListener | |||||
| */ | */ | ||||
| protected void output( final String data ) | protected void output( final String data ) | ||||
| { | { | ||||
| if( null != m_targetName ) | |||||
| { | |||||
| output( m_targetName + ":\n" ); | |||||
| m_targetName = null; | |||||
| } | |||||
| if( null != getPrefix() ) System.out.println( "\t[" + getPrefix() + "] " + data ); | if( null != getPrefix() ) System.out.println( "\t[" + getPrefix() + "] " + data ); | ||||
| else System.out.println( data ); | else System.out.println( data ); | ||||
| } | } | ||||
| @@ -3,6 +3,7 @@ | |||||
| <types> | <types> | ||||
| <listener name="default" classname="org.apache.myrmidon.listeners.DefaultProjectListener"/> | <listener name="default" classname="org.apache.myrmidon.listeners.DefaultProjectListener"/> | ||||
| <listener name="classic" classname="org.apache.myrmidon.listeners.ClassicProjectListener"/> | |||||
| <aspect name="noop" classname="org.apache.myrmidon.aspects.NoopAspectHandler"/> | <aspect name="noop" classname="org.apache.myrmidon.aspects.NoopAspectHandler"/> | ||||
| <project-builder name="ant" classname="org.apache.myrmidon.components.builder.DefaultProjectBuilder"/> | <project-builder name="ant" classname="org.apache.myrmidon.components.builder.DefaultProjectBuilder"/> | ||||
| <project-builder name="ati" classname="org.apache.myrmidon.components.builder.ATIProjectBuilder"/> | <project-builder name="ati" classname="org.apache.myrmidon.components.builder.ATIProjectBuilder"/> | ||||