perforce-gradle-plugin
======================

Adds the following tasks to your gradle project:

* `startPerforce`: Starts a local Perforce server in your `build` directory
* `stopPerforce`: Stops the local Perforce server

If a p4d executable does not exist, one is downloaded from
[http://ftp.perforce.com](ftp.perforce.com).

Keep in mind this system is intended to set up quick testing environments.


## Configuration

The perforce-gradle-plugin is available via jcenter.bintray.com.

Basic configuration requires mostly just setting up the repository manager.

    // Use jcenter repository here, or add jcenter.bintray.com to your local
    // repository manager (i.e., Nexus, Artifactory)
    buildscript {
        repositories {
            jcenter()
        }
        dependencies {
            classpath('com.perforce.workshop.tjuricek:perforce-gradle-plugin:0.1.1')
        }
    }

    apply plugin: 'perforce'


Additionally, you can reconfigure several properties using the `perforce`
configuration block:

    perforce {
        // What version of the binary to download via http://ftp.perforce.com
        // version = "r14.1"

        // The directory we cache the p4 and p4d executables in
        // cacheDir = "${buildDir}/perforce/cache"

        // The working directory we use for p4d
        // workDir = "${buildDir}/perforce/work"
    }


## To Do

This is a **very** first cut at this plugin, mostly put together to test some
various tools out.

1. We do not have a convention for establishing the super user, and another
   project (the [https://swarm.workshop.perforce.com/projects/tjuricek-initializer](initializer))
   will probably create one as well. We'll need to do this likely to get a
   reliable shutdown.

2. We should probably add the ability to checkpoint and restore via this
   plugin