## org.apache.tools.ant.taskdefs.optional.perforce
Class P4Sync

    java.lang.Object
      org.apache.tools.ant.ProjectComponent
          org.apache.tools.ant.Task
              org.apache.tools.ant.taskdefs.optional.perforce.P4Base
                  org.apache.tools.ant.taskdefs.optional.perforce.P4Sync

public class P4Sync
extends P4Base

Synchronize client space to a Perforce depot view. The API allows additional functionality of the "p4 sync" command (such as "p4 sync -f //...#have" or other exotic invocations).

Example Usage:

Function | Command
--- | ---
Sync to head using P4USER, P4PORT and P4CLIENT settings specified | <P4Sync P4view="//projects/foo/main/source/..." P4User="fbloggs" P4Port="km01:1666" P4Client="fbloggsclient" />
Sync to head using P4USER, P4PORT and P4CLIENT settings defined in environment | <P4Sync P4view="//projects/foo/main/source/..." />
Force a re-sync to head, refreshing all files | <P4Sync force="yes" P4view="//projects/foo/main/source/..." />
Sync to a label | <P4Sync label="myPerforceLabel" />

Author:
  Les Hughes
To do:
  Add decent label error handling for non-exsitant labels

Field Summary

Fields inherited from class org.apache.tools.ant.taskdefs.optional.perforce.P4Base
`failOnError, P4Client, P4CmdOpts, P4Opts, P4Port, P4User, P4View, shell, util`

Fields inherited from class org.apache.tools.ant.Task
`description, location, target, taskName, taskType, wrapper`

Fields inherited from class org.apache.tools.ant.ProjectComponent
`project`

Constructor Summary
`P4Sync()`

Method Summary
`void` `execute()` Called by the project to let the task do its work.
`void` `setForce(java.lang.String force)` force a refresh of files, if this attribute is set; false by default.
`void` `setLabel(java.lang.String label)` Label to sync client to; optional.

Methods inherited from class org.apache.tools.ant.taskdefs.optional.perforce.P4Base
`execP4Command, execP4Command, init, setClient, setCmdopts, setFailonerror, setPort, setUser, setView`

Methods inherited from class org.apache.tools.ant.Task
`getDescription, getLocation, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, handleErrorFlush, handleErrorOutput, handleFlush, handleOutput, isInvalid, log, log, maybeConfigure, perform, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName`

Methods inherited from class org.apache.tools.ant.ProjectComponent
`getProject, setProject`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### P4Sync

    public P4Sync()

Method Detail

### setLabel

    public void setLabel(java.lang.String label)
                  throws BuildException

  Label to sync client to; optional.

  Throws:
    `BuildException`

### setForce

    public void setForce(java.lang.String force)
                  throws BuildException

  force a refresh of files, if this attribute is set; false by default.

  Throws:
    `BuildException`

### execute

    public void execute()
                 throws BuildException

  Description copied from class: `Task`
  Called by the project to let the task do its work. This method may be called more than once, if the task is invoked more than once. For example, if target1 and target2 both depend on target3, then running "ant target1 target2" will run all tasks in target3 twice.

  Overrides:
    `execute` in class `Task`
  Throws:
    `BuildException` - if something goes wrong with the build

Copyright © 2000-2003 Apache Software Foundation. All Rights Reserved.