scm-publish:prepare

Full name:

org.apache.maven.plugins:maven-scm-publish-plugin:1.0-beta-1:prepare

This plugin goal has been deprecated:

superseded by publish-scm which does the same in on step only and has more features

Description:

Prepare a directory for version-managed site generation. This checks out the specified directory from the SCM, then takes inventory of all the resulting files then deletes every files. This inventory then allows the 'publish' target to tee up deletions as well as modifications and additions. There's an assumption here that an entire directory in SCM is dedicated to the publication process for this project. In the aggregate case, this is going to take some doing. If we allow this to be non-aggregate, then each module has to configure pathnames, which would be a pain. So we assume that in an aggregate project this runs once, at the top -- then all of the projects site-deploy into the file: url this creates. TODO: we want multiple includes/excludes, but the scm API doesn't go there.

Attributes:

  • Requires a Maven project to be executed.
  • Executes as an aggregator plugin.
  • Binds by default to the lifecycle phase: pre-site.

Required Parameters

Name Type Since Description
pubScmUrl String - Location of the scm publication tree.
Default value is: ${project.distributionManagement.site.url}.
User property is: scmpublish.pubScmUrl.

Optional Parameters

Name Type Since Description
automaticRemotePathCreation boolean - for svn avoid automatic remote url create
Default value is: true.
User property is: scmpublish.automaticRemotePathCreation.
checkoutDirectory File - Location where the scm check-out is done.
Default value is: ${project.build.directory}/scmpublish-checkout.
User property is: scmpublish.checkoutDirectory.
excludes String - Patterns to exclude from the scm tree.
ignorePathsToDelete String[] - Collections of paths to not 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.
inventoryFile File - Location of the inventory file.
Default value is: ${project.build.directory}/scmpublish-inventory.js.
User property is: scmpublish.inventoryFile.
localCheckout boolean - Use a local checkout instead of doing a checkout from the upstream repository. ATTENTION: 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 value is: false.
User property is: localCheckout.
password String - The SCM password to use.
User property is: password.
providerImplementations Map - List of SCM provider implementations.
scmBranch String - for github you must configure with gh-pages
User property is: scmpublish.scm.branch.
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 value is: ${project.reporting.outputEncoding}.
User property is: outputEncoding.
skipDeletedFiles boolean - Do not delete files to the scm
Default value is: false.
User property is: scmpublish.skipDeletedFiles.
tryUpdate boolean - if the checkout directory exists and this flag is activated the plugin will try an update rather than delete then checkout
Default value is: false.
User property is: scmpublish.tryUpdate.
username String - The SCM username to use.
User property is: username.

Parameter Details

automaticRemotePathCreation:

for svn avoid automatic remote url create
  • Type: boolean
  • Required: No
  • User Property: scmpublish.automaticRemotePathCreation
  • Default: true

checkoutDirectory:

Location where the scm check-out is done.
  • Type: java.io.File
  • Required: No
  • User Property: scmpublish.checkoutDirectory
  • Default: ${project.build.directory}/scmpublish-checkout

excludes:

Patterns to exclude from the scm tree.
  • Type: java.lang.String
  • Required: No

ignorePathsToDelete:

Collections of paths to not 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

inventoryFile:

Location of the inventory file.
  • Type: java.io.File
  • Required: No
  • User Property: scmpublish.inventoryFile
  • Default: ${project.build.directory}/scmpublish-inventory.js

localCheckout:

Use a local checkout instead of doing a checkout from the upstream repository. ATTENTION: 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.
  • Type: java.lang.String
  • Required: No
  • User Property: password

providerImplementations:

List of SCM provider implementations.
  • Type: java.util.Map
  • Required: No

pubScmUrl:

Location of the scm publication tree.
  • Type: java.lang.String
  • Required: Yes
  • User Property: scmpublish.pubScmUrl
  • Default: ${project.distributionManagement.site.url}

scmBranch:

for github you must configure with gh-pages
  • Type: java.lang.String
  • Required: No
  • User Property: scmpublish.scm.branch

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}

skipDeletedFiles:

Do not delete files to the scm
  • Type: boolean
  • Required: No
  • User Property: scmpublish.skipDeletedFiles
  • Default: false

tryUpdate:

if the checkout directory exists and this flag is activated the plugin will try an update rather than delete then checkout
  • Type: boolean
  • Required: No
  • User Property: scmpublish.tryUpdate
  • Default: false

username:

The SCM username to use.
  • Type: java.lang.String
  • Required: No
  • User Property: username