com.atlassian.clover.api.ci

## Class CIOptions.Builder

- java.lang.Object
- - com.atlassian.clover.api.ci.CIOptions.Builder

- All Implemented Interfaces:
    java.io.Serializable
  Enclosing class:
    CIOptions

      public static class CIOptions.Builder
      extends java.lang.Object
      implements java.io.Serializable

  This class is used to configure one of the `Integrator` classes. Obtain a set of CIOptions using the static factory method: CIOptions.newDefaults().
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `Builder()` Creates a brand new CIOptionsBuilder with default values.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `CIOptions` | `build()`
    `CIOptions.Builder` | `fullClean(boolean fullClean)`
    `CIOptions.Builder` | `historical(boolean historical)`
    `CIOptions.Builder` | `historyDir(java.io.File historyDir)` Use the given history directory to store Clover artifacts which are needed by Clover between builds.
    `CIOptions.Builder` | `html(boolean html)`
    `CIOptions.Builder` | `json(boolean json)`
    `CIOptions.Builder` | `license(java.io.File license)` Use the given Clover license Path for the build.
    `CIOptions.Builder` | `licenseCert(java.lang.String licenseCert)` Use the given Clover license String for the build.
    `CIOptions.Builder` | `optimize(boolean optimize)` Whether or not to optimize tests.
    `CIOptions.Builder` | `pdf(boolean pdf)`
    `CIOptions.Builder` | `putValuesInQuotes(boolean inQuotes)` Applicable for AntIntegrator only.
    `java.lang.String` | `toString()`
    `CIOptions.Builder` | `xml(boolean xml)`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### Builder

          public Builder()

      Creates a brand new CIOptionsBuilder with default values.

  - ### Method Detail

    - #### optimize

          public CIOptions.Builder optimize(boolean optimize)

      Whether or not to optimize tests.
      Parameters:
        `optimize` - true if tests should be optimized using Clover's test optimization
      Returns:
        these options, but with optimization turned on.

    - #### html

          public CIOptions.Builder html(boolean html)

    - #### json

          public CIOptions.Builder json(boolean json)

    - #### pdf

          public CIOptions.Builder pdf(boolean pdf)

    - #### xml

          public CIOptions.Builder xml(boolean xml)

    - #### historical

          public CIOptions.Builder historical(boolean historical)

    - #### licenseCert

          public CIOptions.Builder licenseCert(java.lang.String licenseCert)

      Use the given Clover license String for the build.
      Parameters:
        `licenseCert` - the license cert (including newline chars) to use
      Returns:
        Builder this

    - #### license

          public CIOptions.Builder license(java.io.File license)

      Use the given Clover license Path for the build.
      Parameters:
        `license` - a file representing the clover license
      Returns:
        Builder this

    - #### historyDir

          public CIOptions.Builder historyDir(java.io.File historyDir)

      Use the given history directory to store Clover artifacts which are needed by Clover between builds. For example: Clover history points used to generate a Clover Historical Report, or the clover.snapshot file needed for Test Optimization.
      Parameters:
        `historyDir` - a directory to store Clover data between builds.
      Returns:
        Builder this

    - #### fullClean

          public CIOptions.Builder fullClean(boolean fullClean)

      Parameters:
        `fullClean` - true if all previous clover data (excluding the historydir) should be removed before running the build.
      Returns:
        Builder this

    - #### putValuesInQuotes

          public CIOptions.Builder putValuesInQuotes(boolean inQuotes)

      Applicable for AntIntegrator only.

      If set to `true` then some of Clover's properties will be put in double quotes. This is to solve a problem with properties containing whitespace characters. Ant prior to version 1.9.7 passes arguments to the JVM process incorrectly on non-Windows operating systems - for example "[-Da=b c][-De=f]" may be passed as "[-Da=b] [c] [-De=f]".

      Set this value to `true` if the following conditions are met:

      - you have Ant version older than 1.9.7
      - you are not building on Windows platform

      Double quotes will not be added on Windows platform, even if the property is set to `true`.

      Ant since version 1.9.7 passes arguments with spaces correctly therefore do not set this parameter to `true`, otherwise you'll end up with values containing double quotes.

      Parameters:
        `inQuotes` - `true` - put values in double quotes, `false` - put values as is
      Returns:
        Builder this

    - #### build

          public CIOptions build()

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`