## CLI tool Maven configuration
By default the following maven repositories are used to retrieve FP. 

* _http://repository.jboss.org/nexus/content/groups/public/_
* _http://repo1.maven.org/maven2/_

The cli allows you to 
change the path to the local repository and add/remove remote maven repositories.

### Relying on maven settings
In order to makes the cli to use a maven settings file call: _maven set-settings-file <path to settings xml file>_
In order to remove the reference to the settings file call: _maven set-settings-file_ +

NB: Advanced mirroring (eg: _external:*_) is not supported. + 
NB: Any other cli maven configuration items will be overridden when a settings xml file is set. +
NB: If no local repository is set in settings file, the local repository (default or configured) is used.

### Adding new remote repositories
Use the following command to add new remote repositories: +
_maven add-repository --name=myrepo --url=http://foorepo [--release-update-policy=<policy>] 
[--snapshot-update-policy=<policy>] [--type=<type>] [--enable-release=[true|false] [--enable-snapshot=[true|false]_ +

NB: The type, release update policy, snapshot update policy and enable/disable of snapshot/release are optional and have default values.

### Default Repository policies
Daily update for releases, never update for snapshots. +
Warn if checksum differs.

Snapshots are not resolved from remote repositories. + 
Releases are resolved from remote repositories.

Update polices can be changed by calling: +
_maven set-release-update-policy [<always|daily|interval:|never>]_ +
_maven set-snapshot-update-policy [<always|daily|interval:|never>]_

Activation of snapshot/release resolution can be changed by calling: +
_maven enable-snapshot [<true|false>]_ +
_maven enable-release [<true|false>]_

NB: Calling one of these commands without any argument will reset to the default value.

### Advanced maven configuration
Proxy, authentication and mirroring are only supported when setting a maven xml settings file.

### Local repository
By default the local maven repository is located in _<user.home>/.m2/repository_. 
You can change this directory by using the command: _maven set-local-repository <path to your local repository directory>_ +
In order to reset to the default local maven repository call: _maven set-local-repository_

### Offline mode
By default maven is in online mode. In order to switch to offline use the command _maven set-offline <true|false>_ +
If no argument is provided, the mode is set to its default value (false).

### Display maven configuration
Call command: _maven get-info_

### Impact on Universe
Any change made to the maven configuration makes the CLI to re-resolve universe(s). 
This means that stream resolution stays in sync with maven configuration.

### Resolving feature-packs
When remote repositories are set, feature-packs are automatically downloaded at install time. 
You can download feature-pack explicitly to the local repository by using the 
command: _maven resolve-feature-pack <feature-pack location> [--verbose]_

### Maven tracing
When enabling "verbose" at installation and provisioning time, any artifact retrieved 
from a remote repository is advertised in the console. This also
applies when fetching explicitly feature-packs.

