# CI builder-related Maven parameters

These parameters are detailed in the embedded help of the plugin (see the generate-mojo.html file) and can be used either in the mavenOpts (Jenkins)/mavenOptions(Azure DevOps) or the mvn(Jenkins)/options (Azure DevOps) commands of your CI build definition.

To get the list of Maven parameters as inline help during build time, execute this command:

```
mvn org.talend.ci:builder-maven-plugin:<version>:help 
-Ddetail=true 
-s F:/<your_studio>/configuration\maven_user_settings.xml
```

Information noteTip: You can also set a specific goal in this command to only return the parameters associated with this specific goal:

```
mvn org.talend.ci:builder-maven-plugin:<version>:help 
-Dgoal=generateAllPoms 
-Ddetail=true 
-s F:/<your_studio>/configuration/maven_user_settings.xml
```

| Maven parameter | Value |  |
| --- | --- | --- |
| Talend CommandLine parameters | -Dlicense.path | Path to the license of your Talend product.<br><br>If the licence path value is a URL and credentials are needed to<br>access it, use the -Dlicense.remote.user and<br>-Dlicense.remote.password parameters.<br><br>You can<br>use this parameter at build time to update an expired license. To change a<br>license, you can use this parameter and add the<br>-Dinstaller.clean=true parameter if you are not using<br>the mvn org.talend.ci:builder-maven-plugin:8.0.4:install<br>command. |
| (Only supported for users with Talend Studio 8.0.1 R2024-04 or<br>lower)<br><br>-Dtalend.studio.p2.base | The URL of the repository for Talend Studio feature packages, or the path to the unzipped folder of the<br>Talend\_Full\_Studio\_p2\_repository-YYYYMMDD\_HHmm-VA.B.C.zip<br>archive for Talend Studio feature packages.<br><br>Example for the URL of the official Talend repository for Talend Studio feature packages:<br><br>```<br>-Dtalend.studio.p2.base=https://update.talend.com/Studio/8/base<br>```<br><br>Example for the path to the unzipped folder of the archive for Talend Studio feature packages:<br><br>```<br>-Dtalend.studio.p2.base=D:/Talend/v80/StudioP2Base<br>```<br><br>For more information, see [Setting up update repositories for Talend Studio and Continuous Integration](https://help.qlik.com/talend/r/en-US/8.0/installation-guide-windows/setting-up-update-repositories-for-studio-and-ci).<br><br>Starting from version 8.0.1 R2024-05, the CI Builder parameter<br>-Dtalend.studio.p2.base is no longer supported nor<br>required. |  |
| -Dtalend.studio.p2.update | The URL of the repository for Talend Studio updates, or the path to the unzipped folder of the patch zip assigned to<br>you or the archive for Talend Studio updates.<br><br>If you want to migrate your projects to a newer version, you need to install<br>patches, including Talend Studio monthly updates, manual patches, and component patches, using this<br>parameter at build time. The main advantage of this parameter is that it<br>allows you to test and apply a patch on one or several existing projects<br>using CI before applying the patch to Talend Studio.<br><br>Example for the URL of the official Talend repository for the latest Talend Studio monthly update:<br><br>```<br>-Dtalend.studio.p2.update=https://update.talend.com/Studio/8/updates/latest<br>```<br><br>Example for the path to the unzipped folder of the archive for a Talend Studio monthly update:<br><br>```<br>-Dtalend.studio.p2.update=D:/Talend/v80/StudioR202201<br>```<br><br>For more information, see [Setting up update repositories for Talend Studio and Continuous Integration](https://help.qlik.com/talend/r/en-US/8.0/installation-guide-windows/setting-up-update-repositories-for-studio-and-ci). |  |
| -Dhttp.proxy\* and -Dhttps.proxy\*<br>parameters<br><br>+ -Djdk.http.auth.tunneling.disabledSchemes | The URL of the proxy server you want to use.<br><br>This feature is available<br>from 8.0 R2023-12 onwards.<br><br>Example:<br><br>```<br>-Dhttp.proxyHost=<proxy_host><br>-Dhttp.proxyPort=<proxy_port><br>-Dhttp.proxyUser=<username><br>-Dhttp.proxyPassword=<password><br>-Dhttp.nonProxyHosts=localhost<br>-Dhttps.proxyHost=<proxy_host><br>-Dhttps.proxyPort=<proxy_port><br>-Dhttps.proxyUser=<username><br>-Dhttps.proxyPassword=<password><br>-Dhttps.nonProxyHosts=localhost<br>-Djdk.http.auth.tunneling.disabledSchemes=<br>```<br><br>For more<br>information, see [Proxy configuration for Talend CommandLine](https://help.qlik.com/talend/en-US/software-dev-lifecycle-best-practices-guide/8.0/proxy-configuration-for-commandline). |  |
| (Optional)<br><br>-Declipse.keyring and<br>-Declipse.password<br><br>-Dtalend.studio.p2.base.user and<br>-Dtalend.studio.p2.base.pwd<br><br>-Dtalend.studio.p2.update.user and<br>-Dtalend.studio.p2.update.pwd | If basic authentication is enabled in the Talend Studio update repositories, use these parameters to enter the credentials<br>encrypted using the Eclipse secure storage.<br><br>This feature is available from 8.0 R2022-09 onwards.<br><br>Example:<br><br>```<br>-Dtalend.studio.p2.base=http://localhost:8081/Studio/8/base<br>-Dtalend.studio.p2.update=http://nexus.company.com:8081/Studio/8/updates/R2022-07v2/<br>-Declipse.keyring=<keyring-file-path>/mykeyring<br>-Declipse.password=<master-password-file-path>/mymaster<br>-Dtalend.studio.p2.base.user=admin<br>-Dtalend.studio.p2.base.pwd=admin123<br>-Dtalend.studio.p2.update.user=admin<br>-Dtalend.studio.p2.update.pwd=admin123<br>```<br><br>For more information on how to encrypt the credentials in the Talend Studio configuration files, see [Basic authentication for update repositories in Talend Studio](https://help.qlik.com/talend/r/en-US/8.0/installation-guide-windows/basic-authentication-for-update-repositories-in-studio). |  |
| (Optional)<br><br>-Dproduct.path | Path to the Talend CommandLine installation directory.<br><br><br>Example:<br><br>```<br>-Dproduct.path=/opt/Talend/commandline8<br>```<br><br>From Talend CI Builder version 8.0.4 onwards (available from R2022-04), Talend CommandLine can be downloaded and installed automatically during build<br>time. |  |
| (Optional)<br><br>-Dp2Installer.path | Path to the Installer files.<br><br>If -Dproduct.path is<br>specified (deprecated) then the Talend CommandLine will be installed in the value specified for this parameter.<br><br>Example:<br><br>```<br>-Dproduct.path=/home/.installation/.commandline_8<br>-Dp2Installer.path=/home/.installation/.p2Installer_8<br>```<br><br><br>This<br>allows you to use different paths for different product versions. |  |
| (Optional)<br><br>-DexecuteRawScript and<br>-DscriptFile | Used along with the mvn<br>org.talend.ci:builder-maven-plugin:8.0.X:executeScript<br>command to run a custom script that will contain all CI parameters to be<br>executed. By default, this parameter is set to<br>false.<br><br>Example:<br><br>```<br>mvn org.talend.ci:builder-maven-plugin:8.0.X:executeScript<br>-DexecuteRawScript=false<br>-DscriptFile=<Path_to_script_file>/script.txt<br>```<br><br>For more information on the differences between<br>-DexecuteRawScript=true and<br>-DexecuteRawScript=false, see [Executing a custom script on your projects](https://help.qlik.com/talend/en-US/software-dev-lifecycle-best-practices-guide/8.0/executing-a-custom-script). |  |
| (Optional)<br><br>-Dinstaller.clean | Performs a clean installation and removes the<br>.metadata folder under your CI workspace directory<br>before reinstalling Talend CommandLine.<br><br>Example: -Dinstaller.clean=true |  |
| (Optional)<br>-Dinstall.org.eclipse.ecf.provider.filetransfer.httpclient4.retrieve.connectTimeout<br>-Dinstall.org.eclipse.ecf.provider.filetransfer.httpclient4.retrieve.readTimeout<br>-Dinstall.org.eclipse.ecf.provider.filetransfer.httpclient4.browse.connectTimeout<br>-Dinstall.org.eclipse.equinox.p2.transport.ecf.retry | Timeout settings in milliseconds to indicate how long to wait for the<br>connection to open before throwing an error, as well as the number of<br>connection attempts. These parameters help prevent the CI server from being<br>blocked when it does not receive a response soon enough. Their default values<br>are all 12000 milliseconds.<br><br>Example:<br><br>```<br>-Dinstall.org.eclipse.ecf.provider.filetransfer.httpclient4.retrieve.connectTimeout=12000<br>-Dinstall.org.eclipse.ecf.provider.filetransfer.httpclient4.retrieve.readTimeout=12000<br>-Dinstall.org.eclipse.ecf.provider.filetransfer.httpclient4.browse.connectTimeout=12000<br>-Dinstall.org.eclipse.equinox.p2.transport.ecf.retry=5<br>``` |  |
| (Optional)<br><br>-Dsun.net.client.defaultConnectTimeout and<br>-Dsun.net.client.defaultReadTimeout | When the CI Builder downloads non-Eclipse p2 remote files (such as the<br>license, patch.properties, and<br>.eclipseproduct files), the default connection and<br>read timeout is 0 milliseconds, meaning the process waits indefinitely until<br>a connection is established or data is received.<br><br>To set custom timeout values, add these JDK system properties to your Maven<br>command:<br><br><ul> <li><span>-Dsun.net.client.defaultConnectTimeout=&lt;value_in_ms&gt;</span>:                           Sets the maximum time, in milliseconds, to wait when establishing a                           connection.</li> <li><span>-Dsun.net.client.defaultReadTimeout=&lt;value_in_ms&gt;</span>:                           Sets the maximum time, in milliseconds, to wait when reading data from an                           established connection.</li> </ul><br><br>Example:<br><br>```<br>-Dsun.net.client.defaultConnectTimeout=30000<br>-Dsun.net.client.defaultReadTimeout=60000<br>```<br><br>For more information, see [Java Networking Properties](https://docs.oracle.com/javase/8/docs/technotes/guides/net/properties.html). |  |
| (Optional)<br><br>-Dgeneration.type | Type local as the value to generate the sources of<br>your artifacts and Tests locally without having to keep the Talend CommandLine up and running during the build<br>execution.<br><br>Example:<br><br>```<br>-Dgeneration.type=local<br>```<br><br>The<br>server generation type is no longer<br>supported. |  |
| (Optional)<br><br>-DcveReportFilePath | Allows you to define the path where you want to store the report containing<br>the list of fixed vulnerabilities in your artifacts.<br><br>This parameter can only<br>be used with the<br>org.talend.ci:builder-maven-plugin:&lt;version&gt;:detectCVE<br>Maven command.<br><br>For more information, see [Detecting the fixed vulnerabilities (CVEs) of your artifacts while<br>building](https://help.qlik.com/talend/en-US/software-dev-lifecycle-best-practices-guide/8.0/detecting-cve-while-building).<br><br>Example:<br><br>```<br>-DcveReportFilePath=/home/talend/cvereport.csv<br>``` |  |
| (Optional)<br><br>-Dcommandline.skip | Type true as the value to skip the source code<br>generation of your artifacts.<br><br>This parameter can only be used if you have<br>previously generated your artifacts using Talend CommandLine.<br><br>Example:<br><br>```<br>-Dcommandline.skip=true<br>``` |  |
| (Optional)<br><br>-Dtalend.profile.module | Allows you to activate or deactivate profiles when generating POM files by<br>setting its value to true or<br>false.<br><br>If you have not installed the 8.0 R2022-06<br>Talend Studio monthly update or a later one provided by Talend and if a main project has duplicated reference projects, you need to add<br>this parameter and set its value to true when<br>generating POM files for the main project to avoid duplicate projects module<br>definition in the POM files and then specify profiles using the<br>-P parameter when building projects and artifacts<br>using the Maven package command. For more information, see [Generating POM files for your projects](https://help.qlik.com/talend/en-US/software-dev-lifecycle-best-practices-guide/8.0/regenerate-pom-files).<br><br>If your projects<br>are migrated from version 7.1, 7.2, or 7.3, the profiles can be activated or<br>deactivated via selecting or clearing the Set reference project<br>modules in profile check box under the Build &gt; Maven view in the Project Settings dialog box<br>in Talend Studio. You can override the profile settings in Talend Studio via the -Dtalend.profile.module parameter when<br>generating POM files using CI.<br><br>Example for activating<br>profiles:<br><br>```<br>-Dtalend.profile.module=true<br>``` |  |
| (Optional)<br><br>-Dtalend.exclude.deleted | Allows you to exclude modules of deleted items from the POM files by<br>setting its value to true when generating POM files for<br>your<br>projects.<br><br>Example:<br><br>```<br>-Dtalend.exclude.deleted=true<br>``` |  |
| (Optional)<br><br>-DprojectFilter | Allows you to build specific projects. Regular expressions are<br>supported.<br><br>Example of filter on all projects with a name starting with<br>CI:<br><br>```<br>-DprojectFilter="CI.*"<br>```<br><br>Example<br>of filter on two specific projects projectA and<br>projectB:<br><br>```<br>-DprojectFilter="projectA\|projectB"<br>``` |  |
| (Optional)<br><br>-DitemFilter and<br>-Dfilter.include.dependencies=true | Allows you to build specific project items. Regular expressions are<br>supported.<br><br>You can use the additional<br>-Dfilter.include.dependencies=true parameter to<br>include all the dependencies of your filtered project items, and to make the<br>POM generation faster.<br><br>Note that if -DitemFilter<br>is used together with -DprojectFilter,<br>-DitemFilter will be applied only on the projects<br>filtered by -DprojectFilter. If the filtered projects<br>have any reference projects that are not filtered by<br>-DprojectFilter, the POM files will be generated for<br>all items in these reference projects.<br><br>For examples on how to use this<br>parameter, see [Filtering project items](https://help.qlik.com/talend/r/en-US/8.0/software-dev-lifecycle-best-practices-guide/filter-project-items). |  |
| (Optional)<br><br>-Dstudio.forceMavenOnline=true | In case of dependency error when building or scheduling the execution of<br>Jobs in offline mode, allows Talend Studio to download dependencies according to what is defined in your Maven settings<br>file.<br><br>The error you may get is the following:<br><br><br>Plugin X.Y.Z or one of its dependencies could not be resolved:<br>Cannot access central<br><br>It can also be avoided by [Generating POM files for your projects](https://help.qlik.com/talend/en-US/software-dev-lifecycle-best-practices-guide/8.0/regenerate-pom-files) before build time as these<br>POM files would then contain all the dependencies needed to execute your<br>Jobs. |  |
| (Optional)<br><br>-Dworkspace | Allows you to define the current workspace project for which you want to<br>build artifacts.<br><br>It can be used with different Maven builder commands like<br>org.talend.ci:builder-maven-plugin:8.0.X:detectCVE<br>or<br>org.talend.ci:builder-maven-plugin:8.0.X:generateAllPoms<br>for example.<br><br>Example:<br><br>```<br>-Dworkspace=/home/talend/talend_studio/CI/workspace<br>``` |  |
| Availability-note[Deprecated](https://help.talend.com/r/en-US/Cloud/labels-on-talend-help-center/availability-deprecated)<br><br>This content is deprecated.<br><br>-Dpatch.path | Path to the patch you have installed or want to install (manual patches,<br>custom component patches, hotfixes, etc.).<br><br>Note that this parameter is<br>deprecated from 8.0 R2022-04 onwards. Alternatively, you can use the<br>-Dtalend.studio.p2.update parameter.<br><br>Example<br>if you have installed the patch<br>locally:<br><br>```<br>-Dpatch.path=D:/patches/Patch_TPS-2222.zip,D:/patches/Patch_TPS-3333.zip<br>```<br><br>Example<br>of patch to<br>download:<br><br>```<br>-Dpatch.path=http://localhost:8085/nexus/content/repositories/releases/Patch_TPS-2222.zip,http://localhost:8085/nexus/content/repositories/releases/Patch_TPS-3333.zip<br>```<br><br>If<br>you don’t already have a Nexus account, ask Talend Support to provide you with one. If credentials are needed to access the<br>remote patch location, use the -Dpatch.remote.user and<br>-Dpatch.remote.password parameters. The<br>patch.remote.password parameter can set a password<br>encrypted by Maven. |  |
| Availability-note[Deprecated](https://help.talend.com/r/en-US/Cloud/labels-on-talend-help-center/availability-deprecated)<br><br>This content is deprecated.<br><br>-DforceUpdate | Forces the installation of Talend CommandLine from the update site, even if a local installation is present.<br><br>Note that<br>this parameter is deprecated from 8.0 R2022-04 onwards. Alternatively, you<br>can use the -Dinstaller.clean parameter.<br><br>Example: -DforceUpdate=true |  |
| Custom component parameters | -Dcomponents.\* | When deploying Jobs that use custom components to an artifact repository,<br>specifies the repository in which the component libraries are stored.<br><br>This is<br>only required for the custom components created using Talend Component Kit.<br><br>For more information, read [this documentation](https://help.qlik.com/talend/r/en-US/8.0/develop-component-using-kit/develop-component-tacokit).<br><br>Example 1 with Bearer<br>Token authentication to JFrog Artifactory<br>repository:<br><br>```<br>-Dcomponents.nexus.url=http://localhost:8082/artifactory<br>-Dcomponents.artifact.token=<your_token><br>-Dcomponents.nexus.repository=component-updates<br>-Dcomponents.nexus.repository.snapshot=component-updates-snapshot<br>```<br><br>Example<br>2 with user/password<br>authentication:<br><br>```<br>-Dcomponents.nexus.url=http://localhost:8081/<br>-Dcomponents.nexus.user=<user><br>-Dcomponents.nexus.password=<password><br>-Dcomponents.nexus.repository=component-updates<br>-Dcomponents.nexus.repository.snapshot=component-updates-snapshot<br>```<br><br>Information noteNote: For<br>older javajet-based components, see [How to share a custom component in Talend Studio](https://help.qlik.com/talend/r/en-US/8.0/share-custom-component-in-studio). |
| (Optional)<br><br>-Djvm.arguments | Specifies JVM arguments if needed, for example, to increase the memory<br>available to Talend CommandLine.<br><br>If you have installed the 8.0 R2022-07 Talend Studio monthly update or a later one provided by Talend, the JVM arguments are also applied to the Eclipse p2 director<br>application that is used for installing Talend CommandLine. For more information, see [Installing software using the p2 director<br>application](https://help.eclipse.org/latest/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/p2_director.html).<br><br>Example:<br><br>```<br>-Djvm.arguments=-Xms512m -Xmx4000m<br>``` |  |
| (Optional)<br><br>-Dstudio.allow.java.internal.access | To prevent Java class access errors at build time, add this parameter with a<br>true value.<br><br>Example:<br><br>```<br>-Dstudio.allow.java.internal.access=true<br>```<br><br>Information noteWarning: Jobs built this way cannot be executed with Java 8.<br><br>For more information on this option and how to enable it in the Talend Studio project settings, read [the Talend Studio documentation](https://help.qlik.com/talend/r/en-US/8.0/studio-user-guide/setting-compiler-compliance-level). |  |
| (Optional)<br><br>-Dcodes.compile.failOnError | To prevent the CI build to fail when encountering some routines with<br>compilation errors that are not used in the artifacts you are building, add<br>this parameter with a false value to skip them and<br>continue the<br>compilation.<br><br>Example:<br><br>```<br>-Dcodes.compile.failOnError=false<br>``` |  |