Les Hughes wrote:
> 
> > I thought that was in the patch. It was in my local copy of
> > the manual.
> > I'll try to redo the patch.
> >
> 
> Yep, you're right. My local copy of the html was ro so it didn't get
> patched....doh!

There WAS a typo in one of the documentation files. I've fixed it and rerun
the patch (I think correctly, though I'm terrible at using cvs) and
attached it, along with the new P4Counter.java.

Kirk Wylie
? Ant.vpw
? Ant.vpj
? Ant.vtg
? testPerforce.xml
? p4CounterPatch.txt
? jakarta-ant-1.4alpha
? lib/optional/jakarta-oro-2.0.2-dev-2.jar
? src/main/org/apache/tools/ant/taskdefs/optional/perforce/P4Counter.java
Index: WHATSNEW
===================================================================
RCS file: /home/cvspublic/jakarta-ant/WHATSNEW,v
retrieving revision 1.93
diff -u -r1.93 WHATSNEW
--- WHATSNEW    2001/03/19 13:18:30     1.93
+++ WHATSNEW    2001/04/04 03:58:50
@@ -23,6 +23,8 @@
 
 * you can now specify a description for <p4change>
 
+* New task: <p4counter>
+
 Fixed bugs:
 -----------
 
Index: docs/manual/OptionalTasks/perforce.html
===================================================================
RCS file: /home/cvspublic/jakarta-ant/docs/manual/OptionalTasks/perforce.html,v
retrieving revision 1.3
diff -u -r1.3 perforce.html
--- docs/manual/OptionalTasks/perforce.html     2001/03/19 13:18:31     1.3
+++ docs/manual/OptionalTasks/perforce.html     2001/04/04 03:58:51
@@ -59,6 +59,10 @@
         <td><a href="#p4label">P4Label</a></td>
         <td>Create a label reflecting files in the current workspace</td>
     </tr>
+    <tr>
+        <td><a href="#p4counter">P4Counter</a></td>
+        <td>Obtain or set the value of a counter</td>
+    </tr>
 </table>
 
 <h3>General P4 Properties</h3>
@@ -142,6 +146,7 @@
     &lt;taskdef name=&quot;p4submit&quot; 
classname=&quot;org.apache.tools.ant.taskdefs.optional.perforce.P4Submit&quot; 
/&gt;
     &lt;taskdef name=&quot;p4have&quot; 
classname=&quot;org.apache.tools.ant.taskdefs.optional.perforce.P4Have&quot; 
/&gt;
     &lt;taskdef name=&quot;p4label&quot; 
classname=&quot;org.apache.tools.ant.taskdefs.optional.perforce.P4Label&quot; 
/&gt;
+    &lt;taskdef name=&quot;p4counter&quot; 
classname=&quot;org.apache.tools.ant.taskdefs.optional.perforce.P4Counter&quot; 
/&gt;
 </pre>
 
 <hr>
@@ -322,13 +327,43 @@
 
 
 </table>
-
 <h3>Examples</h3>
 <pre>
 &lt;p4label
        name=&quot;NightlyBuild:${DSTAMP}:${TSTAMP}&quot; 
        desc=&quot;Auto Nightly Build&quot;
 /&gt;
+</pre>
+<hr>
+
+
+<h2><a name="p4counter">P4Counter</a></h2>
+<h3>Description:</h3>
+<p>Obtain or set the value of a counter
+</p>
+<h3>Parameters</h3>
+<table border="1" cellpadding="2" cellspacing="0">
+  <tr>
+    <td valign="top"><b>Attribute</b></td>
+    <td valign="top"><b>Description</b></td>
+    <td align="center" valign="top"><b>Required</b></td>
+  </tr>
+  <tr>
+    <td valign="top">name</td>
+    <td valign="top">The name of the counter</td>
+    <td valign="top" align="center">Yes</td>
+  </tr>
+  <tr>
+    <td valign="top">value</td>
+    <td valign="top">The new value for the counter</td>
+    <td valign="top" align="center">No</td>
+  </tr>
+</table>
+
+<h3>Examples</h3>
+<pre>
+&lt;p4counter name=&quot;last-clean-build&quot; /&gt;
+&lt;p4counter name=&quot;last-clean-build&quot; value=&quot;${TSTAMP}&quot; 
/&gt;
 </pre>
 <hr>
 
Index: src/main/org/apache/tools/ant/taskdefs/optional/perforce/package.html
===================================================================
RCS file: 
/home/cvspublic/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/perforce/package.html,v
retrieving revision 1.1
diff -u -r1.1 package.html
--- src/main/org/apache/tools/ant/taskdefs/optional/perforce/package.html       
2000/11/28 16:46:43     1.1
+++ src/main/org/apache/tools/ant/taskdefs/optional/perforce/package.html       
2001/04/04 03:59:02
@@ -16,6 +16,7 @@
 @see org.apache.tools.ant.taskdefs.optional.perforce.P4Change
 @see org.apache.tools.ant.taskdefs.optional.perforce.P4Edit
 @see org.apache.tools.ant.taskdefs.optional.perforce.P4Submit
[EMAIL PROTECTED] org.apache.tools.ant.taskdefs.optional.perforce.P4Counter
 
 
 
/*
 * The Apache Software License, Version 1.1
 *
 * Copyright (c) 2000 The Apache Software Foundation.  All rights
 * reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 *
 * 3. The end-user documentation included with the redistribution, if
 *    any, must include the following acknowlegement:
 *       "This product includes software developed by the
 *        Apache Software Foundation (http://www.apache.org/)."
 *    Alternately, this acknowlegement may appear in the software itself,
 *    if and wherever such third-party acknowlegements normally appear.
 *
 * 4. The names "The Jakarta Project", "Ant", and "Apache Software
 *    Foundation" must not be used to endorse or promote products derived
 *    from this software without prior written permission. For written
 *    permission, please contact [EMAIL PROTECTED]
 *
 * 5. Products derived from this software may not be called "Apache"
 *    nor may "Apache" appear in their names without prior written
 *    permission of the Apache Group.
 *
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 * ====================================================================
 *
 * This software consists of voluntary contributions made by many
 * individuals on behalf of the Apache Software Foundation.  For more
 * information on the Apache Software Foundation, please see
 * <http://www.apache.org/>.
 *
 * Portions of this software are based upon public domain software
 * originally written at the National Center for Supercomputing Applications,
 * University of Illinois, Urbana-Champaign.
 */

package org.apache.tools.ant.taskdefs.optional.perforce;

import org.apache.tools.ant.*;

/** P4Counter - Obtain the value of a counter.
 *
 * Example Usage:<br>
 * &lt;p4counter name="${p4.change}"/&gt;
 * @author <A HREF="mailto:[EMAIL PROTECTED]">Kirk Wylie</A>
 *
 * ToDo: Should be able to write the counter value to a property.
 * I've left that out of the first version here because it involves
 * changing the P4OutputHandler fairly substantially, and thus
 * shouldn't be the second thing that I do here.
 */
 
public class P4Counter extends P4Base {
    public String counter = null;
    public boolean shouldSetValue = false;
    public int value = 0;

    public void setName(String counter) {
        this.counter = counter;
    }

    public void setValue(int value) {
        this.value = value;
        shouldSetValue = true;
    }

    public void execute() throws BuildException {

        if((counter == null) || counter.length() == 0) {
            throw new BuildException("No counter specified to retrieve");
        }

        String command = "-s counter " + P4CmdOpts + " " + counter;
        if(shouldSetValue) {
            command += " " + value;
        }

        execP4Command(command, new SimpleP4OutputHandler(this));
    }
}

Reply via email to