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: true
User 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 set tryUpdate to true. See Improving SCM Checkout Performance for more information.
Default: ${project.build.directory}/scmpublish-checkout
User Property: scmpublish.checkoutDirectory
<content> File - The content to be published.
Default: ${project.build.directory}/staging
User 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,js list)
<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: false
User 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. cvs or cvs_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: false
User 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: false
User Property: scmpublish.skipDeploy
Alias: 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: false
User 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 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. 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 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 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 serverId.
See also: serverId
  • Type: java.lang.String
  • Required: No
  • User Property: username