Coverage Report - org.apache.maven.shared.release.config.ReleaseDescriptor
 
Classes in this File Line Coverage Branch Coverage Complexity
ReleaseDescriptor
87%
322/367
63%
218/344
2,701
 
 1  
 /*
 2  
  =================== DO NOT EDIT THIS FILE ====================
 3  
  Generated by Modello 1.4.1 on 2012-06-15 18:49:50,
 4  
  any modifications will be overwritten.
 5  
  ==============================================================
 6  
  */
 7  
 
 8  
 package org.apache.maven.shared.release.config;
 9  
 
 10  
 /**
 11  
  * Class ReleaseDescriptor.
 12  
  * 
 13  
  * @version $Revision$ $Date$
 14  
  */
 15  2
 @SuppressWarnings( "all" )
 16  998
 public class ReleaseDescriptor
 17  
     implements java.io.Serializable
 18  
 {
 19  
 
 20  
       //--------------------------/
 21  
      //- Class/Member Variables -/
 22  
     //--------------------------/
 23  
 
 24  
     /**
 25  
      * 
 26  
      *             The name of this release configuration
 27  
      *           .
 28  
      */
 29  
     private String name;
 30  
 
 31  
     /**
 32  
      * 
 33  
      *             The description of this release configuration
 34  
      *           .
 35  
      */
 36  
     private String description;
 37  
 
 38  
     /**
 39  
      * 
 40  
      *             The prefix of SCM modification messages
 41  
      *           .
 42  
      */
 43  998
     private String ScmCommentPrefix = "[maven-release-manager] ";
 44  
 
 45  
     /**
 46  
      * 
 47  
      *             This is a MavenSCM of where you're going to get
 48  
      * the sources to make the release with.
 49  
      *             Example:
 50  
      * scm:svn:https://svn.apache.org/repos/asf/maven/plugins/trunk/maven-release-plugin
 51  
      *           .
 52  
      */
 53  
     private String scmSourceUrl;
 54  
 
 55  
     /**
 56  
      * 
 57  
      *             Where you are going to put your tagged sources
 58  
      *             Example
 59  
      * https://svn.apache.org/repos/asf/maven/plugins/tags
 60  
      *           .
 61  
      */
 62  
     private String scmTagBase;
 63  
 
 64  
     /**
 65  
      * 
 66  
      *             Where you are going to put your branched sources
 67  
      *             Example
 68  
      * https://svn.apache.org/repos/asf/maven/plugins/branches
 69  
      *           .
 70  
      */
 71  
     private String scmBranchBase;
 72  
 
 73  
     /**
 74  
      * 
 75  
      *             tag name: the identifier for the tag.
 76  
      *             Example: maven-release-plugin-2.0
 77  
      *           .
 78  
      */
 79  
     private String scmReleaseLabel;
 80  
 
 81  
     /**
 82  
      * 
 83  
      *             The id can be used to get the credentials by the
 84  
      * server-id from the settings.xml
 85  
      *           .
 86  
      */
 87  
     private String scmId;
 88  
 
 89  
     /**
 90  
      * 
 91  
      *             The user name to interact with the scm
 92  
      *           .
 93  
      */
 94  
     private String scmUsername;
 95  
 
 96  
     /**
 97  
      * 
 98  
      *             The password for the user interacting with the
 99  
      * scm
 100  
      *           .
 101  
      */
 102  
     private String scmPassword;
 103  
 
 104  
     /**
 105  
      * 
 106  
      *             Private key for an SSH based SCM repository.
 107  
      *           
 108  
      */
 109  
     private String scmPrivateKey;
 110  
 
 111  
     /**
 112  
      * 
 113  
      *             Pass phrase for the private key.
 114  
      *           
 115  
      */
 116  
     private String scmPrivateKeyPassPhrase;
 117  
 
 118  
     /**
 119  
      * 
 120  
      *             Whether to use edit mode when making SCM
 121  
      * modifications. This setting is disregarded
 122  
      *             if the SCM does not support edit mode, or if
 123  
      * edit mode is compulsory for the given SCM.
 124  
      *           
 125  
      */
 126  998
     private boolean scmUseEditMode = false;
 127  
 
 128  
     /**
 129  
      * 
 130  
      *             Relative path of the project returned by the
 131  
      * checkout command.
 132  
      *           
 133  
      */
 134  
     private String scmRelativePathProjectDirectory;
 135  
 
 136  
     /**
 137  
      * Field releaseVersions.
 138  
      */
 139  
     private java.util.Map releaseVersions;
 140  
 
 141  
     /**
 142  
      * Field developmentVersions.
 143  
      */
 144  
     private java.util.Map developmentVersions;
 145  
 
 146  
     /**
 147  
      * Field resolvedSnapshotDependencies.
 148  
      */
 149  
     private java.util.Map resolvedSnapshotDependencies;
 150  
 
 151  
     /**
 152  
      * 
 153  
      *             If updateDependencies is false, dependencies
 154  
      * version won't be updated to the next development version.
 155  
      *           
 156  
      */
 157  998
     private boolean updateDependencies = true;
 158  
 
 159  
     /**
 160  
      * 
 161  
      *             Whether to use the release profile that adds
 162  
      * sources and javadocs to the released artifact, if
 163  
      * appropriate.
 164  
      *             If set to true, this will set the property
 165  
      * "performRelease" to true.
 166  
      *           
 167  
      */
 168  998
     private boolean useReleaseProfile = true;
 169  
 
 170  
     /**
 171  
      * Field originalScmInfo.
 172  
      */
 173  
     private java.util.Map originalScmInfo;
 174  
 
 175  
     /**
 176  
      * 
 177  
      *             The directory where the release is performed.
 178  
      *           
 179  
      */
 180  
     private String workingDirectory;
 181  
 
 182  
     /**
 183  
      * 
 184  
      *             The directory where the tag will be checked out.
 185  
      *           
 186  
      */
 187  
     private String checkoutDirectory;
 188  
 
 189  
     /**
 190  
      * 
 191  
      *             The last completed phase.
 192  
      *           
 193  
      */
 194  
     private String completedPhase;
 195  
 
 196  
     /**
 197  
      * 
 198  
      *             Whether to add the model schema to the top of
 199  
      * the rewritten POM if it wasn't there already.
 200  
      *             If <code>false</code> then the root element will
 201  
      * remain untouched.
 202  
      *           
 203  
      */
 204  998
     private boolean addSchema = false;
 205  
 
 206  
     /**
 207  
      * 
 208  
      *             Whether to generate release POMs.
 209  
      *           
 210  
      */
 211  998
     private boolean generateReleasePoms = false;
 212  
 
 213  
     /**
 214  
      * 
 215  
      *             Whether to use the parent pom version for
 216  
      * submodule versions.
 217  
      *           
 218  
      */
 219  998
     private boolean autoVersionSubmodules = false;
 220  
 
 221  
     /**
 222  
      * 
 223  
      *             Whether the release process is interactive and
 224  
      * the release manager should be prompted to
 225  
      *             confirm values, or whether the defaults are used
 226  
      * regardless.
 227  
      *           
 228  
      */
 229  998
     private boolean interactive = true;
 230  
 
 231  
     /**
 232  
      * 
 233  
      *             Whether a SNAPSHOT of the release plugin is
 234  
      * allowed.
 235  
      *           
 236  
      */
 237  998
     private boolean snapshotReleasePluginAllowed = false;
 238  
 
 239  
     /**
 240  
      * 
 241  
      *             Additional arguments to pass to any executed
 242  
      * Maven process.
 243  
      *           
 244  
      */
 245  
     private String additionalArguments;
 246  
 
 247  
     /**
 248  
      * 
 249  
      *             The file name of the POM to pass to any executed
 250  
      * Maven process.
 251  
      *           
 252  
      */
 253  
     private String pomFileName;
 254  
 
 255  
     /**
 256  
      * Field checkModificationExcludes.
 257  
      */
 258  
     private java.util.List<String> checkModificationExcludes;
 259  
 
 260  
     /**
 261  
      * 
 262  
      *             The goals to execute in preparation for the
 263  
      * release.
 264  
      *           
 265  
      */
 266  
     private String preparationGoals;
 267  
 
 268  
     /**
 269  
      * 
 270  
      *             The goals to execute in on completion of
 271  
      * preparation for the release.
 272  
      *           
 273  
      */
 274  
     private String completionGoals;
 275  
 
 276  
     /**
 277  
      * 
 278  
      *             The goals to execute in perform phase for the
 279  
      * release.
 280  
      *           
 281  
      */
 282  
     private String performGoals;
 283  
 
 284  
     /**
 285  
      * 
 286  
      *             The commits must be done by modules or not. Set
 287  
      * it to true in case of flat directory structure.
 288  
      *           
 289  
      */
 290  998
     private boolean commitByProject = false;
 291  
 
 292  
     /**
 293  
      * 
 294  
      *             Whether to create a branch instead of do a
 295  
      * release.
 296  
      *           
 297  
      */
 298  998
     private boolean branchCreation = false;
 299  
 
 300  
     /**
 301  
      * 
 302  
      *             Whether to update branch POM versions.
 303  
      *           
 304  
      */
 305  998
     private boolean updateBranchVersions = false;
 306  
 
 307  
     /**
 308  
      * 
 309  
      *             Whether to update working copy POM versions.
 310  
      *           
 311  
      */
 312  998
     private boolean updateWorkingCopyVersions = true;
 313  
 
 314  
     /**
 315  
      * 
 316  
      *             Whether to update branch versions to SNAPSHOT.
 317  
      *           
 318  
      */
 319  998
     private boolean updateVersionsToSnapshot = false;
 320  
 
 321  
     /**
 322  
      * 
 323  
      *             Whether to suppress a commit of changes to the
 324  
      * working copy before a tag or branch is created.
 325  
      *           
 326  
      */
 327  998
     private boolean suppressCommitBeforeTagOrBranch = false;
 328  
 
 329  
     /**
 330  
      * 
 331  
      *             Wait the specified number of seconds before
 332  
      * creating a tag.
 333  
      *           
 334  
      */
 335  998
     private int waitBeforeTagging = 0;
 336  
 
 337  
     /**
 338  
      * 
 339  
      *             Should timestamped SNAPSHOT dependencies be
 340  
      * allowed?  Default is to fail when any SNAPSHOT
 341  
      *               dependency is found.
 342  
      *           
 343  
      */
 344  998
     private boolean allowTimestampedSnapshots = false;
 345  
 
 346  
     /**
 347  
      * 
 348  
      *             Default version to use for the tagged release or
 349  
      * the new branch.
 350  
      *           
 351  
      */
 352  
     private String defaultReleaseVersion;
 353  
 
 354  
     /**
 355  
      * 
 356  
      *             Default version to use for new working copy.
 357  
      *           
 358  
      */
 359  
     private String defaultDevelopmentVersion;
 360  
 
 361  
     /**
 362  
      * 
 363  
      *             NOTE : currently only implemented with svn scm.
 364  
      * Enable a workaround to prevent issue due to svn client >
 365  
      * 1.5.0
 366  
      *             (http://jira.codehaus.org/browse/SCM-406)
 367  
      *           .
 368  
      */
 369  998
     private boolean remoteTagging = false;
 370  
 
 371  
     /**
 372  
      * 
 373  
      *             NOTE : currently only implemented with svn scm.
 374  
      * It contains the revision of the committed released pom to
 375  
      * remotely tag
 376  
      *             the source code with this revision.
 377  
      *           
 378  
      */
 379  
     private String scmReleasedPomRevision;
 380  
 
 381  
     /**
 382  
      * 
 383  
      *             Should distributed changes be pushed to the
 384  
      * central repository?
 385  
      *             For many distributed SCMs like Git, a change
 386  
      * like a commit is only stored in your local copy of the
 387  
      * repository.
 388  
      *             Pushing the change allows your to more easily
 389  
      * share it with other users.
 390  
      *           
 391  
      */
 392  998
     private boolean pushChanges = true;
 393  
 
 394  
     /**
 395  
      * 
 396  
      *             If the scm provider should use local checkouts
 397  
      * via file://${basedir}
 398  
      *             instead of doing a clean checkout over the
 399  
      * network.
 400  
      *             This is very helpful for releasing large
 401  
      * projects!
 402  
      *           
 403  
      */
 404  998
     private boolean localCheckout = false;
 405  
 
 406  
     /**
 407  
      * 
 408  
      *             Specifies the format for generating a tag name.
 409  
      * Property expansion is
 410  
      *             used with the optional prefix of project, where
 411  
      * properties are delimited
 412  
      *             with @{ and }
 413  
      *           .
 414  
      */
 415  
     private String scmTagNameFormat;
 416  
 
 417  
     /**
 418  
      * Field modelEncoding.
 419  
      */
 420  998
     private String modelEncoding = "UTF-8";
 421  
 
 422  
 
 423  
       //-----------/
 424  
      //- Methods -/
 425  
     //-----------/
 426  
 
 427  
     /**
 428  
      * Method addCheckModificationExclude.
 429  
      * 
 430  
      * @param string
 431  
      */
 432  
     public void addCheckModificationExclude( String string )
 433  
     {
 434  0
         getCheckModificationExcludes().add( string );
 435  0
     } //-- void addCheckModificationExclude( String )
 436  
 
 437  
     /**
 438  
      * Method addDevelopmentVersion.
 439  
      * 
 440  
      * @param key
 441  
      * @param value
 442  
      */
 443  
     public void addDevelopmentVersion( Object key, String value )
 444  
     {
 445  6
         getDevelopmentVersions().put( key, value );
 446  6
     } //-- void addDevelopmentVersion( Object, String )
 447  
 
 448  
     /**
 449  
      * Method addOriginalScmInfo.
 450  
      * 
 451  
      * @param key
 452  
      * @param value
 453  
      */
 454  
     public void addOriginalScmInfo( Object key, String value )
 455  
     {
 456  0
         getOriginalScmInfo().put( key, value );
 457  0
     } //-- void addOriginalScmInfo( Object, String )
 458  
 
 459  
     /**
 460  
      * Method addReleaseVersion.
 461  
      * 
 462  
      * @param key
 463  
      * @param value
 464  
      */
 465  
     public void addReleaseVersion( Object key, String value )
 466  
     {
 467  6
         getReleaseVersions().put( key, value );
 468  6
     } //-- void addReleaseVersion( Object, String )
 469  
 
 470  
     /**
 471  
      * Method addResolvedSnapshotDependency.
 472  
      * 
 473  
      * @param key
 474  
      * @param value
 475  
      */
 476  
     public void addResolvedSnapshotDependency( Object key, String value )
 477  
     {
 478  0
         getResolvedSnapshotDependencies().put( key, value );
 479  0
     } //-- void addResolvedSnapshotDependency( Object, String )
 480  
 
 481  
     /**
 482  
      * Get additional arguments to pass to any executed Maven
 483  
      * process.
 484  
      * 
 485  
      * @return String
 486  
      */
 487  
     public String getAdditionalArguments()
 488  
     {
 489  198
         return this.additionalArguments;
 490  
     } //-- String getAdditionalArguments()
 491  
 
 492  
     /**
 493  
      * Method getCheckModificationExcludes.
 494  
      * 
 495  
      * @return List
 496  
      */
 497  
     public java.util.List<String> getCheckModificationExcludes()
 498  
     {
 499  110
         if ( this.checkModificationExcludes == null )
 500  
         {
 501  80
             this.checkModificationExcludes = new java.util.ArrayList<String>();
 502  
         }
 503  
 
 504  110
         return this.checkModificationExcludes;
 505  
     } //-- java.util.List<String> getCheckModificationExcludes()
 506  
 
 507  
     /**
 508  
      * Get the directory where the tag will be checked out.
 509  
      * 
 510  
      * @return String
 511  
      */
 512  
     public String getCheckoutDirectory()
 513  
     {
 514  192
         return this.checkoutDirectory;
 515  
     } //-- String getCheckoutDirectory()
 516  
 
 517  
     /**
 518  
      * Get the last completed phase.
 519  
      * 
 520  
      * @return String
 521  
      */
 522  
     public String getCompletedPhase()
 523  
     {
 524  210
         return this.completedPhase;
 525  
     } //-- String getCompletedPhase()
 526  
 
 527  
     /**
 528  
      * Get the goals to execute in on completion of preparation for
 529  
      * the release.
 530  
      * 
 531  
      * @return String
 532  
      */
 533  
     public String getCompletionGoals()
 534  
     {
 535  164
         return this.completionGoals;
 536  
     } //-- String getCompletionGoals()
 537  
 
 538  
     /**
 539  
      * Get default version to use for new working copy.
 540  
      * 
 541  
      * @return String
 542  
      */
 543  
     public String getDefaultDevelopmentVersion()
 544  
     {
 545  172
         return this.defaultDevelopmentVersion;
 546  
     } //-- String getDefaultDevelopmentVersion()
 547  
 
 548  
     /**
 549  
      * Get default version to use for the tagged release or the new
 550  
      * branch.
 551  
      * 
 552  
      * @return String
 553  
      */
 554  
     public String getDefaultReleaseVersion()
 555  
     {
 556  172
         return this.defaultReleaseVersion;
 557  
     } //-- String getDefaultReleaseVersion()
 558  
 
 559  
     /**
 560  
      * Get the description of this release configuration.
 561  
      * 
 562  
      * @return String
 563  
      */
 564  
     public String getDescription()
 565  
     {
 566  0
         return this.description;
 567  
     } //-- String getDescription()
 568  
 
 569  
     /**
 570  
      * Method getDevelopmentVersions.
 571  
      * 
 572  
      * @return Map
 573  
      */
 574  
     public java.util.Map getDevelopmentVersions()
 575  
     {
 576  580
         if ( this.developmentVersions == null )
 577  
         {
 578  166
             this.developmentVersions = new java.util.HashMap();
 579  
         }
 580  
 
 581  580
         return this.developmentVersions;
 582  
     } //-- java.util.Map getDevelopmentVersions()
 583  
 
 584  
     /**
 585  
      * Get the modelEncoding field.
 586  
      * 
 587  
      * @return String
 588  
      */
 589  
     public String getModelEncoding()
 590  
     {
 591  0
         return this.modelEncoding;
 592  
     } //-- String getModelEncoding()
 593  
 
 594  
     /**
 595  
      * Get the name of this release configuration.
 596  
      * 
 597  
      * @return String
 598  
      */
 599  
     public String getName()
 600  
     {
 601  0
         return this.name;
 602  
     } //-- String getName()
 603  
 
 604  
     /**
 605  
      * Method getOriginalScmInfo.
 606  
      * 
 607  
      * @return Map
 608  
      */
 609  
     public java.util.Map getOriginalScmInfo()
 610  
     {
 611  184
         if ( this.originalScmInfo == null )
 612  
         {
 613  22
             this.originalScmInfo = new java.util.HashMap();
 614  
         }
 615  
 
 616  184
         return this.originalScmInfo;
 617  
     } //-- java.util.Map getOriginalScmInfo()
 618  
 
 619  
     /**
 620  
      * Get the goals to execute in perform phase for the release.
 621  
      * 
 622  
      * @return String
 623  
      */
 624  
     public String getPerformGoals()
 625  
     {
 626  148
         return this.performGoals;
 627  
     } //-- String getPerformGoals()
 628  
 
 629  
     /**
 630  
      * Get the file name of the POM to pass to any executed Maven
 631  
      * process.
 632  
      * 
 633  
      * @return String
 634  
      */
 635  
     public String getPomFileName()
 636  
     {
 637  208
         return this.pomFileName;
 638  
     } //-- String getPomFileName()
 639  
 
 640  
     /**
 641  
      * Get the goals to execute in preparation for the release.
 642  
      * 
 643  
      * @return String
 644  
      */
 645  
     public String getPreparationGoals()
 646  
     {
 647  172
         return this.preparationGoals;
 648  
     } //-- String getPreparationGoals()
 649  
 
 650  
     /**
 651  
      * Method getReleaseVersions.
 652  
      * 
 653  
      * @return Map
 654  
      */
 655  
     public java.util.Map getReleaseVersions()
 656  
     {
 657  1042
         if ( this.releaseVersions == null )
 658  
         {
 659  174
             this.releaseVersions = new java.util.HashMap();
 660  
         }
 661  
 
 662  1042
         return this.releaseVersions;
 663  
     } //-- java.util.Map getReleaseVersions()
 664  
 
 665  
     /**
 666  
      * Method getResolvedSnapshotDependencies.
 667  
      * 
 668  
      * @return Map
 669  
      */
 670  
     public java.util.Map getResolvedSnapshotDependencies()
 671  
     {
 672  612
         if ( this.resolvedSnapshotDependencies == null )
 673  
         {
 674  262
             this.resolvedSnapshotDependencies = new java.util.HashMap();
 675  
         }
 676  
 
 677  612
         return this.resolvedSnapshotDependencies;
 678  
     } //-- java.util.Map getResolvedSnapshotDependencies()
 679  
 
 680  
     /**
 681  
      * Get where you are going to put your branched sources
 682  
      *             Example
 683  
      * https://svn.apache.org/repos/asf/maven/plugins/branches.
 684  
      * 
 685  
      * @return String
 686  
      */
 687  
     public String getScmBranchBase()
 688  
     {
 689  720
         return this.scmBranchBase;
 690  
     } //-- String getScmBranchBase()
 691  
 
 692  
     /**
 693  
      * Get the prefix of SCM modification messages.
 694  
      * 
 695  
      * @return String
 696  
      */
 697  
     public String getScmCommentPrefix()
 698  
     {
 699  322
         return this.ScmCommentPrefix;
 700  
     } //-- String getScmCommentPrefix()
 701  
 
 702  
     /**
 703  
      * Get the id can be used to get the credentials by the
 704  
      * server-id from the settings.xml.
 705  
      * 
 706  
      * @return String
 707  
      */
 708  
     public String getScmId()
 709  
     {
 710  158
         return this.scmId;
 711  
     } //-- String getScmId()
 712  
 
 713  
     /**
 714  
      * Get the password for the user interacting with the scm.
 715  
      * 
 716  
      * @return String
 717  
      */
 718  
     public String getScmPassword()
 719  
     {
 720  972
         return this.scmPassword;
 721  
     } //-- String getScmPassword()
 722  
 
 723  
     /**
 724  
      * Get private key for an SSH based SCM repository.
 725  
      * 
 726  
      * @return String
 727  
      */
 728  
     public String getScmPrivateKey()
 729  
     {
 730  972
         return this.scmPrivateKey;
 731  
     } //-- String getScmPrivateKey()
 732  
 
 733  
     /**
 734  
      * Get pass phrase for the private key.
 735  
      * 
 736  
      * @return String
 737  
      */
 738  
     public String getScmPrivateKeyPassPhrase()
 739  
     {
 740  972
         return this.scmPrivateKeyPassPhrase;
 741  
     } //-- String getScmPrivateKeyPassPhrase()
 742  
 
 743  
     /**
 744  
      * Get relative path of the project returned by the checkout
 745  
      * command.
 746  
      * 
 747  
      * @return String
 748  
      */
 749  
     public String getScmRelativePathProjectDirectory()
 750  
     {
 751  54
         return this.scmRelativePathProjectDirectory;
 752  
     } //-- String getScmRelativePathProjectDirectory()
 753  
 
 754  
     /**
 755  
      * Get tag name: the identifier for the tag.
 756  
      *             Example: maven-release-plugin-2.0.
 757  
      * 
 758  
      * @return String
 759  
      */
 760  
     public String getScmReleaseLabel()
 761  
     {
 762  442
         return this.scmReleaseLabel;
 763  
     } //-- String getScmReleaseLabel()
 764  
 
 765  
     /**
 766  
      * Get nOTE : currently only implemented with svn scm. It
 767  
      * contains the revision of the committed released pom to
 768  
      * remotely tag
 769  
      *             the source code with this revision.
 770  
      * 
 771  
      * @return String
 772  
      */
 773  
     public String getScmReleasedPomRevision()
 774  
     {
 775  12
         return this.scmReleasedPomRevision;
 776  
     } //-- String getScmReleasedPomRevision()
 777  
 
 778  
     /**
 779  
      * Get this is a MavenSCM of where you're going to get the
 780  
      * sources to make the release with.
 781  
      *             Example:
 782  
      * scm:svn:https://svn.apache.org/repos/asf/maven/plugins/trunk/maven-release-plugin.
 783  
      * 
 784  
      * @return String
 785  
      */
 786  
     public String getScmSourceUrl()
 787  
     {
 788  1112
         return this.scmSourceUrl;
 789  
     } //-- String getScmSourceUrl()
 790  
 
 791  
     /**
 792  
      * Get where you are going to put your tagged sources
 793  
      *             Example
 794  
      * https://svn.apache.org/repos/asf/maven/plugins/tags.
 795  
      * 
 796  
      * @return String
 797  
      */
 798  
     public String getScmTagBase()
 799  
     {
 800  826
         return this.scmTagBase;
 801  
     } //-- String getScmTagBase()
 802  
 
 803  
     /**
 804  
      * Get specifies the format for generating a tag name. Property
 805  
      * expansion is
 806  
      *             used with the optional prefix of project, where
 807  
      * properties are delimited
 808  
      *             with @{ and }.
 809  
      * 
 810  
      * @return String
 811  
      */
 812  
     public String getScmTagNameFormat()
 813  
     {
 814  164
         return this.scmTagNameFormat;
 815  
     } //-- String getScmTagNameFormat()
 816  
 
 817  
     /**
 818  
      * Get the user name to interact with the scm.
 819  
      * 
 820  
      * @return String
 821  
      */
 822  
     public String getScmUsername()
 823  
     {
 824  972
         return this.scmUsername;
 825  
     } //-- String getScmUsername()
 826  
 
 827  
     /**
 828  
      * Get wait the specified number of seconds before creating a
 829  
      * tag.
 830  
      * 
 831  
      * @return int
 832  
      */
 833  
     public int getWaitBeforeTagging()
 834  
     {
 835  82
         return this.waitBeforeTagging;
 836  
     } //-- int getWaitBeforeTagging()
 837  
 
 838  
     /**
 839  
      * Get the directory where the release is performed.
 840  
      * 
 841  
      * @return String
 842  
      */
 843  
     public String getWorkingDirectory()
 844  
     {
 845  378
         return this.workingDirectory;
 846  
     } //-- String getWorkingDirectory()
 847  
 
 848  
     /**
 849  
      * Get whether to add the model schema to the top of the
 850  
      * rewritten POM if it wasn't there already.
 851  
      *             If <code>false</code> then the root element will
 852  
      * remain untouched.
 853  
      * 
 854  
      * @return boolean
 855  
      */
 856  
     public boolean isAddSchema()
 857  
     {
 858  588
         return this.addSchema;
 859  
     } //-- boolean isAddSchema()
 860  
 
 861  
     /**
 862  
      * Get should timestamped SNAPSHOT dependencies be allowed? 
 863  
      * Default is to fail when any SNAPSHOT
 864  
      *               dependency is found.
 865  
      * 
 866  
      * @return boolean
 867  
      */
 868  
     public boolean isAllowTimestampedSnapshots()
 869  
     {
 870  318
         return this.allowTimestampedSnapshots;
 871  
     } //-- boolean isAllowTimestampedSnapshots()
 872  
 
 873  
     /**
 874  
      * Get whether to use the parent pom version for submodule
 875  
      * versions.
 876  
      * 
 877  
      * @return boolean
 878  
      */
 879  
     public boolean isAutoVersionSubmodules()
 880  
     {
 881  114
         return this.autoVersionSubmodules;
 882  
     } //-- boolean isAutoVersionSubmodules()
 883  
 
 884  
     /**
 885  
      * Get whether to create a branch instead of do a release.
 886  
      * 
 887  
      * @return boolean
 888  
      */
 889  
     public boolean isBranchCreation()
 890  
     {
 891  114
         return this.branchCreation;
 892  
     } //-- boolean isBranchCreation()
 893  
 
 894  
     /**
 895  
      * Get the commits must be done by modules or not. Set it to
 896  
      * true in case of flat directory structure.
 897  
      * 
 898  
      * @return boolean
 899  
      */
 900  
     public boolean isCommitByProject()
 901  
     {
 902  180
         return this.commitByProject;
 903  
     } //-- boolean isCommitByProject()
 904  
 
 905  
     /**
 906  
      * Get whether to generate release POMs.
 907  
      * 
 908  
      * @return boolean
 909  
      */
 910  
     public boolean isGenerateReleasePoms()
 911  
     {
 912  180
         return this.generateReleasePoms;
 913  
     } //-- boolean isGenerateReleasePoms()
 914  
 
 915  
     /**
 916  
      * Get whether the release process is interactive and the
 917  
      * release manager should be prompted to
 918  
      *             confirm values, or whether the defaults are used
 919  
      * regardless.
 920  
      * 
 921  
      * @return boolean
 922  
      */
 923  
     public boolean isInteractive()
 924  
     {
 925  288
         return this.interactive;
 926  
     } //-- boolean isInteractive()
 927  
 
 928  
     /**
 929  
      * Get if the scm provider should use local checkouts via
 930  
      * file://${basedir}
 931  
      *             instead of doing a clean checkout over the
 932  
      * network.
 933  
      *             This is very helpful for releasing large
 934  
      * projects!
 935  
      * 
 936  
      * @return boolean
 937  
      */
 938  
     public boolean isLocalCheckout()
 939  
     {
 940  112
         return this.localCheckout;
 941  
     } //-- boolean isLocalCheckout()
 942  
 
 943  
     /**
 944  
      * Get should distributed changes be pushed to the central
 945  
      * repository?
 946  
      *             For many distributed SCMs like Git, a change
 947  
      * like a commit is only stored in your local copy of the
 948  
      * repository.
 949  
      *             Pushing the change allows your to more easily
 950  
      * share it with other users.
 951  
      * 
 952  
      * @return boolean
 953  
      */
 954  
     public boolean isPushChanges()
 955  
     {
 956  106
         return this.pushChanges;
 957  
     } //-- boolean isPushChanges()
 958  
 
 959  
     /**
 960  
      * Get nOTE : currently only implemented with svn scm. Enable a
 961  
      * workaround to prevent issue due to svn client > 1.5.0
 962  
      *             (http://jira.codehaus.org/browse/SCM-406).
 963  
      * 
 964  
      * @return boolean
 965  
      */
 966  
     public boolean isRemoteTagging()
 967  
     {
 968  108
         return this.remoteTagging;
 969  
     } //-- boolean isRemoteTagging()
 970  
 
 971  
     /**
 972  
      * Get whether to use edit mode when making SCM modifications.
 973  
      * This setting is disregarded
 974  
      *             if the SCM does not support edit mode, or if
 975  
      * edit mode is compulsory for the given SCM.
 976  
      * 
 977  
      * @return boolean
 978  
      */
 979  
     public boolean isScmUseEditMode()
 980  
     {
 981  572
         return this.scmUseEditMode;
 982  
     } //-- boolean isScmUseEditMode()
 983  
 
 984  
     /**
 985  
      * Get whether a SNAPSHOT of the release plugin is allowed.
 986  
      * 
 987  
      * @return boolean
 988  
      */
 989  
     public boolean isSnapshotReleasePluginAllowed()
 990  
     {
 991  114
         return this.snapshotReleasePluginAllowed;
 992  
     } //-- boolean isSnapshotReleasePluginAllowed()
 993  
 
 994  
     /**
 995  
      * Get whether to suppress a commit of changes to the working
 996  
      * copy before a tag or branch is created.
 997  
      * 
 998  
      * @return boolean
 999  
      */
 1000  
     public boolean isSuppressCommitBeforeTagOrBranch()
 1001  
     {
 1002  112
         return this.suppressCommitBeforeTagOrBranch;
 1003  
     } //-- boolean isSuppressCommitBeforeTagOrBranch()
 1004  
 
 1005  
     /**
 1006  
      * Get whether to update branch POM versions.
 1007  
      * 
 1008  
      * @return boolean
 1009  
      */
 1010  
     public boolean isUpdateBranchVersions()
 1011  
     {
 1012  66
         return this.updateBranchVersions;
 1013  
     } //-- boolean isUpdateBranchVersions()
 1014  
 
 1015  
     /**
 1016  
      * Get if updateDependencies is false, dependencies version
 1017  
      * won't be updated to the next development version.
 1018  
      * 
 1019  
      * @return boolean
 1020  
      */
 1021  
     public boolean isUpdateDependencies()
 1022  
     {
 1023  188
         return this.updateDependencies;
 1024  
     } //-- boolean isUpdateDependencies()
 1025  
 
 1026  
     /**
 1027  
      * Get whether to update branch versions to SNAPSHOT.
 1028  
      * 
 1029  
      * @return boolean
 1030  
      */
 1031  
     public boolean isUpdateVersionsToSnapshot()
 1032  
     {
 1033  66
         return this.updateVersionsToSnapshot;
 1034  
     } //-- boolean isUpdateVersionsToSnapshot()
 1035  
 
 1036  
     /**
 1037  
      * Get whether to update working copy POM versions.
 1038  
      * 
 1039  
      * @return boolean
 1040  
      */
 1041  
     public boolean isUpdateWorkingCopyVersions()
 1042  
     {
 1043  98
         return this.updateWorkingCopyVersions;
 1044  
     } //-- boolean isUpdateWorkingCopyVersions()
 1045  
 
 1046  
     /**
 1047  
      * Get whether to use the release profile that adds sources and
 1048  
      * javadocs to the released artifact, if appropriate.
 1049  
      *             If set to true, this will set the property
 1050  
      * "performRelease" to true.
 1051  
      * 
 1052  
      * @return boolean
 1053  
      */
 1054  
     public boolean isUseReleaseProfile()
 1055  
     {
 1056  82
         return this.useReleaseProfile;
 1057  
     } //-- boolean isUseReleaseProfile()
 1058  
 
 1059  
     /**
 1060  
      * Method removeCheckModificationExclude.
 1061  
      * 
 1062  
      * @param string
 1063  
      */
 1064  
     public void removeCheckModificationExclude( String string )
 1065  
     {
 1066  0
         getCheckModificationExcludes().remove( string );
 1067  0
     } //-- void removeCheckModificationExclude( String )
 1068  
 
 1069  
     /**
 1070  
      * Set whether to add the model schema to the top of the
 1071  
      * rewritten POM if it wasn't there already.
 1072  
      *             If <code>false</code> then the root element will
 1073  
      * remain untouched.
 1074  
      * 
 1075  
      * @param addSchema
 1076  
      */
 1077  
     public void setAddSchema( boolean addSchema )
 1078  
     {
 1079  98
         this.addSchema = addSchema;
 1080  98
     } //-- void setAddSchema( boolean )
 1081  
 
 1082  
     /**
 1083  
      * Set additional arguments to pass to any executed Maven
 1084  
      * process.
 1085  
      * 
 1086  
      * @param additionalArguments
 1087  
      */
 1088  
     public void setAdditionalArguments( String additionalArguments )
 1089  
     {
 1090  278
         this.additionalArguments = additionalArguments;
 1091  278
     } //-- void setAdditionalArguments( String )
 1092  
 
 1093  
     /**
 1094  
      * Set should timestamped SNAPSHOT dependencies be allowed? 
 1095  
      * Default is to fail when any SNAPSHOT
 1096  
      *               dependency is found.
 1097  
      * 
 1098  
      * @param allowTimestampedSnapshots
 1099  
      */
 1100  
     public void setAllowTimestampedSnapshots( boolean allowTimestampedSnapshots )
 1101  
     {
 1102  68
         this.allowTimestampedSnapshots = allowTimestampedSnapshots;
 1103  68
     } //-- void setAllowTimestampedSnapshots( boolean )
 1104  
 
 1105  
     /**
 1106  
      * Set whether to use the parent pom version for submodule
 1107  
      * versions.
 1108  
      * 
 1109  
      * @param autoVersionSubmodules
 1110  
      */
 1111  
     public void setAutoVersionSubmodules( boolean autoVersionSubmodules )
 1112  
     {
 1113  66
         this.autoVersionSubmodules = autoVersionSubmodules;
 1114  66
     } //-- void setAutoVersionSubmodules( boolean )
 1115  
 
 1116  
     /**
 1117  
      * Set whether to create a branch instead of do a release.
 1118  
      * 
 1119  
      * @param branchCreation
 1120  
      */
 1121  
     public void setBranchCreation( boolean branchCreation )
 1122  
     {
 1123  68
         this.branchCreation = branchCreation;
 1124  68
     } //-- void setBranchCreation( boolean )
 1125  
 
 1126  
     /**
 1127  
      * Set in some exceptions you want to allow changes to the
 1128  
      * working copy. Changes
 1129  
      *             to files listed here will not make the
 1130  
      * ScmCheckModificationsPhase fail.
 1131  
      * 
 1132  
      * @param checkModificationExcludes
 1133  
      */
 1134  
     public void setCheckModificationExcludes( java.util.List<String> checkModificationExcludes )
 1135  
     {
 1136  70
         this.checkModificationExcludes = checkModificationExcludes;
 1137  70
     } //-- void setCheckModificationExcludes( java.util.List )
 1138  
 
 1139  
     /**
 1140  
      * Set the directory where the tag will be checked out.
 1141  
      * 
 1142  
      * @param checkoutDirectory
 1143  
      */
 1144  
     public void setCheckoutDirectory( String checkoutDirectory )
 1145  
     {
 1146  92
         this.checkoutDirectory = checkoutDirectory;
 1147  92
     } //-- void setCheckoutDirectory( String )
 1148  
 
 1149  
     /**
 1150  
      * Set the commits must be done by modules or not. Set it to
 1151  
      * true in case of flat directory structure.
 1152  
      * 
 1153  
      * @param commitByProject
 1154  
      */
 1155  
     public void setCommitByProject( boolean commitByProject )
 1156  
     {
 1157  120
         this.commitByProject = commitByProject;
 1158  120
     } //-- void setCommitByProject( boolean )
 1159  
 
 1160  
     /**
 1161  
      * Set the last completed phase.
 1162  
      * 
 1163  
      * @param completedPhase
 1164  
      */
 1165  
     public void setCompletedPhase( String completedPhase )
 1166  
     {
 1167  342
         this.completedPhase = completedPhase;
 1168  342
     } //-- void setCompletedPhase( String )
 1169  
 
 1170  
     /**
 1171  
      * Set the goals to execute in on completion of preparation for
 1172  
      * the release.
 1173  
      * 
 1174  
      * @param completionGoals
 1175  
      */
 1176  
     public void setCompletionGoals( String completionGoals )
 1177  
     {
 1178  114
         this.completionGoals = completionGoals;
 1179  114
     } //-- void setCompletionGoals( String )
 1180  
 
 1181  
     /**
 1182  
      * Set default version to use for new working copy.
 1183  
      * 
 1184  
      * @param defaultDevelopmentVersion
 1185  
      */
 1186  
     public void setDefaultDevelopmentVersion( String defaultDevelopmentVersion )
 1187  
     {
 1188  66
         this.defaultDevelopmentVersion = defaultDevelopmentVersion;
 1189  66
     } //-- void setDefaultDevelopmentVersion( String )
 1190  
 
 1191  
     /**
 1192  
      * Set default version to use for the tagged release or the new
 1193  
      * branch.
 1194  
      * 
 1195  
      * @param defaultReleaseVersion
 1196  
      */
 1197  
     public void setDefaultReleaseVersion( String defaultReleaseVersion )
 1198  
     {
 1199  66
         this.defaultReleaseVersion = defaultReleaseVersion;
 1200  66
     } //-- void setDefaultReleaseVersion( String )
 1201  
 
 1202  
     /**
 1203  
      * Set the description of this release configuration.
 1204  
      * 
 1205  
      * @param description
 1206  
      */
 1207  
     public void setDescription( String description )
 1208  
     {
 1209  0
         this.description = description;
 1210  0
     } //-- void setDescription( String )
 1211  
 
 1212  
     /**
 1213  
      * Set a map of projects to versions to use when moving the
 1214  
      * given projects back into development after release.
 1215  
      * 
 1216  
      * @param developmentVersions
 1217  
      */
 1218  
     public void setDevelopmentVersions( java.util.Map developmentVersions )
 1219  
     {
 1220  0
         this.developmentVersions = developmentVersions;
 1221  0
     } //-- void setDevelopmentVersions( java.util.Map )
 1222  
 
 1223  
     /**
 1224  
      * Set whether to generate release POMs.
 1225  
      * 
 1226  
      * @param generateReleasePoms
 1227  
      */
 1228  
     public void setGenerateReleasePoms( boolean generateReleasePoms )
 1229  
     {
 1230  168
         this.generateReleasePoms = generateReleasePoms;
 1231  168
     } //-- void setGenerateReleasePoms( boolean )
 1232  
 
 1233  
     /**
 1234  
      * Set whether the release process is interactive and the
 1235  
      * release manager should be prompted to
 1236  
      *             confirm values, or whether the defaults are used
 1237  
      * regardless.
 1238  
      * 
 1239  
      * @param interactive
 1240  
      */
 1241  
     public void setInteractive( boolean interactive )
 1242  
     {
 1243  128
         this.interactive = interactive;
 1244  128
     } //-- void setInteractive( boolean )
 1245  
 
 1246  
     /**
 1247  
      * Set if the scm provider should use local checkouts via
 1248  
      * file://${basedir}
 1249  
      *             instead of doing a clean checkout over the
 1250  
      * network.
 1251  
      *             This is very helpful for releasing large
 1252  
      * projects!
 1253  
      * 
 1254  
      * @param localCheckout
 1255  
      */
 1256  
     public void setLocalCheckout( boolean localCheckout )
 1257  
     {
 1258  66
         this.localCheckout = localCheckout;
 1259  66
     } //-- void setLocalCheckout( boolean )
 1260  
 
 1261  
     /**
 1262  
      * Set the modelEncoding field.
 1263  
      * 
 1264  
      * @param modelEncoding
 1265  
      */
 1266  
     public void setModelEncoding( String modelEncoding )
 1267  
     {
 1268  0
         this.modelEncoding = modelEncoding;
 1269  0
     } //-- void setModelEncoding( String )
 1270  
 
 1271  
     /**
 1272  
      * Set the name of this release configuration.
 1273  
      * 
 1274  
      * @param name
 1275  
      */
 1276  
     public void setName( String name )
 1277  
     {
 1278  0
         this.name = name;
 1279  0
     } //-- void setName( String )
 1280  
 
 1281  
     /**
 1282  
      * Set a map of projects to original SCM information.
 1283  
      * 
 1284  
      * @param originalScmInfo
 1285  
      */
 1286  
     public void setOriginalScmInfo( java.util.Map originalScmInfo )
 1287  
     {
 1288  0
         this.originalScmInfo = originalScmInfo;
 1289  0
     } //-- void setOriginalScmInfo( java.util.Map )
 1290  
 
 1291  
     /**
 1292  
      * Set the goals to execute in perform phase for the release.
 1293  
      * 
 1294  
      * @param performGoals
 1295  
      */
 1296  
     public void setPerformGoals( String performGoals )
 1297  
     {
 1298  80
         this.performGoals = performGoals;
 1299  80
     } //-- void setPerformGoals( String )
 1300  
 
 1301  
     /**
 1302  
      * Set the file name of the POM to pass to any executed Maven
 1303  
      * process.
 1304  
      * 
 1305  
      * @param pomFileName
 1306  
      */
 1307  
     public void setPomFileName( String pomFileName )
 1308  
     {
 1309  276
         this.pomFileName = pomFileName;
 1310  276
     } //-- void setPomFileName( String )
 1311  
 
 1312  
     /**
 1313  
      * Set the goals to execute in preparation for the release.
 1314  
      * 
 1315  
      * @param preparationGoals
 1316  
      */
 1317  
     public void setPreparationGoals( String preparationGoals )
 1318  
     {
 1319  284
         this.preparationGoals = preparationGoals;
 1320  284
     } //-- void setPreparationGoals( String )
 1321  
 
 1322  
     /**
 1323  
      * Set should distributed changes be pushed to the central
 1324  
      * repository?
 1325  
      *             For many distributed SCMs like Git, a change
 1326  
      * like a commit is only stored in your local copy of the
 1327  
      * repository.
 1328  
      *             Pushing the change allows your to more easily
 1329  
      * share it with other users.
 1330  
      * 
 1331  
      * @param pushChanges
 1332  
      */
 1333  
     public void setPushChanges( boolean pushChanges )
 1334  
     {
 1335  90
         this.pushChanges = pushChanges;
 1336  90
     } //-- void setPushChanges( boolean )
 1337  
 
 1338  
     /**
 1339  
      * Set a map of projects to versions to use when releasing the
 1340  
      * given projects.
 1341  
      * 
 1342  
      * @param releaseVersions
 1343  
      */
 1344  
     public void setReleaseVersions( java.util.Map releaseVersions )
 1345  
     {
 1346  0
         this.releaseVersions = releaseVersions;
 1347  0
     } //-- void setReleaseVersions( java.util.Map )
 1348  
 
 1349  
     /**
 1350  
      * Set nOTE : currently only implemented with svn scm. Enable a
 1351  
      * workaround to prevent issue due to svn client > 1.5.0
 1352  
      *             (http://jira.codehaus.org/browse/SCM-406).
 1353  
      * 
 1354  
      * @param remoteTagging
 1355  
      */
 1356  
     public void setRemoteTagging( boolean remoteTagging )
 1357  
     {
 1358  96
         this.remoteTagging = remoteTagging;
 1359  96
     } //-- void setRemoteTagging( boolean )
 1360  
 
 1361  
     /**
 1362  
      * Set a map of resolved snapshot dependencies versions.
 1363  
      * 
 1364  
      * @param resolvedSnapshotDependencies
 1365  
      */
 1366  
     public void setResolvedSnapshotDependencies( java.util.Map resolvedSnapshotDependencies )
 1367  
     {
 1368  24
         this.resolvedSnapshotDependencies = resolvedSnapshotDependencies;
 1369  24
     } //-- void setResolvedSnapshotDependencies( java.util.Map )
 1370  
 
 1371  
     /**
 1372  
      * Set where you are going to put your branched sources
 1373  
      *             Example
 1374  
      * https://svn.apache.org/repos/asf/maven/plugins/branches.
 1375  
      * 
 1376  
      * @param scmBranchBase
 1377  
      */
 1378  
     public void setScmBranchBase( String scmBranchBase )
 1379  
     {
 1380  104
         this.scmBranchBase = scmBranchBase;
 1381  104
     } //-- void setScmBranchBase( String )
 1382  
 
 1383  
     /**
 1384  
      * Set the prefix of SCM modification messages.
 1385  
      * 
 1386  
      * @param ScmCommentPrefix
 1387  
      */
 1388  
     public void setScmCommentPrefix( String ScmCommentPrefix )
 1389  
     {
 1390  164
         this.ScmCommentPrefix = ScmCommentPrefix;
 1391  164
     } //-- void setScmCommentPrefix( String )
 1392  
 
 1393  
     /**
 1394  
      * Set the id can be used to get the credentials by the
 1395  
      * server-id from the settings.xml.
 1396  
      * 
 1397  
      * @param scmId
 1398  
      */
 1399  
     public void setScmId( String scmId )
 1400  
     {
 1401  116
         this.scmId = scmId;
 1402  116
     } //-- void setScmId( String )
 1403  
 
 1404  
     /**
 1405  
      * Set the password for the user interacting with the scm.
 1406  
      * 
 1407  
      * @param scmPassword
 1408  
      */
 1409  
     public void setScmPassword( String scmPassword )
 1410  
     {
 1411  276
         this.scmPassword = scmPassword;
 1412  276
     } //-- void setScmPassword( String )
 1413  
 
 1414  
     /**
 1415  
      * Set private key for an SSH based SCM repository.
 1416  
      * 
 1417  
      * @param scmPrivateKey
 1418  
      */
 1419  
     public void setScmPrivateKey( String scmPrivateKey )
 1420  
     {
 1421  274
         this.scmPrivateKey = scmPrivateKey;
 1422  274
     } //-- void setScmPrivateKey( String )
 1423  
 
 1424  
     /**
 1425  
      * Set pass phrase for the private key.
 1426  
      * 
 1427  
      * @param scmPrivateKeyPassPhrase
 1428  
      */
 1429  
     public void setScmPrivateKeyPassPhrase( String scmPrivateKeyPassPhrase )
 1430  
     {
 1431  274
         this.scmPrivateKeyPassPhrase = scmPrivateKeyPassPhrase;
 1432  274
     } //-- void setScmPrivateKeyPassPhrase( String )
 1433  
 
 1434  
     /**
 1435  
      * Set relative path of the project returned by the checkout
 1436  
      * command.
 1437  
      * 
 1438  
      * @param scmRelativePathProjectDirectory
 1439  
      */
 1440  
     public void setScmRelativePathProjectDirectory( String scmRelativePathProjectDirectory )
 1441  
     {
 1442  20
         this.scmRelativePathProjectDirectory = scmRelativePathProjectDirectory;
 1443  20
     } //-- void setScmRelativePathProjectDirectory( String )
 1444  
 
 1445  
     /**
 1446  
      * Set tag name: the identifier for the tag.
 1447  
      *             Example: maven-release-plugin-2.0.
 1448  
      * 
 1449  
      * @param scmReleaseLabel
 1450  
      */
 1451  
     public void setScmReleaseLabel( String scmReleaseLabel )
 1452  
     {
 1453  560
         this.scmReleaseLabel = scmReleaseLabel;
 1454  560
     } //-- void setScmReleaseLabel( String )
 1455  
 
 1456  
     /**
 1457  
      * Set nOTE : currently only implemented with svn scm. It
 1458  
      * contains the revision of the committed released pom to
 1459  
      * remotely tag
 1460  
      *             the source code with this revision.
 1461  
      * 
 1462  
      * @param scmReleasedPomRevision
 1463  
      */
 1464  
     public void setScmReleasedPomRevision( String scmReleasedPomRevision )
 1465  
     {
 1466  0
         this.scmReleasedPomRevision = scmReleasedPomRevision;
 1467  0
     } //-- void setScmReleasedPomRevision( String )
 1468  
 
 1469  
     /**
 1470  
      * Set this is a MavenSCM of where you're going to get the
 1471  
      * sources to make the release with.
 1472  
      *             Example:
 1473  
      * scm:svn:https://svn.apache.org/repos/asf/maven/plugins/trunk/maven-release-plugin.
 1474  
      * 
 1475  
      * @param scmSourceUrl
 1476  
      */
 1477  
     public void setScmSourceUrl( String scmSourceUrl )
 1478  
     {
 1479  796
         this.scmSourceUrl = scmSourceUrl;
 1480  796
     } //-- void setScmSourceUrl( String )
 1481  
 
 1482  
     /**
 1483  
      * Set where you are going to put your tagged sources
 1484  
      *             Example
 1485  
      * https://svn.apache.org/repos/asf/maven/plugins/tags.
 1486  
      * 
 1487  
      * @param scmTagBase
 1488  
      */
 1489  
     public void setScmTagBase( String scmTagBase )
 1490  
     {
 1491  282
         this.scmTagBase = scmTagBase;
 1492  282
     } //-- void setScmTagBase( String )
 1493  
 
 1494  
     /**
 1495  
      * Set specifies the format for generating a tag name. Property
 1496  
      * expansion is
 1497  
      *             used with the optional prefix of project, where
 1498  
      * properties are delimited
 1499  
      *             with @{ and }.
 1500  
      * 
 1501  
      * @param scmTagNameFormat
 1502  
      */
 1503  
     public void setScmTagNameFormat( String scmTagNameFormat )
 1504  
     {
 1505  96
         this.scmTagNameFormat = scmTagNameFormat;
 1506  96
     } //-- void setScmTagNameFormat( String )
 1507  
 
 1508  
     /**
 1509  
      * Set whether to use edit mode when making SCM modifications.
 1510  
      * This setting is disregarded
 1511  
      *             if the SCM does not support edit mode, or if
 1512  
      * edit mode is compulsory for the given SCM.
 1513  
      * 
 1514  
      * @param scmUseEditMode
 1515  
      */
 1516  
     public void setScmUseEditMode( boolean scmUseEditMode )
 1517  
     {
 1518  116
         this.scmUseEditMode = scmUseEditMode;
 1519  116
     } //-- void setScmUseEditMode( boolean )
 1520  
 
 1521  
     /**
 1522  
      * Set the user name to interact with the scm.
 1523  
      * 
 1524  
      * @param scmUsername
 1525  
      */
 1526  
     public void setScmUsername( String scmUsername )
 1527  
     {
 1528  280
         this.scmUsername = scmUsername;
 1529  280
     } //-- void setScmUsername( String )
 1530  
 
 1531  
     /**
 1532  
      * Set whether a SNAPSHOT of the release plugin is allowed.
 1533  
      * 
 1534  
      * @param snapshotReleasePluginAllowed
 1535  
      */
 1536  
     public void setSnapshotReleasePluginAllowed( boolean snapshotReleasePluginAllowed )
 1537  
     {
 1538  94
         this.snapshotReleasePluginAllowed = snapshotReleasePluginAllowed;
 1539  94
     } //-- void setSnapshotReleasePluginAllowed( boolean )
 1540  
 
 1541  
     /**
 1542  
      * Set whether to suppress a commit of changes to the working
 1543  
      * copy before a tag or branch is created.
 1544  
      * 
 1545  
      * @param suppressCommitBeforeTagOrBranch
 1546  
      */
 1547  
     public void setSuppressCommitBeforeTagOrBranch( boolean suppressCommitBeforeTagOrBranch )
 1548  
     {
 1549  72
         this.suppressCommitBeforeTagOrBranch = suppressCommitBeforeTagOrBranch;
 1550  72
     } //-- void setSuppressCommitBeforeTagOrBranch( boolean )
 1551  
 
 1552  
     /**
 1553  
      * Set whether to update branch POM versions.
 1554  
      * 
 1555  
      * @param updateBranchVersions
 1556  
      */
 1557  
     public void setUpdateBranchVersions( boolean updateBranchVersions )
 1558  
     {
 1559  66
         this.updateBranchVersions = updateBranchVersions;
 1560  66
     } //-- void setUpdateBranchVersions( boolean )
 1561  
 
 1562  
     /**
 1563  
      * Set if updateDependencies is false, dependencies version
 1564  
      * won't be updated to the next development version.
 1565  
      * 
 1566  
      * @param updateDependencies
 1567  
      */
 1568  
     public void setUpdateDependencies( boolean updateDependencies )
 1569  
     {
 1570  68
         this.updateDependencies = updateDependencies;
 1571  68
     } //-- void setUpdateDependencies( boolean )
 1572  
 
 1573  
     /**
 1574  
      * Set whether to update branch versions to SNAPSHOT.
 1575  
      * 
 1576  
      * @param updateVersionsToSnapshot
 1577  
      */
 1578  
     public void setUpdateVersionsToSnapshot( boolean updateVersionsToSnapshot )
 1579  
     {
 1580  66
         this.updateVersionsToSnapshot = updateVersionsToSnapshot;
 1581  66
     } //-- void setUpdateVersionsToSnapshot( boolean )
 1582  
 
 1583  
     /**
 1584  
      * Set whether to update working copy POM versions.
 1585  
      * 
 1586  
      * @param updateWorkingCopyVersions
 1587  
      */
 1588  
     public void setUpdateWorkingCopyVersions( boolean updateWorkingCopyVersions )
 1589  
     {
 1590  76
         this.updateWorkingCopyVersions = updateWorkingCopyVersions;
 1591  76
     } //-- void setUpdateWorkingCopyVersions( boolean )
 1592  
 
 1593  
     /**
 1594  
      * Set whether to use the release profile that adds sources and
 1595  
      * javadocs to the released artifact, if appropriate.
 1596  
      *             If set to true, this will set the property
 1597  
      * "performRelease" to true.
 1598  
      * 
 1599  
      * @param useReleaseProfile
 1600  
      */
 1601  
     public void setUseReleaseProfile( boolean useReleaseProfile )
 1602  
     {
 1603  80
         this.useReleaseProfile = useReleaseProfile;
 1604  80
     } //-- void setUseReleaseProfile( boolean )
 1605  
 
 1606  
     /**
 1607  
      * Set wait the specified number of seconds before creating a
 1608  
      * tag.
 1609  
      * 
 1610  
      * @param waitBeforeTagging
 1611  
      */
 1612  
     public void setWaitBeforeTagging( int waitBeforeTagging )
 1613  
     {
 1614  66
         this.waitBeforeTagging = waitBeforeTagging;
 1615  66
     } //-- void setWaitBeforeTagging( int )
 1616  
 
 1617  
     /**
 1618  
      * Set the directory where the release is performed.
 1619  
      * 
 1620  
      * @param workingDirectory
 1621  
      */
 1622  
     public void setWorkingDirectory( String workingDirectory )
 1623  
     {
 1624  712
         this.workingDirectory = workingDirectory;
 1625  712
     } //-- void setWorkingDirectory( String )
 1626  
 
 1627  
     
 1628  
     public static final String DEVELOPMENT_KEY = "dev";
 1629  
 
 1630  
     public static final String RELEASE_KEY = "rel";
 1631  
 
 1632  
     public static final String ORIGINAL_VERSION = "original";
 1633  
 
 1634  
     /**
 1635  
      * Map a given snapshot dependency to a specified version from when it is released.
 1636  
      *
 1637  
      */
 1638  
     public void mapResolvedSnapshotDependencies( String artifactName, String releaseVersion, String developmentVersion )
 1639  
     {
 1640  6
         if ( resolvedSnapshotDependencies == null )
 1641  
         {
 1642  6
             resolvedSnapshotDependencies = new java.util.HashMap();
 1643  
         }
 1644  
         else
 1645  
         {
 1646  0
             assert !resolvedSnapshotDependencies.containsKey( artifactName );
 1647  
         }
 1648  
 
 1649  6
         java.util.Map versionsMap = new java.util.HashMap();
 1650  
 
 1651  6
         versionsMap.put( DEVELOPMENT_KEY, developmentVersion );
 1652  6
         versionsMap.put( RELEASE_KEY, releaseVersion );
 1653  6
         resolvedSnapshotDependencies.put( artifactName, versionsMap );
 1654  6
     }
 1655  
 
 1656  
     /**
 1657  
      * Map a given project to a specified version from when it is released.
 1658  
      *
 1659  
      * @param projectId   the project's group and artifact ID
 1660  
      * @param nextVersion the version to map to
 1661  
      */
 1662  
     public void mapReleaseVersion( String projectId, String nextVersion )
 1663  
     {
 1664  922
         if ( releaseVersions == null )
 1665  
         {
 1666  374
             releaseVersions = new java.util.HashMap();
 1667  
         }
 1668  
 
 1669  922
         releaseVersions.put( projectId, nextVersion );
 1670  922
     }
 1671  
 
 1672  
     /**
 1673  
      * Map a given project to a specified version from when it is incremented and placed back into development.
 1674  
      *
 1675  
      * @param projectId   the project's group and artifact ID
 1676  
      * @param nextVersion the version to map to
 1677  
      */
 1678  
     public void mapDevelopmentVersion( String projectId, String nextVersion )
 1679  
     {
 1680  364
         if ( developmentVersions == null )
 1681  
         {
 1682  160
             developmentVersions = new java.util.HashMap();
 1683  
         }
 1684  
 
 1685  364
         developmentVersions.put( projectId, nextVersion );
 1686  364
     }
 1687  
 
 1688  
     /**
 1689  
      * Map a given project to a specified set of SCM information.
 1690  
      *
 1691  
      * @param projectId the project's group and artifact ID
 1692  
      * @param scm       the original SCM information to store
 1693  
      */
 1694  
     public void mapOriginalScmInfo( String projectId, org.apache.maven.model.Scm scm )
 1695  
     {
 1696  368
         if ( originalScmInfo == null )
 1697  
         {
 1698  290
             originalScmInfo = new java.util.HashMap();
 1699  
         }
 1700  
         else
 1701  
         {
 1702  78
             assert !originalScmInfo.containsKey( projectId );
 1703  
         }
 1704  
 
 1705  368
         originalScmInfo.put( projectId, scm );
 1706  368
     }
 1707  
 
 1708  
     /**
 1709  
      * A map of projects to original versions before any transformation.
 1710  
      */
 1711  
     private java.util.Map originalVersions;
 1712  
 
 1713  
     /**
 1714  
      * Retrieve the original version map, before transformation, keyed by project's versionless identifier.
 1715  
      *
 1716  
      * @param reactorProjects The reactor projects.
 1717  
      *
 1718  
      * @return the map of project IDs to versions.
 1719  
      */
 1720  
     public synchronized java.util.Map<String, String> getOriginalVersions( java.util.List<org.apache.maven.project.MavenProject> reactorProjects )
 1721  
     {
 1722  620
         if ( originalVersions == null )
 1723  
         {
 1724  296
             originalVersions = new java.util.HashMap();
 1725  296
             for ( org.apache.maven.project.MavenProject project : reactorProjects )
 1726  
             {
 1727  682
                 originalVersions.put( org.apache.maven.artifact.ArtifactUtils.versionlessKey( project.getGroupId(),
 1728  
                                       project.getArtifactId() ), project.getVersion() );
 1729  
             }
 1730  
         }
 1731  620
         return originalVersions;
 1732  
     }
 1733  
 
 1734  
     /**
 1735  
      * Retrieve the release version for the resolved snapshot dependency.
 1736  
      *
 1737  
      */
 1738  
     public String getDependencyDevelopmentVersion( String artifactConflictId )
 1739  
     {
 1740  0
         if ( ( resolvedSnapshotDependencies == null ) && ( resolvedSnapshotDependencies.containsKey( artifactConflictId ) ) )
 1741  
         {
 1742  0
             java.util.Map versionMap = ( java.util.Map ) resolvedSnapshotDependencies.get( artifactConflictId );
 1743  0
             return ( String ) versionMap.get( DEVELOPMENT_KEY );
 1744  
         }
 1745  0
         return null;
 1746  
     }
 1747  
 
 1748  
     /**
 1749  
      * Retrieve the release version for the resolved snapshot dependency.
 1750  
      *
 1751  
      */
 1752  
     public String getDependencyReleaseVersion( String artifactConflictId )
 1753  
     {
 1754  0
         if ( ( resolvedSnapshotDependencies == null ) && ( resolvedSnapshotDependencies.containsKey( artifactConflictId ) ) )
 1755  
         {
 1756  0
             java.util.Map versionMap = ( java.util.Map ) resolvedSnapshotDependencies.get( artifactConflictId );
 1757  0
             return ( String ) versionMap.get( RELEASE_KEY );
 1758  
         }
 1759  0
         return null;
 1760  
     }
 1761  
 
 1762  
     boolean safeEquals( String a, String b )
 1763  
     {
 1764  3196
         return a != null ? a.equals( b ) : b == null;
 1765  
     }
 1766  
 
 1767  
     public boolean equals( Object obj )
 1768  
     {
 1769  282
         if ( this == obj )
 1770  
         {
 1771  24
             return true;
 1772  
         }
 1773  258
         if ( obj == null || getClass() != obj.getClass() )
 1774  
         {
 1775  2
             return false;
 1776  
         }
 1777  
 
 1778  256
         ReleaseDescriptor that = (ReleaseDescriptor) obj;
 1779  
 
 1780  256
         if ( updateDependencies        != that.updateDependencies       ||
 1781  
              useReleaseProfile         != that.useReleaseProfile        ||
 1782  
              autoVersionSubmodules     != that.autoVersionSubmodules    ||
 1783  
              snapshotReleasePluginAllowed != that.snapshotReleasePluginAllowed ||
 1784  
              commitByProject           != that.commitByProject          ||
 1785  
              branchCreation            != that.branchCreation           ||
 1786  
              updateBranchVersions      != that.updateBranchVersions     ||
 1787  
              updateWorkingCopyVersions != that.updateWorkingCopyVersions||
 1788  
              suppressCommitBeforeTagOrBranch   != that.suppressCommitBeforeTagOrBranch  ||
 1789  
              updateVersionsToSnapshot  != that.updateVersionsToSnapshot ||
 1790  
              allowTimestampedSnapshots != that.allowTimestampedSnapshots||
 1791  
              remoteTagging             != that.remoteTagging            ||
 1792  
              localCheckout             != that.localCheckout            ||
 1793  
              pushChanges               != that.pushChanges
 1794  
            )
 1795  
            {
 1796  8
                return false;
 1797  
            }
 1798  
 
 1799  248
         if ( !safeEquals( defaultDevelopmentVersion, that.defaultDevelopmentVersion ) ||
 1800  
              !safeEquals( scmRelativePathProjectDirectory, that.scmRelativePathProjectDirectory ) ||
 1801  
              !safeEquals( checkoutDirectory, that.checkoutDirectory ) ||
 1802  
              !safeEquals( performGoals, that.performGoals ) ||
 1803  
              !safeEquals( defaultReleaseVersion, that.defaultReleaseVersion ) ||
 1804  
              !safeEquals( scmReleasedPomRevision, that.scmReleasedPomRevision )
 1805  
            )
 1806  
         {
 1807  0
             return false;
 1808  
         }
 1809  
 
 1810  248
         if ( addSchema != that.addSchema )
 1811  
         {
 1812  8
             return false;
 1813  
         }
 1814  240
         if ( generateReleasePoms != that.generateReleasePoms )
 1815  
         {
 1816  8
             return false;
 1817  
         }
 1818  232
         if ( interactive != that.interactive )
 1819  
         {
 1820  8
             return false;
 1821  
         }
 1822  224
         if ( scmUseEditMode != that.scmUseEditMode )
 1823  
         {
 1824  8
             return false;
 1825  
         }
 1826  216
         if ( !safeEquals( completedPhase, that.completedPhase ) )
 1827  
         {
 1828  8
             return false;
 1829  
         }
 1830  208
         if ( ( checkModificationExcludes == null || ( checkModificationExcludes != null && checkModificationExcludes.size() == 0) ) &&
 1831  
             ( that.checkModificationExcludes == null || ( that.checkModificationExcludes != null && that.checkModificationExcludes.size() == 0) ) )
 1832  
         {
 1833  
             // Do nothing.  This is a Modello workaround
 1834  
         }
 1835  
         else
 1836  
         {
 1837  0
             if ( checkModificationExcludes != null ? !checkModificationExcludes.equals( that.checkModificationExcludes )
 1838  
                 : that.checkModificationExcludes != null )
 1839  
             {
 1840  0
                 return false;
 1841  
             }
 1842  
         }
 1843  208
         if ( ( developmentVersions == null || ( developmentVersions != null && developmentVersions.size() == 0) ) &&
 1844  
             ( that.developmentVersions == null || ( that.developmentVersions != null && that.developmentVersions.size() == 0) ) )
 1845  
         {
 1846  
             // Do nothing.  This is a Modello workaround
 1847  
         }
 1848  
         else
 1849  
         {
 1850  22
             if ( developmentVersions != null ? !developmentVersions.equals( that.developmentVersions )
 1851  
                 : that.developmentVersions != null )
 1852  
             {
 1853  8
                 return false;
 1854  
             }
 1855  
         }
 1856  200
         if ( ( originalScmInfo == null || (originalScmInfo != null && originalScmInfo.size() == 0 ) ) &&
 1857  
             ( that.originalScmInfo == null || ( that.originalScmInfo != null && that.originalScmInfo.size() == 0 ) ) )
 1858  
         {
 1859  
             // Do nothing.  This is a Modello workaround
 1860  
         }
 1861  
         else
 1862  
         {
 1863  78
             if ( originalScmInfo != null ? !compareScmCollections( that.originalScmInfo ) : that.originalScmInfo != null )
 1864  
             {
 1865  48
                 return false;
 1866  
             }
 1867  
         }
 1868  152
         if ( ( releaseVersions == null || ( releaseVersions != null && releaseVersions.size() == 0 ) ) &&
 1869  
             ( that.releaseVersions == null || ( that.releaseVersions != null && that.releaseVersions.size() == 0 ) ) )
 1870  
         {
 1871  
             // Do nothing.  This is a Modello workaround
 1872  
         }
 1873  
         else
 1874  
         {
 1875  22
             if ( releaseVersions != null ? !releaseVersions.equals( that.releaseVersions ) : that.releaseVersions != null )
 1876  
             {
 1877  8
                 return false;
 1878  
             }
 1879  
         }
 1880  144
         if ( !safeEquals( additionalArguments, that.additionalArguments ) )
 1881  
         {
 1882  8
             return false;
 1883  
         }
 1884  136
         if ( !safeEquals( preparationGoals, that.preparationGoals ) )
 1885  
         {
 1886  8
             return false;
 1887  
         }
 1888  128
         if ( !safeEquals( completionGoals, that.completionGoals ) )
 1889  
         {
 1890  0
             return false;
 1891  
         }
 1892  128
         if ( !safeEquals( pomFileName, that.pomFileName ) )
 1893  
         {
 1894  8
             return false;
 1895  
         }
 1896  120
         if ( !safeEquals( scmPrivateKeyPassPhrase, that.scmPrivateKeyPassPhrase ) )
 1897  
         {
 1898  8
             return false;
 1899  
         }
 1900  112
         if ( !safeEquals( scmPassword, that.scmPassword ) )
 1901  
         {
 1902  8
             return false;
 1903  
         }
 1904  104
         if ( !safeEquals( scmPrivateKey, that.scmPrivateKey ) )
 1905  
         {
 1906  8
             return false;
 1907  
         }
 1908  96
         if ( !safeEquals( scmReleaseLabel, that.scmReleaseLabel ) )
 1909  
         {
 1910  8
             return false;
 1911  
         }
 1912  88
         if ( !safeEquals( scmTagBase, that.scmTagBase ) )
 1913  
         {
 1914  8
             return false;
 1915  
         }
 1916  80
         if ( !safeEquals( scmBranchBase, that.scmBranchBase ) )
 1917  
         {
 1918  0
             return false;
 1919  
         }
 1920  80
         if ( !safeEquals( scmId, that.scmId ) )
 1921  
         {
 1922  0
             return false;
 1923  
         }
 1924  80
         if ( !safeEquals( scmSourceUrl, that.scmSourceUrl ) )
 1925  
         {
 1926  8
             return false;
 1927  
         }
 1928  72
         if ( !safeEquals( scmUsername, that.scmUsername ) )
 1929  
         {
 1930  8
             return false;
 1931  
         }
 1932  64
         if ( !safeEquals( workingDirectory, that.workingDirectory ) )
 1933  
         {
 1934  4
             return false;
 1935  
         }
 1936  60
         if ( !safeEquals( scmTagNameFormat, that.scmTagNameFormat ) )
 1937  
         {
 1938  0
             return false;
 1939  
         }
 1940  
 
 1941  60
         return true;
 1942  
     }
 1943  
 
 1944  
     private boolean compareScmCollections( java.util.Map that )
 1945  
     {
 1946  
         // Must manually compare as Scm doesn't have an equals method
 1947  78
         if ( that == null && originalScmInfo == null )
 1948  
         {
 1949  0
             return true;
 1950  
         }
 1951  
 
 1952  78
         if ( ( that == null && originalScmInfo != null ) || ( that != null && originalScmInfo == null ) )
 1953  
         {
 1954  8
             return false;
 1955  
         }
 1956  
 
 1957  70
         if ( that.size() != originalScmInfo.size() )
 1958  
         {
 1959  0
             return false;
 1960  
         }
 1961  
 
 1962  70
         for ( java.util.Iterator i = originalScmInfo.entrySet().iterator(); i.hasNext(); )
 1963  
         {
 1964  80
             java.util.Map.Entry entry = (java.util.Map.Entry) i.next();
 1965  
 
 1966  80
             org.apache.maven.model.Scm thatScm = (org.apache.maven.model.Scm) that.get( entry.getKey() );
 1967  
 
 1968  80
             org.apache.maven.model.Scm thisScm = (org.apache.maven.model.Scm) entry.getValue();
 1969  80
             if ( thatScm == null && thisScm == null )
 1970  
             {
 1971  2
                 return true;
 1972  
             }
 1973  78
             else if ( thatScm == null )
 1974  
             {
 1975  8
                 return false;
 1976  
             }
 1977  70
             else if ( thisScm == null )
 1978  
             {
 1979  0
                 return true;
 1980  
             }
 1981  
             
 1982  70
             if ( thisScm.getConnection() != null ? !thisScm.getConnection().equals( thatScm.getConnection() )
 1983  
                 : thatScm.getConnection() != null )
 1984  
             {
 1985  8
                 return false;
 1986  
             }
 1987  62
             if ( thisScm.getDeveloperConnection() != null ? !thisScm.getDeveloperConnection().equals(
 1988  
                 thatScm.getDeveloperConnection() ) : thatScm.getDeveloperConnection() != null )
 1989  
             {
 1990  8
                 return false;
 1991  
             }
 1992  54
             if ( thisScm.getUrl() != null ? !thisScm.getUrl().equals( thatScm.getUrl() ) : thatScm.getUrl() != null )
 1993  
             {
 1994  8
                 return false;
 1995  
             }
 1996  46
             if ( thisScm.getTag() != null ? !thisScm.getTag().equals( thatScm.getTag() ) : thatScm.getTag() != null )
 1997  
             {
 1998  8
                 return false;
 1999  
             }
 2000  
             
 2001  38
             if ( thisScm instanceof org.apache.maven.shared.release.scm.IdentifiedScm && thatScm instanceof org.apache.maven.shared.release.scm.IdentifiedScm )
 2002  
             {
 2003  22
                     org.apache.maven.shared.release.scm.IdentifiedScm thisIdentifiedScm = (org.apache.maven.shared.release.scm.IdentifiedScm) thisScm;
 2004  22
                     org.apache.maven.shared.release.scm.IdentifiedScm thatIdentifiedScm = (org.apache.maven.shared.release.scm.IdentifiedScm) thatScm;
 2005  22
                     if ( thisIdentifiedScm.getId() != null ? !thisIdentifiedScm.getId().equals( thatIdentifiedScm.getId() ) : thatIdentifiedScm.getId() != null )
 2006  
                     {
 2007  0
                         return false;
 2008  
                     }
 2009  
             }
 2010  38
         }
 2011  
 
 2012  28
         return true;
 2013  
     }
 2014  
 
 2015  
     public int hashCode()
 2016  
     {
 2017  4
         int result = completedPhase != null ? completedPhase.hashCode() : 0;
 2018  4
         result = 29 * result + ( scmReleaseLabel != null ? scmReleaseLabel.hashCode() : 0 );
 2019  4
         result = 29 * result + ( additionalArguments != null ? additionalArguments.hashCode() : 0 );
 2020  4
         result = 29 * result + ( preparationGoals != null ? preparationGoals.hashCode() : 0 );
 2021  4
         result = 29 * result + ( completionGoals != null ? completionGoals.hashCode() : 0 );
 2022  4
         result = 29 * result + ( pomFileName != null ? pomFileName.hashCode() : 0 );
 2023  4
         result = 29 * result + ( checkModificationExcludes != null ? checkModificationExcludes.hashCode() : 0 );
 2024  4
         result = 29 * result + ( scmTagBase != null ? scmTagBase.hashCode() : 0 );
 2025  4
         result = 29 * result + ( scmBranchBase != null ? scmBranchBase.hashCode() : 0 );
 2026  4
         result = 29 * result + ( scmUsername != null ? scmUsername.hashCode() : 0 );
 2027  4
         result = 29 * result + ( scmPassword != null ? scmPassword.hashCode() : 0 );
 2028  4
         result = 29 * result + ( scmId != null ? scmId.hashCode() : 0 );
 2029  4
         result = 29 * result + ( scmSourceUrl != null ? scmSourceUrl.hashCode() : 0 );
 2030  4
         result = 29 * result + ( scmPrivateKey != null ? scmPrivateKey.hashCode() : 0 );
 2031  4
         result = 29 * result + ( scmPrivateKeyPassPhrase != null ? scmPrivateKeyPassPhrase.hashCode() : 0 );
 2032  4
         result = 29 * result + ( workingDirectory != null ? workingDirectory.hashCode() : 0 );
 2033  4
         result = 29 * result + ( scmUseEditMode ? 1 : 0 );
 2034  4
         result = 29 * result + ( addSchema ? 1 : 0 );
 2035  4
         result = 29 * result + ( generateReleasePoms ? 1 : 0 );
 2036  4
         result = 29 * result + ( interactive ? 1 : 0 );
 2037  4
         result = 29 * result + ( releaseVersions != null ? releaseVersions.hashCode() : 0 );
 2038  4
         result = 29 * result + ( developmentVersions != null ? developmentVersions.hashCode() : 0 );
 2039  4
         result = 29 * result + ( originalScmInfo != null ? originalScmInfo.hashCode() : 0 );
 2040  4
         result = 29 * result + ( updateDependencies ? 1 : 0 );
 2041  4
         result = 29 * result + ( useReleaseProfile ? 1 : 0 );
 2042  4
         result = 29 * result + ( autoVersionSubmodules ? 1 : 0 );
 2043  4
         result = 29 * result + ( snapshotReleasePluginAllowed ? 1 : 0 );
 2044  4
         result = 29 * result + ( commitByProject ? 1 : 0 );
 2045  4
         result = 29 * result + ( branchCreation ? 1 : 0 );
 2046  4
         result = 29 * result + ( updateBranchVersions ? 1 : 0 );
 2047  4
         result = 29 * result + ( updateWorkingCopyVersions ? 1 : 0 );
 2048  4
         result = 29 * result + ( suppressCommitBeforeTagOrBranch ? 1 : 0 );
 2049  4
         result = 29 * result + ( updateVersionsToSnapshot ? 1 : 0 );
 2050  4
         result = 29 * result + ( allowTimestampedSnapshots ? 1 : 0 );
 2051  4
         result = 29 * result + ( remoteTagging ? 1 : 0 );
 2052  4
         result = 29 * result + ( localCheckout ? 1 : 0 );
 2053  4
         result = 29 * result + ( pushChanges ? 1 : 0 );
 2054  4
         result = 29 * result + ( defaultDevelopmentVersion != null ? defaultDevelopmentVersion.hashCode() : 0 );
 2055  4
         result = 29 * result + ( scmRelativePathProjectDirectory != null ? scmRelativePathProjectDirectory.hashCode() : 0 );
 2056  4
         result = 29 * result + ( checkoutDirectory != null ? checkoutDirectory.hashCode() : 0 );
 2057  4
         result = 29 * result + ( performGoals != null ? performGoals.hashCode() : 0 );
 2058  4
         result = 29 * result + ( defaultReleaseVersion != null ? defaultReleaseVersion.hashCode() : 0 );
 2059  4
         result = 29 * result + ( scmReleasedPomRevision != null ? scmReleasedPomRevision.hashCode() : 0 );
 2060  
 
 2061  4
         return result;
 2062  
     }
 2063  
 
 2064  
 }