Class AbstractScmMojo

java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.apache.maven.scm.plugin.AbstractScmMojo
All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo
Direct Known Subclasses:
AddMojo, BranchMojo, ChangeLogMojo, CheckinMojo, CheckLocalModificationsMojo, CheckoutMojo, DiffMojo, EditMojo, ExportMojo, ListMojo, RemoveMojo, StatusMojo, TagMojo, UnEditMojo, UntagMojo, UpdateMojo, UpdateSubprojectsMojo, ValidateMojo

public abstract class AbstractScmMojo extends org.apache.maven.plugin.AbstractMojo
  • Field Details

    • VERSION_TYPE_BRANCH

      protected static final String VERSION_TYPE_BRANCH
      See Also:
    • VERSION_TYPE_REVISION

      protected static final String VERSION_TYPE_REVISION
      See Also:
    • VERSION_TYPE_TAG

      protected static final String VERSION_TYPE_TAG
      See Also:
    • VALID_VERSION_TYPES

      protected static final String[] VALID_VERSION_TYPES
    • connectionUrl

      @Parameter(property="connectionUrl", defaultValue="${project.scm.connection}") private String connectionUrl
      The SCM connection URL.
    • developerConnectionUrl

      @Parameter(property="developerConnectionUrl", defaultValue="${project.scm.developerConnection}") private String developerConnectionUrl
      The SCM connection URL for developers.
    • connectionType

      @Parameter(property="connectionType", defaultValue="connection") private String connectionType
      The type of connection to use (connection or developerConnection).
    • workingDirectory

      @Parameter(property="workingDirectory") private File workingDirectory
      The working directory.
    • username

      @Parameter(property="username") private String username
      The user name.
      See Also:
    • password

      @Parameter(property="password") private String password
      The user password.
      See Also:
    • privateKey

      @Parameter(property="privateKey") private String privateKey
      The private key.
      See Also:
    • passphrase

      @Parameter(property="passphrase") private String passphrase
      The passphrase.
      See Also:
    • serverId

      @Parameter(property="project.scm.id") private String serverId
      The server id of the server which provides the credentials for the SCM in the settings.xml file. If not set the default lookup uses the SCM URL to construct the server id like this: server-id=scm-host[":"scm-port].

      Currently the POM does not allow to specify a server id for the SCM section.

      Explicit authentication information provided via username, password or privateKey will take precedence.

      Since:
      2.2.0
      See Also:
    • tagBase

      @Parameter(property="tagBase") private String tagBase
      The url of tags base directory (used by svn protocol). It is not necessary to set it if you use the standard svn layout (branches/tags/trunk).
    • includes

      @Parameter(property="includes") private String includes
      Comma separated list of includes file pattern.
    • excludes

      @Parameter(property="excludes") private String excludes
      Comma separated list of excludes file pattern.
    • basedir

      @Parameter(property="basedir", required=true) private File basedir
      The base directory.
    • settings

      @Parameter(defaultValue="${settings}", readonly=true) private org.apache.maven.settings.Settings settings
    • systemProperties

      @Parameter private Properties systemProperties
      List of System properties to set before executing the SCM command.
    • providerImplementations

      @Parameter private Map<String,String> providerImplementations
      List of remapped provider implementations. Allows to bind a different implementation than the default one to a provider id. The key is the remapped provider id, the value is the default provider id the implementation is bound to.
      See Also:
    • pushChanges

      @Parameter(property="pushChanges", defaultValue="true") private boolean pushChanges
      Should distributed changes be pushed to the central repository? For many distributed SCMs like Git, a change like a commit is only stored in your local copy of the repository. Pushing the change allows your to more easily share it with other users.
      Since:
      1.4
    • workItem

      @Parameter(property="workItem") @Deprecated private String workItem
      Deprecated.
      A workItem for SCMs like RTC, TFS etc, that may require additional information to perform a pushChange operation.
      Since:
      1.9.5
    • manager

      private final ScmManager manager
    • settingsDecrypter

      private final org.apache.maven.settings.crypto.SettingsDecrypter settingsDecrypter
  • Constructor Details

    • AbstractScmMojo

      protected AbstractScmMojo(ScmManager manager, org.apache.maven.settings.crypto.SettingsDecrypter settingsDecrypter)
  • Method Details

    • execute

      public void execute() throws org.apache.maven.plugin.MojoExecutionException
      Throws:
      org.apache.maven.plugin.MojoExecutionException
    • setConnectionType

      protected void setConnectionType(String connectionType)
    • getConnectionUrl

      public String getConnectionUrl()
    • setConnectionUrl

      public void setConnectionUrl(String connectionUrl)
    • getWorkingDirectory

      public File getWorkingDirectory()
    • getBasedir

      public File getBasedir()
    • setWorkingDirectory

      public void setWorkingDirectory(File workingDirectory)
    • getScmManager

      public ScmManager getScmManager()
    • getFileSet

      public ScmFileSet getFileSet() throws IOException
      Throws:
      IOException
    • getScmRepository

      public ScmRepository getScmRepository() throws ScmException
      Throws:
      ScmException
    • loadInfosFromSettings

      private void loadInfosFromSettings(ScmProviderRepositoryWithHost repo)
      Load username password from settings if user has not set them in JVM properties.
      Parameters:
      repo - not null
    • decrypt

      private org.apache.maven.settings.Server decrypt(org.apache.maven.settings.Server server)
    • checkResult

      public void checkResult(ScmResult result) throws org.apache.maven.plugin.MojoExecutionException
      Throws:
      org.apache.maven.plugin.MojoExecutionException
    • getIncludes

      public String getIncludes()
    • setIncludes

      public void setIncludes(String includes)
    • getExcludes

      public String getExcludes()
    • setExcludes

      public void setExcludes(String excludes)
    • getScmVersion

      public ScmVersion getScmVersion(String versionType, String version) throws org.apache.maven.plugin.MojoExecutionException
      Throws:
      org.apache.maven.plugin.MojoExecutionException
    • handleExcludesIncludesAfterCheckoutAndExport

      protected void handleExcludesIncludesAfterCheckoutAndExport(File checkoutDirectory) throws org.apache.maven.plugin.MojoExecutionException
      Throws:
      org.apache.maven.plugin.MojoExecutionException