i've just added emacsMode support to RecorderEntry, Project and Main, plus 
generic support for transfering emacsMode from a Project to new 
BuildListeners. Attached is the 'cvs diff' patch, built against CVS as it 
stood about 5 hours ago.

:)

----- [EMAIL PROTECTED]
http://qub.sourceforge.net  - http://radioaqtiph.sourceforge.net
http://www.countermoves.net - http://stephan.rootonfire.org
"Unix: the shell is your oyster."



? src/main/org/apache/tools/ant/.directory
Index: src/main/org/apache/tools/ant/Main.java
===================================================================
RCS file: /home/cvspublic/jakarta-ant/src/main/org/apache/tools/ant/Main.java,v
retrieving revision 1.59
diff -r1.59 Main.java
505c505,506
<         Throwable error = null;
---
> 	// quick hack to enable emacsMode in RecorderEntry ([EMAIL PROTECTED])
> 	project.setProperty( Project.EMACS_MODE_FLAG, org.apache.tools.ant.util.StringUtils.getStringValue( this.emacsMode )  /* man, that's anal. */ );
506a508
>         Throwable error = null;
Index: src/main/org/apache/tools/ant/Project.java
===================================================================
RCS file: /home/cvspublic/jakarta-ant/src/main/org/apache/tools/ant/Project.java,v
retrieving revision 1.99
diff -r1.99 Project.java
99a100,106
>     /**
>      * Quick hack to enable emacsMode in RecorderEntry ([EMAIL PROTECTED])
>      */
>     public final static String EMACS_MODE_FLAG = "emacsMode";
> 
> 
> 
323a331,336
> 	if( listener instanceof org.apache.tools.ant.BuildLogger ) 
> 	{
> 	    BuildLogger bl = (BuildLogger)listener;
> 	    bl.setEmacsMode( org.apache.tools.ant.util.StringUtils.getBooleanValue( getProperty( Project.EMACS_MODE_FLAG ) ) );
> 	    //	    log( "Hey, Project["+getName()+"].addBuildListener() got a BuildLogger!", Project.MSG_DEBUG );
> 	}
405a419
> 	// System.out.println( "Project["+getName()+"].setProperty( ["+name+"], ["+value+"] )" );
Index: src/main/org/apache/tools/ant/taskdefs/RecorderEntry.java
===================================================================
RCS file: /home/cvspublic/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/RecorderEntry.java,v
retrieving revision 1.5
diff -r1.5 RecorderEntry.java
97a98,102
>     /**
>      * 
>      */
>     private boolean emacsMode = false;
> 
104a110,113
>     public RecorderEntry()
>     {
> 	this( null );
>     }
148,149c157,159
<         log( ">> TARGET STARTED -- " + event.getTarget(), Project.MSG_DEBUG );
<         log( StringUtils.LINE_SEP + event.getTarget().getName() + ":", Project.MSG_INFO );
---
> 	log( "targetStarted( project=[" + event.getProject().getName() + "] )", Project.MSG_INFO );
>         log( ">> TARGET STARTED -- " + (emacsMode ? "" : event.getTarget().getName()), Project.MSG_DEBUG );
>         log( StringUtils.LINE_SEP + (emacsMode ? "" : event.getTarget().getName() + ": " ), Project.MSG_INFO );
154c164
<         log( "<< TARGET FINISHED -- " + event.getTarget(), Project.MSG_DEBUG );
---
>         log( "<< TARGET FINISHED -- " + (emacsMode ? "" : event.getTarget().getName()), Project.MSG_DEBUG );
156c166
<         log( event.getTarget() + ":  duration " + time, Project.MSG_VERBOSE );
---
>         log( (emacsMode ? "" : event.getTarget().getName() + ": ")+"duration " + time, Project.MSG_VERBOSE );
171d180
< 
173,174c182,183
<         if ( event.getTask() != null ) {
<             String name = "[" + event.getTask().getTaskName() + "]";
---
>         if ( !emacsMode && event.getTask() != null ) {
>             String name = "[" + event.getTask().getTaskName() + "] ";
176c185
<             for ( int i = 0; i < (12 - name.length()); i++ ) {
---
> 	    for ( int i = 0; i < (12 - name.length()); i++ ) {
178c187
<             } // for
---
> 	    } // for
208c217
<         throw new java.lang.RuntimeException("Method setEmacsMode() not yet implemented.");
---
> 	this.emacsMode = emacsMode;
Index: src/main/org/apache/tools/ant/util/StringUtils.java
===================================================================
RCS file: /home/cvspublic/jakarta-ant/src/main/org/apache/tools/ant/util/StringUtils.java,v
retrieving revision 1.2
diff -r1.2 StringUtils.java
132a133,154
>     /**
>     * @param s A string representing a true or false value. May be null.
>     * @return true if the given string equals (ignoring case) any of the following: true, yes, one, 1, yessireebob. Else returns false.
>     */
>     public static boolean getBooleanValue( String s ) {
>         if( s == null ) return false;
>         if( s.equalsIgnoreCase( "true" ) ) return true;
>         if( s.equalsIgnoreCase( "yes" ) ) return true;
>         if( s.equalsIgnoreCase( "on" ) ) return true;
>         if( s.equalsIgnoreCase( "1" ) ) return true;
>         if( s.equalsIgnoreCase( "yessireebob" ) ) return true;
>         return false;
>     }
> 	/**
> 	* This is just for completeness in the API.
> 	* @param b boolean value
> 	* @return some truth value parseable as true by getBooleanValue( String ). (Hint, hint. Don't depend on absolute String values.)
> 	*/
>     public static String getStringValue( boolean b ) {
> 	    return b ? "true" : "false";
>     }
> 
--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to