## wildfly:provision

Full name:

org.wildfly.plugins:wildfly-maven-plugin:5.0.1.Final:provision

Description:

Provision a server.

Attributes:

- Requires a Maven project to be executed.
- Requires dependency resolution of artifacts in scope: `compile+runtime`.
- The goal is not marked as thread-safe and thus does not support parallel builds.
- Since version: `3.0`.
- Binds by default to the lifecycle phase: `package`.

### Optional Parameters

Name | Type | Since | Description
--- | --- | --- | ---
`<channels>` | `List<ChannelConfiguration>` | `-` | A list of channels used for resolving artifacts while provisioning. Defining a channel:
    <channels>
      <channel>
          <manifest>
              <groupId>org.wildfly.channels</groupId>
              <artifactId>wildfly-30.0</artifactId>
          </manifest>
      </channel>
      <channel>
          <manifest>
              <url>https://example.example.org/channel/30</url>
          </manifest>
      </channel>
    </channels>
The `wildfly.channels` property can be used pass a comma delimited string for the channels. The channel can be a URL or a Maven GAV. If a Maven GAV is used, the groupId and artifactId are required. Examples:
        -Dwildfly.channels="https://channels.example.org/30"
        -Dwildfly.channels="https://channels.example.org/30,org.example.channel:updates-30"
        -Dwildfly.channels="https://channels.example.org/30,org.example.channel:updates-30:1.0.2"
User Property: `wildfly.channels` Alias: `channels`
`<dryRun>` | `boolean` | `5.0` | Do not actually provision a server but generate the Galleon provisioning configuration in `target/.wildfly-maven-plugin-provisioning.xml` file. Alias: `dry-run`
`<excludedLayers>` | `List<String>` | `-` | A list of Galleon layers to exclude. Can be used when feature-pack-location or feature-packs are set. Use the System property `wildfly.provisioning.layers.excluded` to provide a comma separated list of layers to exclude. User Property: `wildfly.provisioning.layers.excluded` Alias: `excluded-layers`
`<featurePacks>` | `List<GalleonFeaturePack>` | `-` | A list of feature-pack configurations to install, can be combined with layers. Use the System property `wildfly.provisioning.feature-packs` to provide a comma separated list of feature-packs. User Property: `wildfly.provisioning.feature-packs` Alias: `feature-packs`
`<galleonOptions>` | `Map<String,String>` | `-` | Arbitrary Galleon options used when provisioning the server. In case you are building a large amount of server in the same maven session, it is strongly advised to set 'jboss-fork-embedded' option to 'true' in order to fork Galleon provisioning and CLI scripts execution in dedicated processes. For example:
      <galleon-options>
        <jboss-fork-embedded>true</jboss-fork-embedded>
      </galleon-options>
Alias: `galleon-options`
`<layers>` | `List<String>` | `-` | A list of Galleon layers to provision. Can be used when feature-pack-location or feature-packs are set. Use the System property `wildfly.provisioning.layers` to provide a comma separated list of layers. User Property: `wildfly.provisioning.layers` Alias: `layers`
`<layersConfigurationFileName>` | `String` | `-` | The name of the configuration file generated from layers. Default value is `standalone.xml`. If no `layers` have been configured, setting this parameter is invalid. Default: `standalone.xml` User Property: `wildfly.provisioning.layers.configuration.file.name` Alias: `layers-configuration-file-name`
`<logProvisioningTime>` | `boolean` | `-` | Whether to log provisioning time at the end Default: `false` User Property: `wildfly.provisioning.log.time` Alias: `log-provisioning-time`
`<offlineProvisioning>` | `boolean` | `-` | Whether to use offline mode when the plugin resolves an artifact. In offline mode the plugin will only use the local Maven repository for an artifact resolution. Default: `false` User Property: `wildfly.provisioning.offline` Alias: `offline-provisioning`
`<overwriteProvisionedServer>` | `boolean` | `-` | Set to `true` if you want to delete the existing server referenced from the `provisioningDir` and provision a new one, otherwise `false`. Default: `false` User Property: `wildfly.provisioning.overwrite-provisioned-server` Alias: `overwrite-provisioned-server`
`<provisioningDir>` | `String` | `-` | The path to the directory where to provision the server. Can be an absolute path or a path relative to the buildDir. By default the server is provisioned into the `target/server` directory. Default: `server` User Property: `wildfly.provisioning.dir` Alias: `provisioning-dir`
`<provisioningFile>` | `File` | `-` | The path to the `provisioning.xml` file to use. Note that this cannot be used with the `feature-packs` or `configurations`. If the provisioning file is not absolute, it has to be relative to the project base directory. Default: `${project.basedir}/galleon/provisioning.xml` User Property: `wildfly.provisioning.file` Alias: `provisioning-file`
`<recordProvisioningState>` | `boolean` | `-` | Whether to record provisioning state in .galleon directory. Default: `false` User Property: `wildfly.provisioning.record.state` Alias: `record-provisioning-state`
`<skip>` | `boolean` | `-` | Set to `true` if you want the goal to be skipped, otherwise `false`. Default: `false` User Property: `wildfly.provision.skip`

### Parameter Details

#### <channels>

A list of channels used for resolving artifacts while provisioning.

Defining a channel:

    <channels>
      <channel>
          <manifest>
              <groupId>org.wildfly.channels</groupId>
              <artifactId>wildfly-30.0</artifactId>
          </manifest>
      </channel>
      <channel>
          <manifest>
              <url>https://example.example.org/channel/30</url>
          </manifest>
      </channel>
    </channels>

The `wildfly.channels` property can be used pass a comma delimited string for the channels. The channel can be a URL or a Maven GAV. If a Maven GAV is used, the groupId and artifactId are required.
Examples:

        -Dwildfly.channels="https://channels.example.org/30"
        -Dwildfly.channels="https://channels.example.org/30,org.example.channel:updates-30"
        -Dwildfly.channels="https://channels.example.org/30,org.example.channel:updates-30:1.0.2"

- Type: `java.util.List<org.wildfly.plugin.provision.ChannelConfiguration>`
- Required: `No`
- User Property: `wildfly.channels`
- Alias: `channels`

#### <dryRun>

Do not actually provision a server but generate the Galleon provisioning configuration in `target/.wildfly-maven-plugin-provisioning.xml` file.

- Type: `boolean`
- Since: `5.0`
- Required: `No`
- Alias: `dry-run`

#### <excludedLayers>

A list of Galleon layers to exclude. Can be used when feature-pack-location or feature-packs are set. Use the System property `wildfly.provisioning.layers.excluded` to provide a comma separated list of layers to exclude.

- Type: `java.util.List<java.lang.String>`
- Required: `No`
- User Property: `wildfly.provisioning.layers.excluded`
- Alias: `excluded-layers`

#### <featurePacks>

A list of feature-pack configurations to install, can be combined with layers. Use the System property `wildfly.provisioning.feature-packs` to provide a comma separated list of feature-packs.

- Type: `java.util.List<org.jboss.galleon.api.GalleonFeaturePack>`
- Required: `No`
- User Property: `wildfly.provisioning.feature-packs`
- Alias: `feature-packs`

#### <galleonOptions>

Arbitrary Galleon options used when provisioning the server. In case you are building a large amount of server in the same maven session, it is strongly advised to set 'jboss-fork-embedded' option to 'true' in order to fork Galleon provisioning and CLI scripts execution in dedicated processes. For example:

      <galleon-options>
        <jboss-fork-embedded>true</jboss-fork-embedded>
      </galleon-options>

- Type: `java.util.Map<java.lang.String, java.lang.String>`
- Required: `No`
- Alias: `galleon-options`

#### <layers>

A list of Galleon layers to provision. Can be used when feature-pack-location or feature-packs are set. Use the System property `wildfly.provisioning.layers` to provide a comma separated list of layers.

- Type: `java.util.List<java.lang.String>`
- Required: `No`
- User Property: `wildfly.provisioning.layers`
- Alias: `layers`

#### <layersConfigurationFileName>

The name of the configuration file generated from layers. Default value is `standalone.xml`. If no `layers` have been configured, setting this parameter is invalid.

- Type: `java.lang.String`
- Required: `No`
- User Property: `wildfly.provisioning.layers.configuration.file.name`
- Default: `standalone.xml`
- Alias: `layers-configuration-file-name`

#### <logProvisioningTime>

Whether to log provisioning time at the end

- Type: `boolean`
- Required: `No`
- User Property: `wildfly.provisioning.log.time`
- Default: `false`
- Alias: `log-provisioning-time`

#### <offlineProvisioning>

Whether to use offline mode when the plugin resolves an artifact. In offline mode the plugin will only use the local Maven repository for an artifact resolution.

- Type: `boolean`
- Required: `No`
- User Property: `wildfly.provisioning.offline`
- Default: `false`
- Alias: `offline-provisioning`

#### <overwriteProvisionedServer>

Set to `true` if you want to delete the existing server referenced from the `provisioningDir` and provision a new one, otherwise `false`.

- Type: `boolean`
- Required: `No`
- User Property: `wildfly.provisioning.overwrite-provisioned-server`
- Default: `false`
- Alias: `overwrite-provisioned-server`

#### <provisioningDir>

The path to the directory where to provision the server. Can be an absolute path or a path relative to the buildDir. By default the server is provisioned into the `target/server` directory.

- Type: `java.lang.String`
- Required: `No`
- User Property: `wildfly.provisioning.dir`
- Default: `server`
- Alias: `provisioning-dir`

#### <provisioningFile>

The path to the `provisioning.xml` file to use. Note that this cannot be used with the `feature-packs` or `configurations`. If the provisioning file is not absolute, it has to be relative to the project base directory.

- Type: `java.io.File`
- Required: `No`
- User Property: `wildfly.provisioning.file`
- Default: `${project.basedir}/galleon/provisioning.xml`
- Alias: `provisioning-file`

#### <recordProvisioningState>

Whether to record provisioning state in .galleon directory.

- Type: `boolean`
- Required: `No`
- User Property: `wildfly.provisioning.record.state`
- Default: `false`
- Alias: `record-provisioning-state`

#### <skip>

Set to `true` if you want the goal to be skipped, otherwise `false`.

- Type: `boolean`
- Required: `No`
- User Property: `wildfly.provision.skip`
- Default: `false`