scm-publish:publish-scm
Full name:
org.apache.maven.plugins:maven-scm-publish-plugin:3.3.0:publish-scm
Description:
Publish a content to scm. By default, content is taken from default site staging directory ${project.build.directory}/staging. Can be used without project, so usable to update any SCM with any content.
Attributes:
- Executes as an aggregator goal.
- The goal is not marked as thread-safe and thus does not support parallel builds.
Required Parameters
| Name | Type | Since | Description | 
|---|---|---|---|
| <pubScmUrl> | String | - | Location of the scm publication tree: scm:<scm_provider><delimiter><provider_specific_part>. Example:scm:svn:https://svn.apache.org/repos/infra/websites/production/maven/content/plugins/maven-scm-publish-plugin-LATEST/Default: ${project.distributionManagement.site.url}User Property: scmpublish.pubScmUrl | 
Optional Parameters
| Name | Type | Since | Description | 
|---|---|---|---|
| <addUniqueDirectory> | boolean | - | Add each directory in a separated SCM command: this can be necessary if SCM does not support adding subdirectories in one command. Default: false | 
| <automaticRemotePathCreation> | boolean | - | Configure svn automatic remote url creation. Default: trueUser Property: scmpublish.automaticRemotePathCreation | 
| <checkinComment> | String | - | SCM log/checkin comment for this publication. Default: Site checkin for project ${project.name}User Property: scmpublish.checkinComment | 
| <checkoutDirectory> | File | - | Location where the scm check-out is done. By default, scm checkout is done in build (target) directory, which is deleted on every mvn clean. To avoid this and get better performance, configure this location outside build structure and settryUpdatetotrue. See  Improving SCM Checkout Performance for more information.Default: ${project.build.directory}/scmpublish-checkoutUser Property: scmpublish.checkoutDirectory | 
| <content> | File | - | The content to be published. Default: ${project.build.directory}/stagingUser Property: scmpublish.content | 
| <dryRun> | boolean | - | Display list of added, deleted, and changed files, but do not do any actual SCM operations. User Property: scmpublish.dryRun | 
| <excludes> | String | - | Patterns to exclude from the scm tree. | 
| <extraNormalizeExtensions> | String[] | - | Extra file extensions to normalize line ending (will be added to default html,css,jslist) | 
| <ignorePathsToDelete> | String[] | - | Collections of paths not to delete when checking content to delete. If your site has subdirectories published by an other mechanism/build | 
| <includes> | String | - | Patterns to include in the scm tree. | 
| <localCheckout> | boolean | - | Use a local checkout instead of doing a checkout from the upstream repository. WARNING: This will only work with distributed SCMs which support the file:// protocol. TODO: we should think about having the defaults for the various SCM providers provided via Modello! Default: falseUser Property: localCheckout | 
| <password> | String | - | The SCM password to use. This value takes precedence over the password derived from serverId.See also: serverId User Property: password | 
| <providerImplementations> | Map<String,String> | - | List of SCM provider implementations. Key is the provider type, eg. cvs. Value is the provider implementation (the role-hint of the provider), eg.cvsorcvs_native.See also: ScmManager.setScmProviderImplementation | 
| <scmBranch> | String | - | SCM branch to use. For github, you must configure with gh-pages.User Property: scmpublish.scm.branch | 
| <serverId> | String | - | The server id specified in the settings.xml, which should be used for the authentication.See also: Settings Reference Default: ${project.distributionManagement.site.id}User Property: scmpublish.serverId | 
| <siteOutputEncoding> | String | - | The outputEncoding parameter of the site plugin. This plugin will corrupt your site if this does not match the value used by the site plugin. Default: ${project.reporting.outputEncoding}User Property: outputEncoding | 
| <skipCheckin> | boolean | - | Run add and delete commands, but leave the actually checkin for the user to run manually. User Property: scmpublish.skipCheckin | 
| <skipDeletedFiles> | boolean | - | Do not delete files to the scm Default: falseUser Property: scmpublish.skipDeletedFiles | 
| <skipDeployement> | boolean | - | Deprecated. Please use skipDeployment.Set this to 'true' to skip site deployment. Default: false | 
| <skipDeployment> | boolean | - | Set this to 'true' to skip site deployment. Default: falseUser Property: scmpublish.skipDeployAlias: maven.site.deploy.skip | 
| <subDirectory> | String | - | Location where the content is published inside the ${checkoutDirectory}. By default, content is copyed at the root of${checkoutDirectory}.User Property: scmpublish.subDirectory | 
| <tryUpdate> | boolean | - | If the checkout directory exists and this flag is activated, the plugin will try an SCM-update instead of delete then checkout. Default: falseUser Property: scmpublish.tryUpdate | 
| <username> | String | - | The SCM username to use. This value takes precedence over the username derived from serverId.See also: serverId User Property: username | 
Parameter Details
<addUniqueDirectory>
Add each directory in a separated SCM command: this can be necessary if SCM does not support adding subdirectories in one command.
- Type: boolean
- Required: No
- Default: false
<automaticRemotePathCreation>
Configure svn automatic remote url creation.
- Type: boolean
- Required: No
- User Property: scmpublish.automaticRemotePathCreation
- Default: true
<checkinComment>
SCM log/checkin comment for this publication.
- Type: java.lang.String
- Required: No
- User Property: scmpublish.checkinComment
- Default: Site checkin for project ${project.name}
<checkoutDirectory>
Location where the scm check-out is done. By default, scm checkout is done in build (target) directory, which is deleted on every 
mvn clean. To avoid this and get better performance, configure this location outside build structure and set tryUpdate to true. See  Improving SCM Checkout Performance for more information.- Type: java.io.File
- Required: No
- User Property: scmpublish.checkoutDirectory
- Default: ${project.build.directory}/scmpublish-checkout
<content>
The content to be published.
- Type: java.io.File
- Required: No
- User Property: scmpublish.content
- Default: ${project.build.directory}/staging
<dryRun>
Display list of added, deleted, and changed files, but do not do any actual SCM operations.
- Type: boolean
- Required: No
- User Property: scmpublish.dryRun
<excludes>
Patterns to exclude from the scm tree.
- Type: java.lang.String
- Required: No
<extraNormalizeExtensions>
Extra file extensions to normalize line ending (will be added to default 
html,css,js list)- Type: java.lang.String[]
- Required: No
<ignorePathsToDelete>
Collections of paths not to delete when checking content to delete. If your site has subdirectories published by an other mechanism/build
- Type: java.lang.String[]
- Required: No
<includes>
Patterns to include in the scm tree.
- Type: java.lang.String
- Required: No
<localCheckout>
Use a local checkout instead of doing a checkout from the upstream repository. WARNING: This will only work with distributed SCMs which support the file:// protocol. TODO: we should think about having the defaults for the various SCM providers provided via Modello!
- Type: boolean
- Required: No
- User Property: localCheckout
- Default: false
<password>
The SCM password to use. This value takes precedence over the password derived from 
See also: serverId
serverId.See also: serverId
- Type: java.lang.String
- Required: No
- User Property: password
<providerImplementations>
List of SCM provider implementations. Key is the provider type, eg. 
See also: ScmManager.setScmProviderImplementation
cvs. Value is the provider implementation (the role-hint of the provider), eg. cvs or cvs_native.See also: ScmManager.setScmProviderImplementation
- Type: java.util.Map<java.lang.String, java.lang.String>
- Required: No
<pubScmUrl>
Location of the scm publication tree: 
scm:<scm_provider><delimiter><provider_specific_part>. Example: scm:svn:https://svn.apache.org/repos/infra/websites/production/maven/content/plugins/maven-scm-publish-plugin-LATEST/- Type: java.lang.String
- Required: Yes
- User Property: scmpublish.pubScmUrl
- Default: ${project.distributionManagement.site.url}
<scmBranch>
SCM branch to use. For github, you must configure with 
gh-pages.- Type: java.lang.String
- Required: No
- User Property: scmpublish.scm.branch
<serverId>
The server id specified in the 
See also: Settings Reference
settings.xml, which should be used for the authentication.See also: Settings Reference
- Type: java.lang.String
- Required: No
- User Property: scmpublish.serverId
- Default: ${project.distributionManagement.site.id}
<siteOutputEncoding>
The outputEncoding parameter of the site plugin. This plugin will corrupt your site if this does not match the value used by the site plugin.
- Type: java.lang.String
- Required: No
- User Property: outputEncoding
- Default: ${project.reporting.outputEncoding}
<skipCheckin>
Run add and delete commands, but leave the actually checkin for the user to run manually.
- Type: boolean
- Required: No
- User Property: scmpublish.skipCheckin
<skipDeletedFiles>
Do not delete files to the scm
- Type: boolean
- Required: No
- User Property: scmpublish.skipDeletedFiles
- Default: false
<skipDeployement>
Deprecated.
Please use
Please use
skipDeployment.Set this to 'true' to skip site deployment.
- Type: boolean
- Required: No
- Default: false
<skipDeployment>
Set this to 'true' to skip site deployment.
- Type: boolean
- Required: No
- User Property: scmpublish.skipDeploy
- Default: false
- Alias: maven.site.deploy.skip
<subDirectory>
Location where the content is published inside the 
${checkoutDirectory}. By default, content is copyed at the root of ${checkoutDirectory}.- Type: java.lang.String
- Required: No
- User Property: scmpublish.subDirectory
<tryUpdate>
If the checkout directory exists and this flag is activated, the plugin will try an SCM-update instead of delete then checkout.
- Type: boolean
- Required: No
- User Property: scmpublish.tryUpdate
- Default: false
<username>
The SCM username to use. This value takes precedence over the username derived from 
See also: serverId
serverId.See also: serverId
- Type: java.lang.String
- Required: No
- User Property: username


