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]>