Build Cache Parameters
This document contains various configuration parameters supported by the cache engine.
Command line flags
Parameter | Description | Usage Scenario |
---|---|---|
-Dmaven.build.cache.configPath=path to file | Location of cache configuration file | Cache config is not in default location |
-Dmaven.build.cache.enabled=(true/false) | Cache and associated features disabled/enabled | To remove noise from logs when the remote cache is not available |
-Dmaven.build.cache.remote.enabled=(true/false) | Checks and downloads artifacts from the remote cache (overrides <remote enabled=(“true”/“false”)>) | To control remote cache access by node, if, say, some nodes lack reliable access |
-Dmaven.build.cache.remote.save.enabled=(true/false) | Remote cache save allowed or not | To designate nodes which allowed to push in remote shared cache |
-Dmaven.build.cache.remote.save.final=(true/false) | Prohibit to override remote cache | Prevents cache records from being overridden by subsequent builds |
-Dmaven.build.cache.remote.url= | Url of the remote cache (overrides ) | To override url of remote cache from command line |
-Dmaven.build.cache.remote.server.id= | Id of the remote cache server (overrides ) | To override id of remote cache server from command line |
-Dmaven.build.cache.failFast=(true/false) | Fail on the first module which cannot be restored from cache | Remote cache setup/tuning/troubleshooting |
-Dmaven.build.cache.baselineUrl=<http url> | Location of baseline build for comparison | Remote cache setup/tuning/troubleshooting |
-Dmaven.build.cache.lazyRestore=(true/false) | Restore artifacts from remote cache lazily | Performance optimization |
-Dmaven.build.cache.restoreGeneratedSources=(true/false) | Restore generated sources and directly attached files in the corresponding project directories. (default is true) | Performance optimization |
-Dmaven.build.cache.restoreOnDiskArtifacts=(true/false) | Restore generated artifacts in the project build directory. (default is true) | Performance optimization |
-Dmaven.build.cache.alwaysRunPlugins=<list of plugins> | Comma separated list of plugins to always run regardless of cache state. An example: maven-deploy-plugin:*,maven-install-plugin:install | Remote cache setup/tuning/troubleshooting |
-Dmaven.build.cache.skipCache=(true/false) | Skip looking up artifacts in caches. Does not affect writing artifacts to caches, disables only reading when set to true | May be used to trigger a forced rebuild when matching artifacts do exist in caches |
-Dmaven.build.cache.skipSave=(true/false) | Skip writing build result in caches. Does not affect reading from the cache. | Configuring MR builds to benefits from the cache, but restricting writes to the master branch |
-Dmaven.build.cache.mandatoryClean=(true/false) | Enable or disable the necessity to execute the clean phase in order to store the build result in cache | Reducing the risk to save “wrong” files in cache in a local dev environnement |
Project-level properties
Project-level parameters allowing to override global parameters on the project level. Must be specified as prefixed project properties:
<pom> ... <properties> <maven.build.cache.input.glob>{*.css}</maven.build.cache.input.glob> </properties> </pom>
Parameter | Description |
---|---|
maven.build.cache.input.glob | Project specific glob to select sources. Overrides the global glob. |
maven.build.cache.input | Additional inputs Example : <maven.build.cache.input.1>src/main/scala<maven.build.cache.input.1> <maven.build.cache.input.2>assembly-conf<maven.build.cache.input.2> |
maven.build.cache.exclude.xxx | Additional exclusion. Example : <maven.build.cache.exclude.value.1>src/main/java/package-info.java<maven.build.cache.exclude.value.1> <maven.build.cache.exclude.value.2>src/main/resources<maven.build.cache.exclude.value.2> <maven.build.cache.exclude.glob.2>*.md<maven.build.cache.exclude.glob/2> Produce two project exclusions : <exclude>src/main/java/package-info.java</exclude> <exclude glob="*.md">src/main/resources</exclude> |
maven.build.cache.processPlugins | Introspect plugins to find inputs or not. The default value is true. |
maven.build.cache.skipCache | Skip looking up artifacts for a particular project in caches. The default value is false. |
maven.build.cache.restoreGeneratedSources | Restore generated sources and directly attached files in the corresponding project directories. The default value is true. |
maven.build.cache.restoreOnDiskArtifacts | Restore generated artifacts in the project build directory. The default value is true. |