org.apache.tools.ant.taskdefs.optional.perforce
Class P4Base

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.Task
          extended by org.apache.tools.ant.taskdefs.optional.perforce.P4Base
All Implemented Interfaces:
java.lang.Cloneable
Direct Known Subclasses:
P4Add, P4Change, P4Counter, P4Delete, P4Edit, P4Fstat, P4Have, P4Integrate, P4Label, P4Labelsync, P4Reopen, P4Resolve, P4Revert, P4Submit, P4Sync

public abstract class P4Base
extends Task

Base class for Perforce (P4) ANT tasks. See individual task for example usage.

See Also:
P4Sync, P4Have, P4Change, P4Edit, P4Submit, P4Label, Execute

Field Summary
protected  boolean failOnError
          Keep going or fail on error - defaults to fail.
protected  java.lang.String P4Client
          Perforce Client (eg myclientspec)
protected  java.lang.String P4CmdOpts
          Perforce command opts.
protected  java.lang.String P4Opts
          Perforce 'global' opts.
protected  java.lang.String P4Port
          Perforce Server Port (eg KM01:1666)
protected  java.lang.String P4User
          Perforce User (eg fbloggs)
protected  java.lang.String P4View
          Perforce view for commands.
protected  java.lang.String shell
          The OS shell to use (cmd.exe or /bin/sh)
protected  org.apache.oro.text.perl.Perl5Util util
          Perl5 regexp in Java - cool eh?
 
Fields inherited from class org.apache.tools.ant.Task
target, taskName, taskType, wrapper
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
 
Constructor Summary
P4Base()
           
 
Method Summary
protected  void execP4Command(java.lang.String command)
          no usages found for this method runs a Perforce command without a handler
protected  void execP4Command(java.lang.String command, P4Handler handler)
          Execute P4 command assembled by subclasses.
 java.lang.String getErrorMessage()
          gets the error message recorded by the Perforce handler
 boolean getInError()
          gets whether or not the task has encountered an error
 void init()
          sets attributes Port, Client, User from properties if these properties are defined.
 void setClient(java.lang.String p4Client)
          The p4 client spec to use; optional, defaults to the current user
 void setCmdopts(java.lang.String p4CmdOpts)
          Set extra command options; only used on some of the Perforce tasks.
 void setErrorMessage(java.lang.String errorMessage)
          sets the error message
 void setFailonerror(boolean fail)
          whether to stop the build (true, default) or keep going if an error is returned from the p4 command
 void setGlobalopts(java.lang.String p4Opts)
          Set global P4 options; Used on all of the Perforce tasks.
 void setInError(boolean inError)
          sets the error flag on the task
 void setPort(java.lang.String p4Port)
          The p4d server and port to connect to; optional, default "perforce:1666"
 void setUser(java.lang.String p4User)
          The p4 username; optional, defaults to the current user
 void setView(java.lang.String p4View)
          The client, branch or label view to operate upon; optional default "//...".
 
Methods inherited from class org.apache.tools.ant.Task
bindToOwner, execute, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

util

protected org.apache.oro.text.perl.Perl5Util util
Perl5 regexp in Java - cool eh?


shell

protected java.lang.String shell
The OS shell to use (cmd.exe or /bin/sh)


P4Port

protected java.lang.String P4Port
Perforce Server Port (eg KM01:1666)


P4Client

protected java.lang.String P4Client
Perforce Client (eg myclientspec)


P4User

protected java.lang.String P4User
Perforce User (eg fbloggs)


P4View

protected java.lang.String P4View
Perforce view for commands. (eg //projects/foobar/main/source/... )


failOnError

protected boolean failOnError
Keep going or fail on error - defaults to fail.


P4Opts

protected java.lang.String P4Opts
Perforce 'global' opts. Forms half of low level API


P4CmdOpts

protected java.lang.String P4CmdOpts
Perforce command opts. Forms half of low level API

Constructor Detail

P4Base

public P4Base()
Method Detail

getInError

public boolean getInError()
gets whether or not the task has encountered an error

Returns:
error flag
Since:
ant 1.6

setInError

public void setInError(boolean inError)
sets the error flag on the task

Parameters:
inError - if true an error has been encountered by the handler
Since:
ant 1.6

getErrorMessage

public java.lang.String getErrorMessage()
gets the error message recorded by the Perforce handler

Returns:
error message

setErrorMessage

public void setErrorMessage(java.lang.String errorMessage)
sets the error message

Parameters:
errorMessage - line of error output

setPort

public void setPort(java.lang.String p4Port)
The p4d server and port to connect to; optional, default "perforce:1666"

Parameters:
p4Port - the port one wants to set such as localhost:1666

setClient

public void setClient(java.lang.String p4Client)
The p4 client spec to use; optional, defaults to the current user

Parameters:
p4Client - the name of the Perforce client spec

setUser

public void setUser(java.lang.String p4User)
The p4 username; optional, defaults to the current user

Parameters:
p4User - the user name

setGlobalopts

public void setGlobalopts(java.lang.String p4Opts)
Set global P4 options; Used on all of the Perforce tasks.

Parameters:
p4Opts - global options, to use a specific P4Config file for instance

setView

public void setView(java.lang.String p4View)
The client, branch or label view to operate upon; optional default "//...". the view is required for the following tasks :

Parameters:
p4View - the view one wants to use

setCmdopts

public void setCmdopts(java.lang.String p4CmdOpts)
Set extra command options; only used on some of the Perforce tasks.

Parameters:
p4CmdOpts - command line options going after the particular Perforce command

setFailonerror

public void setFailonerror(boolean fail)
whether to stop the build (true, default) or keep going if an error is returned from the p4 command

Parameters:
fail - indicates whether one wants to fail the build if an error comes from the Perforce command

init

public void init()
sets attributes Port, Client, User from properties if these properties are defined. Called automatically by UnknownElement

Overrides:
init in class Task
See Also:
PropertyAttribute
p4.portPort
p4.clientClient
p4.userUser

execP4Command

protected void execP4Command(java.lang.String command)
                      throws BuildException
no usages found for this method runs a Perforce command without a handler

Parameters:
command - the command that one wants to execute
Throws:
BuildException - if failonerror is set and the command fails

execP4Command

protected void execP4Command(java.lang.String command,
                             P4Handler handler)
                      throws BuildException
Execute P4 command assembled by subclasses.

Parameters:
command - The command to run
handler - A P4Handler to process any input and output
Throws:
BuildException - if failonerror has been set to true