Browse Source

New task <p4counter>

Submitted by:	Kirk Wylie <kirk@radik.com>


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@268910 13f79535-47bb-0310-9956-ffa450edef68
master
Stefan Bodewig 24 years ago
parent
commit
1386f41a4a
5 changed files with 142 additions and 1 deletions
  1. +2
    -0
      WHATSNEW
  2. +36
    -1
      docs/manual/OptionalTasks/perforce.html
  3. +1
    -0
      src/main/org/apache/tools/ant/taskdefs/defaults.properties
  4. +102
    -0
      src/main/org/apache/tools/ant/taskdefs/optional/perforce/P4Counter.java
  5. +1
    -0
      src/main/org/apache/tools/ant/taskdefs/optional/perforce/package.html

+ 2
- 0
WHATSNEW View File

@@ -13,6 +13,8 @@ Changes that could break older environments:
Other changes: Other changes:
-------------- --------------


* New tasks: ear, p4counter

* Ant now uses JAXP 1.1 * Ant now uses JAXP 1.1


* rmic now supports Kaffe's and Weblogic's version of rmic. * rmic now supports Kaffe's and Weblogic's version of rmic.


+ 36
- 1
docs/manual/OptionalTasks/perforce.html View File

@@ -59,6 +59,10 @@ You will also need the perforce client executable (p4 or p4.exe but not p4win.ex
<td><a href="#p4label">P4Label</a></td> <td><a href="#p4label">P4Label</a></td>
<td>Create a label reflecting files in the current workspace</td> <td>Create a label reflecting files in the current workspace</td>
</tr> </tr>
<tr>
<td><a href="#p4counter">P4Counter</a></td>
<td>Obtain or set the value of a counter</td>
</tr>
</table> </table>


<h3>General P4 Properties</h3> <h3>General P4 Properties</h3>
@@ -142,6 +146,7 @@ available from the <a href="http://www.perforce.com/" target="_top">Perforce web
&lt;taskdef name=&quot;p4submit&quot; classname=&quot;org.apache.tools.ant.taskdefs.optional.perforce.P4Submit&quot; /&gt; &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;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;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> </pre>


<hr> <hr>
@@ -322,7 +327,6 @@ although P4Edit can open files to the default change, P4Submit cannot yet submi




</table> </table>

<h3>Examples</h3> <h3>Examples</h3>
<pre> <pre>
&lt;p4label &lt;p4label
@@ -333,6 +337,37 @@ although P4Edit can open files to the default change, P4Submit cannot yet submi
<hr> <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>


<h2><a name="changes">Change History</a></h2> <h2><a name="changes">Change History</a></h2>
<table border="1" cellpadding="2" cellspacing="0"> <table border="1" cellpadding="2" cellspacing="0">
<tr> <tr>


+ 1
- 0
src/main/org/apache/tools/ant/taskdefs/defaults.properties View File

@@ -83,6 +83,7 @@ p4have=org.apache.tools.ant.taskdefs.optional.perforce.P4Have
p4sync=org.apache.tools.ant.taskdefs.optional.perforce.P4Sync p4sync=org.apache.tools.ant.taskdefs.optional.perforce.P4Sync
p4edit=org.apache.tools.ant.taskdefs.optional.perforce.P4Edit p4edit=org.apache.tools.ant.taskdefs.optional.perforce.P4Edit
p4submit=org.apache.tools.ant.taskdefs.optional.perforce.P4Submit p4submit=org.apache.tools.ant.taskdefs.optional.perforce.P4Submit
p4counter=org.apache.tools.ant.taskdefs.optional.perforce.P4Counter
javah=org.apache.tools.ant.taskdefs.optional.Javah javah=org.apache.tools.ant.taskdefs.optional.Javah
ccupdate=org.apache.tools.ant.taskdefs.optional.clearcase.CCUpdate ccupdate=org.apache.tools.ant.taskdefs.optional.clearcase.CCUpdate
cccheckout=org.apache.tools.ant.taskdefs.optional.clearcase.CCCheckout cccheckout=org.apache.tools.ant.taskdefs.optional.clearcase.CCCheckout


+ 102
- 0
src/main/org/apache/tools/ant/taskdefs/optional/perforce/P4Counter.java View File

@@ -0,0 +1,102 @@
/*
* The Apache Software License, Version 1.1
*
* Copyright (c) 2001 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 apache@apache.org.
*
* 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:kirk@radik.com">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));
}
}

+ 1
- 0
src/main/org/apache/tools/ant/taskdefs/optional/perforce/package.html View File

@@ -16,6 +16,7 @@ These tasks also require you to have the p4 (or p4.exe) client in your path.
@see org.apache.tools.ant.taskdefs.optional.perforce.P4Change @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.P4Edit
@see org.apache.tools.ant.taskdefs.optional.perforce.P4Submit @see org.apache.tools.ant.taskdefs.optional.perforce.P4Submit
@see org.apache.tools.ant.taskdefs.optional.perforce.P4Counter








Loading…
Cancel
Save