Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: apache/maven-release
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: maven-release-3.0.0-M7
Choose a base ref
...
head repository: apache/maven-release
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: maven-release-3.0.0
Choose a head ref

Commits on Oct 29, 2022

  1. Copy the full SHA
    5680150 View commit details

Commits on Nov 2, 2022

  1. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    46fc8d9 View commit details

Commits on Jan 24, 2023

  1. s/MJAVADOC/MRELEASE/

    hboutemy authored Jan 24, 2023

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    906b6e4 View commit details

Commits on Mar 4, 2023

  1. Bump apache/maven-gh-actions-shared from 2 to 3

    Bumps [apache/maven-gh-actions-shared](https://github.com/apache/maven-gh-actions-shared) from 2 to 3.
    - [Release notes](https://github.com/apache/maven-gh-actions-shared/releases)
    - [Commits](apache/maven-gh-actions-shared@v2...v3)
    
    ---
    updated-dependencies:
    - dependency-name: apache/maven-gh-actions-shared
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    dependabot[bot] authored and slachiewicz committed Mar 4, 2023
    Copy the full SHA
    465953c View commit details

Commits on Mar 9, 2023

  1. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    bf06ef2 View commit details

Commits on Mar 12, 2023

  1. Copy the full SHA
    b899ace View commit details
  2. [MRELEASE-1115] Upgrade Parent to 39

    This closes #105
    michael-o committed Mar 12, 2023
    Copy the full SHA
    f2f3943 View commit details
  3. [MRELEASE-1116] Upgrade plugins and components

    This closes #106
    michael-o committed Mar 12, 2023
    Copy the full SHA
    53abf9a View commit details
  4. Bump mrm-maven-plugin from 1.4.1 to 1.5.0

    Bumps [mrm-maven-plugin](https://github.com/mojohaus/mrm) from 1.4.1 to 1.5.0.
    - [Release notes](https://github.com/mojohaus/mrm/releases)
    - [Commits](mojohaus/mrm@mrm-1.4.1...1.5.0)
    
    ---
    updated-dependencies:
    - dependency-name: org.codehaus.mojo:mrm-maven-plugin
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    dependabot[bot] authored Mar 12, 2023

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    5a8e813 View commit details
  5. vuln-fix: Temporary File Information Disclosure

    This fixes temporary file information disclosure vulnerability due to the use
    of the vulnerable `File.createTempFile()` method. The vulnerability is fixed by
    using the `Files.createTempFile()` method which sets the correct posix permissions.
    
    Weakness: CWE-377: Insecure Temporary File
    Severity: Medium
    CVSSS: 5.5
    Detection: CodeQL & OpenRewrite (https://public.moderne.io/recipes/org.openrewrite.java.security.SecureTempFileCreation)
    
    Reported-by: Jonathan Leitschuh <Jonathan.Leitschuh@gmail.com>
    Signed-off-by: Jonathan Leitschuh <Jonathan.Leitschuh@gmail.com>
    
    Bug-tracker: JLLeitschuh/security-research#18
    
    Co-authored-by: Moderne <team@moderne.io>
    
    This closes #160
    JLLeitschuh authored and michael-o committed Mar 12, 2023
    Copy the full SHA
    4402491 View commit details
  6. Copy the full SHA
    3064cff View commit details

Commits on Mar 16, 2023

  1. Merge pull request #171 from apache/dependabot/maven/org.codehaus.moj…

    …o-mrm-maven-plugin-1.5.0
    
    Bump mrm-maven-plugin from 1.4.1 to 1.5.0
    elharo authored Mar 16, 2023

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    3e077e7 View commit details
  2. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    d60bbc3 View commit details
  3. grammar nits (#178)

    elharo authored Mar 16, 2023

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    262254f View commit details
  4. http --> https (#177)

    elharo authored Mar 16, 2023

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    422ccc4 View commit details
  5. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    0da97a2 View commit details

Commits on Mar 17, 2023

  1. update links (#175)

    elharo authored Mar 17, 2023

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    e2006ed View commit details
  2. Fix @SInCE

    michael-o committed Mar 17, 2023
    Copy the full SHA
    8c19cdc View commit details
  3. Copy the full SHA
    231e949 View commit details
  4. Improve dependency declarations

    This closes #176
    elharo authored and michael-o committed Mar 17, 2023
    Copy the full SHA
    bd9cdeb View commit details
  5. Copy the full SHA
    4125331 View commit details
Showing with 15,035 additions and 17,616 deletions.
  1. +3 −3 .github/pull_request_template.md
  2. +1 −1 .github/workflows/maven-verify.yml
  3. +1 −0 README.md
  4. +5 −7 maven-release-api/pom.xml
  5. +6 −11 maven-release-api/src/main/java/org/apache/maven/shared/release/ReleaseExecutionException.java
  6. +4 −8 maven-release-api/src/main/java/org/apache/maven/shared/release/ReleaseFailureException.java
  7. +32 −50 maven-release-api/src/main/java/org/apache/maven/shared/release/ReleaseResult.java
  8. +26 −24 maven-release-api/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptor.java
  9. +2 −4 maven-release-api/src/main/java/org/apache/maven/shared/release/env/ReleaseEnvironment.java
  10. +21 −31 maven-release-api/src/main/java/org/apache/maven/shared/release/phase/AbstractReleasePhase.java
  11. +14 −13 maven-release-api/src/main/java/org/apache/maven/shared/release/phase/ReleasePhase.java
  12. +3 −5 maven-release-api/src/main/java/org/apache/maven/shared/release/phase/ResourceGenerator.java
  13. +7 −12 maven-release-api/src/main/java/org/apache/maven/shared/release/policy/PolicyException.java
  14. +3 −7 maven-release-api/src/main/java/org/apache/maven/shared/release/policy/naming/NamingPolicy.java
  15. +10 −18 ...-release-api/src/main/java/org/apache/maven/shared/release/policy/naming/NamingPolicyRequest.java
  16. +4 −9 ...n-release-api/src/main/java/org/apache/maven/shared/release/policy/naming/NamingPolicyResult.java
  17. +6 −9 maven-release-api/src/main/java/org/apache/maven/shared/release/policy/version/VersionPolicy.java
  18. +97 −16 ...elease-api/src/main/java/org/apache/maven/shared/release/policy/version/VersionPolicyRequest.java
  19. +4 −9 ...release-api/src/main/java/org/apache/maven/shared/release/policy/version/VersionPolicyResult.java
  20. +6 −8 maven-release-api/src/main/java/org/apache/maven/shared/release/strategy/Strategy.java
  21. +10 −20 maven-release-api/src/main/java/org/apache/maven/shared/release/versions/AetherVersion.java
  22. +14 −27 maven-release-api/src/main/java/org/apache/maven/shared/release/versions/MavenArtifactVersion.java
  23. +123 −149 maven-release-api/src/main/java/org/apache/maven/shared/release/versions/Version.java
  24. +6 −12 ...pi/src/main/java/org/apache/maven/shared/release/versions/VersionComparisonConflictException.java
  25. +13 −8 maven-release-api/src/main/java/org/apache/maven/shared/release/versions/VersionParseException.java
  26. +15 −12 maven-release-manager/pom.xml
  27. +8 −16 maven-release-manager/src/main/java/org/apache/maven/shared/release/AbstractReleaseRequest.java
  28. +294 −429 maven-release-manager/src/main/java/org/apache/maven/shared/release/DefaultReleaseManager.java
  29. +22 −35 ...-release-manager/src/main/java/org/apache/maven/shared/release/DefaultReleaseManagerListener.java
  30. +12 −19 maven-release-manager/src/main/java/org/apache/maven/shared/release/ReleaseBranchRequest.java
  31. +2 −6 maven-release-manager/src/main/java/org/apache/maven/shared/release/ReleaseCleanRequest.java
  32. +11 −15 maven-release-manager/src/main/java/org/apache/maven/shared/release/ReleaseManager.java
  33. +6 −8 maven-release-manager/src/main/java/org/apache/maven/shared/release/ReleaseManagerListener.java
  34. +8 −17 maven-release-manager/src/main/java/org/apache/maven/shared/release/ReleasePerformRequest.java
  35. +13 −24 maven-release-manager/src/main/java/org/apache/maven/shared/release/ReleasePrepareRequest.java
  36. +4 −9 maven-release-manager/src/main/java/org/apache/maven/shared/release/ReleaseRollbackRequest.java
  37. +9 −16 ...n-release-manager/src/main/java/org/apache/maven/shared/release/ReleaseUpdateVersionsRequest.java
  38. +140 −209 ...anager/src/main/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStore.java
  39. +165 −236 ...elease-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptorBuilder.java
  40. +5 −9 ...-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptorStore.java
  41. +4 −8 ...manager/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptorStoreException.java
  42. +147 −207 maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseUtils.java
  43. +14 −28 ...-release-manager/src/main/java/org/apache/maven/shared/release/env/DefaultReleaseEnvironment.java
  44. +44 −57 maven-release-manager/src/main/java/org/apache/maven/shared/release/exec/AbstractMavenExecutor.java
  45. +3 −6 maven-release-manager/src/main/java/org/apache/maven/shared/release/exec/CommandLineFactory.java
  46. +7 −15 ...release-manager/src/main/java/org/apache/maven/shared/release/exec/DefaultCommandLineFactory.java
  47. +85 −130 maven-release-manager/src/main/java/org/apache/maven/shared/release/exec/ForkedMavenExecutor.java
  48. +83 −120 maven-release-manager/src/main/java/org/apache/maven/shared/release/exec/InvokerMavenExecutor.java
  49. +10 −6 maven-release-manager/src/main/java/org/apache/maven/shared/release/exec/MavenExecutor.java
  50. +7 −13 maven-release-manager/src/main/java/org/apache/maven/shared/release/exec/MavenExecutorException.java
  51. +27 −57 maven-release-manager/src/main/java/org/apache/maven/shared/release/exec/RawStreamPumper.java
  52. +12 −20 maven-release-manager/src/main/java/org/apache/maven/shared/release/exec/TeeConsumer.java
  53. +22 −37 maven-release-manager/src/main/java/org/apache/maven/shared/release/exec/TeeOutputStream.java
  54. +10 −19 ...-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractBackupPomsPhase.java
  55. +30 −43 maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractCheckPomPhase.java
  56. +103 −149 ...ease-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractInputVariablesPhase.java
  57. +175 −208 ...release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractMapVersionsPhase.java
  58. +19 −34 ...release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractReleasePomsPhase.java
  59. +346 −374 ...release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java
  60. +60 −61 maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRunGoalsPhase.java
  61. +34 −47 ...anager/src/main/java/org/apache/maven/shared/release/phase/AbstractScmCommitDevelopmentPhase.java
  62. +104 −129 ...n-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractScmCommitPhase.java
  63. +30 −46 ...anager/src/main/java/org/apache/maven/shared/release/phase/AbstractScmCommitPreparationPhase.java
  64. +8 −10 ...elease-manager/src/main/java/org/apache/maven/shared/release/phase/BranchInputVariablesPhase.java
  65. +24 −29 ...manager/src/main/java/org/apache/maven/shared/release/phase/CheckCompletedPreparePhasesPhase.java
  66. +206 −278 ...se-manager/src/main/java/org/apache/maven/shared/release/phase/CheckDependencySnapshotsPhase.java
  67. +5 −9 maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckPomsPhase.java
  68. +5 −9 ...ase-manager/src/main/java/org/apache/maven/shared/release/phase/CheckPomsUpdateversionsPhase.java
  69. +105 −134 ...n-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckoutProjectFromScm.java
  70. +29 −38 maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CreateBackupPomsPhase.java
  71. +17 −18 maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/EndReleasePhase.java
  72. +285 −345 ...release-manager/src/main/java/org/apache/maven/shared/release/phase/GenerateReleasePomsPhase.java
  73. +8 −10 maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/InputVariablesPhase.java
  74. +9 −9 ...n-release-manager/src/main/java/org/apache/maven/shared/release/phase/MapBranchVersionsPhase.java
  75. +9 −9 ...ease-manager/src/main/java/org/apache/maven/shared/release/phase/MapDevelopmentVersionsPhase.java
  76. +9 −9 ...-release-manager/src/main/java/org/apache/maven/shared/release/phase/MapReleaseVersionsPhase.java
  77. +69 −82 ...n-release-manager/src/main/java/org/apache/maven/shared/release/phase/RemoveReleasePomsPhase.java
  78. +56 −73 maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RemoveScmTagPhase.java
  79. +47 −65 ...n-release-manager/src/main/java/org/apache/maven/shared/release/phase/RestoreBackupPomsPhase.java
  80. +22 −27 ...-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomVersionsPhase.java
  81. +86 −124 ...elease-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForBranchPhase.java
  82. +38 −53 ...e-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForDevelopmentPhase.java
  83. +84 −121 ...lease-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhase.java
  84. +22 −23 maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RunCompleteGoalsPhase.java
  85. +48 −64 maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RunPerformGoalsPhase.java
  86. +22 −23 maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RunPrepareGoalsPhase.java
  87. +54 −71 maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmBranchPhase.java
  88. +71 −95 ...lease-manager/src/main/java/org/apache/maven/shared/release/phase/ScmCheckModificationsPhase.java
  89. +5 −9 maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmCommitBranchPhase.java
  90. +8 −10 ...elease-manager/src/main/java/org/apache/maven/shared/release/phase/ScmCommitDevelopmentPhase.java
  91. +5 −9 maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmCommitReleasePhase.java
  92. +5 −9 ...n-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmCommitRollbackPhase.java
  93. +72 −96 maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmTagPhase.java
  94. +4 −8 ...n-release-manager/src/main/java/org/apache/maven/shared/release/policies/DefaultNamingPolicy.java
  95. +10 −17 ...-release-manager/src/main/java/org/apache/maven/shared/release/policies/DefaultVersionPolicy.java
  96. +9 −19 maven-release-manager/src/main/java/org/apache/maven/shared/release/scm/ClearCaseScmTranslator.java
  97. +9 −19 maven-release-manager/src/main/java/org/apache/maven/shared/release/scm/CvsScmTranslator.java
  98. +57 −90 ...e-manager/src/main/java/org/apache/maven/shared/release/scm/DefaultScmRepositoryConfigurator.java
  99. +7 −14 maven-release-manager/src/main/java/org/apache/maven/shared/release/scm/GitScmTranslator.java
  100. +7 −14 maven-release-manager/src/main/java/org/apache/maven/shared/release/scm/HgScmTranslator.java
  101. +4 −9 maven-release-manager/src/main/java/org/apache/maven/shared/release/scm/IdentifiedScm.java
  102. +19 −31 maven-release-manager/src/main/java/org/apache/maven/shared/release/scm/JazzScmTranslator.java
  103. +5 −9 ...release-manager/src/main/java/org/apache/maven/shared/release/scm/ReleaseScmCommandException.java
  104. +11 −18 ...ease-manager/src/main/java/org/apache/maven/shared/release/scm/ReleaseScmRepositoryException.java
  105. +7 −10 ...-release-manager/src/main/java/org/apache/maven/shared/release/scm/ScmRepositoryConfigurator.java
  106. +6 −8 maven-release-manager/src/main/java/org/apache/maven/shared/release/scm/ScmTranslator.java
  107. +9 −17 maven-release-manager/src/main/java/org/apache/maven/shared/release/scm/SubversionScmTranslator.java
  108. +31 −46 maven-release-manager/src/main/java/org/apache/maven/shared/release/strategies/DefaultStrategy.java
  109. +3 −5 maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/MavenCoordinate.java
  110. +4 −6 maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/ModelETL.java
  111. +3 −5 maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/ModelETLFactory.java
  112. +7 −14 maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/ModelETLRequest.java
  113. +63 −118 maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomBuild.java
  114. +26 −50 ...release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomDependency.java
  115. +14 −26 ...nager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomDependencyManagement.java
  116. +12 −22 ...-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomExtension.java
  117. +15 −28 ...se-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomMavenCoordinate.java
  118. +65 −107 maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomModel.java
  119. +21 −37 ...-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomModelBase.java
  120. +72 −96 ...n-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomModelETL.java
  121. +8 −11 ...se-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomModelETLFactory.java
  122. +13 −25 maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomParent.java
  123. +33 −62 maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomPlugin.java
  124. +16 −29 ...e-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomPluginManagement.java
  125. +7 −14 maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomProfile.java
  126. +24 −52 ...release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomProperties.java
  127. +25 −49 ...lease-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomReportPlugin.java
  128. +20 −37 ...-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomReporting.java
  129. +15 −26 maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomScm.java
  130. +35 −63 maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomUtils.java
  131. +43 −73 maven-release-manager/src/main/java/org/apache/maven/shared/release/util/MavenCrypto.java
  132. +63 −109 maven-release-manager/src/main/java/org/apache/maven/shared/release/util/PomFinder.java
  133. +61 −92 maven-release-manager/src/main/java/org/apache/maven/shared/release/util/ReleaseUtil.java
  134. +126 −169 maven-release-manager/src/main/java/org/apache/maven/shared/release/versions/DefaultVersionInfo.java
  135. +2 −5 maven-release-manager/src/main/java/org/apache/maven/shared/release/versions/VersionInfo.java
  136. +9 −0 maven-release-manager/src/main/mdo/release-descriptor.mdo
  137. +449 −521 maven-release-manager/src/test/java/org/apache/maven/shared/release/DefaultReleaseManagerTest.java
  138. +87 −146 maven-release-manager/src/test/java/org/apache/maven/shared/release/PlexusJUnit4TestCase.java
  139. +261 −307 ...er/src/test/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStoreTest.java
  140. +21 −25 ...se-manager/src/test/java/org/apache/maven/shared/release/config/ReleaseDescriptorBuilderTest.java
  141. +6 −15 ...ease-manager/src/test/java/org/apache/maven/shared/release/config/ReleaseDescriptorStoreStub.java
  142. +190 −200 maven-release-manager/src/test/java/org/apache/maven/shared/release/config/ReleaseUtilsTest.java
  143. +109 −79 ...release-manager/src/test/java/org/apache/maven/shared/release/exec/AbstractMavenExecutorTest.java
  144. +9 −16 maven-release-manager/src/test/java/org/apache/maven/shared/release/exec/CommandLineFactoryTest.java
  145. +245 −234 ...n-release-manager/src/test/java/org/apache/maven/shared/release/exec/ForkedMavenExecutorTest.java
  146. +35 −47 ...-release-manager/src/test/java/org/apache/maven/shared/release/exec/InvokerMavenExecutorTest.java
  147. +11 −15 maven-release-manager/src/test/java/org/apache/maven/shared/release/exec/TeeConsumerTest.java
  148. +9 −13 maven-release-manager/src/test/java/org/apache/maven/shared/release/exec/TeeOutputStreamTest.java
  149. +25 −38 ...ease-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractBackupPomsPhaseTest.java
  150. +88 −114 ...est/java/org/apache/maven/shared/release/phase/AbstractEditModeRewritingReleasePhaseTestCase.java
  151. +146 −197 ...-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractReleaseTestCase.java
  152. +353 −447 ...er/src/test/java/org/apache/maven/shared/release/phase/AbstractRewritingReleasePhaseTestCase.java
  153. +40 −49 ...lease-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractScmCommitPhaseTest.java
  154. +149 −166 ...se-manager/src/test/java/org/apache/maven/shared/release/phase/BranchInputVariablesPhaseTest.java
  155. +578 −741 ...anager/src/test/java/org/apache/maven/shared/release/phase/CheckDependencySnapshotsPhaseTest.java
  156. +127 −122 maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/CheckPomPhaseTest.java
  157. +143 −147 ...lease-manager/src/test/java/org/apache/maven/shared/release/phase/CheckoutProjectFromScmTest.java
  158. +37 −58 ...elease-manager/src/test/java/org/apache/maven/shared/release/phase/CreateBackupPomsPhaseTest.java
  159. +18 −21 maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/EndReleasePhaseTest.java
  160. +107 −141 ...ase-manager/src/test/java/org/apache/maven/shared/release/phase/GenerateReleasePomsPhaseTest.java
  161. +7 −16 maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/HasCommandParameter.java
  162. +187 −183 ...-release-manager/src/test/java/org/apache/maven/shared/release/phase/InputVariablesPhaseTest.java
  163. +6 −10 maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/IsScmBranchEquals.java
  164. +9 −14 ...ease-manager/src/test/java/org/apache/maven/shared/release/phase/IsScmBranchParametersEquals.java
  165. +11 −18 maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/IsScmFileSetEquals.java
  166. +6 −12 maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/IsScmTagEquals.java
  167. +10 −14 ...release-manager/src/test/java/org/apache/maven/shared/release/phase/IsScmTagParametersEquals.java
  168. +18 −22 ...ase-manager/src/test/java/org/apache/maven/shared/release/phase/MapDevelopmentVersionPhaseIT.java
  169. +1,273 −1,071 maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/MapVersionsPhaseTest.java
  170. +19 −22 maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ReleasePhaseStub.java
  171. +94 −129 ...lease-manager/src/test/java/org/apache/maven/shared/release/phase/RemoveReleasePomsPhaseTest.java
  172. +114 −118 maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RemoveScmTagPhaseTest.java
  173. +28 −42 ...lease-manager/src/test/java/org/apache/maven/shared/release/phase/RestoreBackupPomsPhaseTest.java
  174. +210 −258 ...se-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForBranchPhaseTest.java
  175. +202 −251 ...nager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForDevelopmentPhaseTest.java
  176. +217 −272 ...e-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhaseTest.java
  177. +127 −117 ...elease-manager/src/test/java/org/apache/maven/shared/release/phase/RunCompleteGoalsPhaseTest.java
  178. +248 −236 ...release-manager/src/test/java/org/apache/maven/shared/release/phase/RunPerformGoalsPhaseTest.java
  179. +128 −119 ...release-manager/src/test/java/org/apache/maven/shared/release/phase/RunPrepareGoalsPhaseTest.java
  180. +249 −252 maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmBranchPhaseTest.java
  181. +191 −241 ...e-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCheckModificationsPhaseTest.java
  182. +75 −93 ...se-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCommitDevelopmentPhaseTest.java
  183. +296 −311 ...se-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCommitPreparationPhaseTest.java
  184. +250 −264 maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmTagPhaseTest.java
  185. +14 −15 ...lease-manager/src/test/java/org/apache/maven/shared/release/policies/DefaultNamingPolicyTest.java
  186. +25 −33 ...ease-manager/src/test/java/org/apache/maven/shared/release/policies/DefaultVersionPolicyTest.java
  187. +13 −19 ...release-manager/src/test/java/org/apache/maven/shared/release/scm/ClearCaseScmTranslatorTest.java
  188. +13 −19 maven-release-manager/src/test/java/org/apache/maven/shared/release/scm/CvsScmTranslatorTest.java
  189. +84 −108 ...nager/src/test/java/org/apache/maven/shared/release/scm/DefaultScmRepositoryConfiguratorTest.java
  190. +14 −21 maven-release-manager/src/test/java/org/apache/maven/shared/release/scm/GitScmTranslatorTest.java
  191. +13 −19 maven-release-manager/src/test/java/org/apache/maven/shared/release/scm/HgScmTranslatorTest.java
  192. +25 −23 maven-release-manager/src/test/java/org/apache/maven/shared/release/scm/JazzScmTranslatorTest.java
  193. +14 −20 ...elease-manager/src/test/java/org/apache/maven/shared/release/scm/SubversionScmTranslatorTest.java
  194. +15 −14 maven-release-manager/src/test/java/org/apache/maven/shared/release/stubs/MavenExecutorWrapper.java
  195. +5 −9 maven-release-manager/src/test/java/org/apache/maven/shared/release/stubs/NamingPolicyStub.java
  196. +16 −31 maven-release-manager/src/test/java/org/apache/maven/shared/release/stubs/ScmManagerStub.java
  197. +140 −181 ...-release-manager/src/test/java/org/apache/maven/shared/release/transform/jdom2/JDomBuildTest.java
  198. +34 −28 ...r/src/test/java/org/apache/maven/shared/release/transform/jdom2/JDomDependencyManagementTest.java
  199. +80 −100 ...ase-manager/src/test/java/org/apache/maven/shared/release/transform/jdom2/JDomDependencyTest.java
  200. +34 −44 ...ease-manager/src/test/java/org/apache/maven/shared/release/transform/jdom2/JDomExtensionTest.java
  201. +36 −43 ...-release-manager/src/test/java/org/apache/maven/shared/release/transform/jdom2/JDomModelTest.java
  202. +37 −49 ...release-manager/src/test/java/org/apache/maven/shared/release/transform/jdom2/JDomParentTest.java
  203. +58 −83 ...ase-manager/src/test/java/org/apache/maven/shared/release/transform/jdom2/JDomPropertiesTest.java
  204. +53 −67 maven-release-manager/src/test/java/org/apache/maven/shared/release/transform/jdom2/JDomScmTest.java
  205. +19 −24 maven-release-manager/src/test/java/org/apache/maven/shared/release/util/PomFinderTest.java
  206. +130 −136 maven-release-manager/src/test/java/org/apache/maven/shared/release/util/ReleaseUtilTest.java
  207. +186 −254 ...elease-manager/src/test/java/org/apache/maven/shared/release/versions/DefaultVersionInfoTest.java
  208. +28 −30 maven-release-plugin/pom.xml
  209. +18 −0 maven-release-plugin/src/it/projects/prepare/MRELEASE-1077/invoker.properties
  210. +78 −0 maven-release-plugin/src/it/projects/prepare/MRELEASE-1077/pom.xml
  211. +24 −0 maven-release-plugin/src/it/projects/prepare/MRELEASE-1077/verify.groovy
  212. +56 −0 maven-release-plugin/src/it/projects/prepare/version-policy/pom.xml
  213. +58 −0 maven-release-plugin/src/it/projects/prepare/version-policy/verify.groovy
  214. +19 −0 .../maven-scm-provider-dummy/src/main/java/org/apache/maven/scm/provider/dummy/DummyScmProvider.java
  215. +115 −0 ...en-scm-provider-dummy/src/main/java/org/apache/maven/scm/provider/dummy/DummyTagsScmProvider.java
  216. +18 −0 maven-release-plugin/src/it/setup/maven-version-policy-dummy/invoker.properties
  217. +92 −0 maven-release-plugin/src/it/setup/maven-version-policy-dummy/pom.xml
  218. +82 −0 ...n-version-policy-dummy/src/main/java/org/apache/maven/its/release/version/DummyVersionPolicy.java
  219. +61 −87 maven-release-plugin/src/main/java/org/apache/maven/plugins/release/AbstractReleaseMojo.java
  220. +52 −70 maven-release-plugin/src/main/java/org/apache/maven/plugins/release/AbstractScmReleaseMojo.java
  221. +74 −73 maven-release-plugin/src/main/java/org/apache/maven/plugins/release/BranchReleaseMojo.java
  222. +16 −25 maven-release-plugin/src/main/java/org/apache/maven/plugins/release/CleanReleaseMojo.java
  223. +55 −77 maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java
  224. +125 −125 maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java
  225. +6 −11 maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareWithPomReleaseMojo.java
  226. +20 −31 maven-release-plugin/src/main/java/org/apache/maven/plugins/release/RollbackReleaseMojo.java
  227. +13 −20 maven-release-plugin/src/main/java/org/apache/maven/plugins/release/StageReleaseMojo.java
  228. +43 −42 maven-release-plugin/src/main/java/org/apache/maven/plugins/release/UpdateVersionsMojo.java
  229. +3 −20 maven-release-plugin/src/site/apt/index.apt
  230. +4 −1 maven-release-plugin/src/site/apt/usage.apt.vm
  231. +2 −0 maven-release-plugin/src/site/apt/{examples → usage}/branch.apt
  232. +5 −0 maven-release-plugin/src/site/apt/{examples → usage}/clean-release.apt
  233. 0 maven-release-plugin/src/site/apt/{examples → usage}/generate-release-poms.apt
  234. 0 maven-release-plugin/src/site/apt/{examples → usage}/non-interactive-release.apt
  235. +2 −0 maven-release-plugin/src/site/apt/{examples → usage}/perform-release.apt.vm
  236. +45 −2 maven-release-plugin/src/site/apt/{examples → usage}/prepare-release.apt.vm
  237. 0 maven-release-plugin/src/site/apt/{examples → usage}/rollback-release.apt
  238. 0 maven-release-plugin/src/site/apt/{examples → usage}/update-versions.apt
  239. +11 −10 maven-release-plugin/src/site/site.xml
  240. +22 −29 maven-release-plugin/src/test/java/org/apache/maven/plugins/release/CleanReleaseMojoTest.java
  241. +206 −239 maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PerformReleaseMojoTest.java
  242. +209 −237 maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PrepareReleaseMojoTest.java
  243. +45 −58 maven-release-plugin/src/test/java/org/apache/maven/plugins/release/StageReleaseMojoTest.java
  244. +29 −42 ...-plugin/src/test/java/org/apache/maven/plugins/release/stubs/FlatMultiModuleMavenProjectStub.java
  245. +16 −26 maven-release-plugin/src/test/java/org/apache/maven/plugins/release/stubs/MavenProjectStub.java
  246. +4 −6 maven-release-policies/maven-release-oddeven-policy/pom.xml
  247. +35 −60 ...ven-policy/src/main/java/org/apache/maven/shared/release/policy/oddeven/OddEvenVersionPolicy.java
  248. +0 −4 ...ase-oddeven-policy/src/main/java/org/apache/maven/shared/release/policy/oddeven/package-info.java
  249. +21 −28 ...cy/src/test/java/org/apache/maven/shared/release/policy/oddeven/OddEvenVersionPolicyTestCase.java
  250. +3 −6 maven-release-policies/maven-release-semver-policy/pom.xml
  251. +19 −31 ...emver-policy/src/main/java/org/apache/maven/shared/release/policy/semver/SemVerVersionPolicy.java
  252. +16 −21 ...r-policy/src/test/java/org/apache/maven/shared/release/policy/semver/SemVerVersionPolicyTest.java
  253. +60 −60 pom.xml
  254. +2 −2 src/site/apt/index.apt
  255. +1 −2 src/site/site.xml
  256. +2 −2 src/site/xdoc/download.xml.vm
6 changes: 3 additions & 3 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
Following this checklist to help us incorporate your
contribution quickly and easily:

- [ ] Make sure there is a [JIRA issue](https://issues.apache.org/jira/browse/MJAVADOC) filed
- [ ] Make sure there is a [JIRA issue](https://issues.apache.org/jira/browse/MRELEASE) filed
for the change (usually before you start working on it). Trivial changes like typos do not
require a JIRA issue. Your pull request should address just this issue, without
pulling in other changes.
- [ ] Each commit in the pull request should have a meaningful subject line and body.
- [ ] Format the pull request title like `[MJAVADOC-XXX] - Fixes bug in ApproximateQuantiles`,
where you replace `MJAVADOC-XXX` with the appropriate JIRA issue. Best practice
- [ ] Format the pull request title like `[MRELEASE-XXX] - Fixes bug in ApproximateQuantiles`,
where you replace `MRELEASE-XXX` with the appropriate JIRA issue. Best practice
is to use the JIRA issue title in the pull request title and in the first line of the
commit message.
- [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
2 changes: 1 addition & 1 deletion .github/workflows/maven-verify.yml
Original file line number Diff line number Diff line change
@@ -24,4 +24,4 @@ on:
jobs:
build:
name: Verify
uses: apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml@v2
uses: apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml@v3
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -20,6 +20,7 @@ Contributing to [Apache Maven Release (Plugin)](https://maven.apache.org/maven-r
[![ASF Jira](https://img.shields.io/endpoint?url=https%3A%2F%2Fmaven.apache.org%2Fbadges%2Fasf_jira-MRELEASE.json)][jira]
[![Apache License, Version 2.0, January 2004](https://img.shields.io/github/license/apache/maven.svg?label=License)][license]
[![Maven Central](https://img.shields.io/maven-central/v/org.apache.maven.plugins/maven-release-plugin.svg?label=Maven%20Central)](https://search.maven.org/artifact/org.apache.maven.plugins/maven-release-plugin)
[![Reproducible Builds](https://img.shields.io/badge/Reproducible_Builds-ok-green?labelColor=blue)](https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/org/apache/maven/plugins/maven-release-plugin/README.md)
[![Jenkins Status](https://img.shields.io/jenkins/s/https/ci-maven.apache.org/job/Maven/job/maven-box/job/maven-release/job/master.svg?)][build]
[![Jenkins tests](https://img.shields.io/jenkins/t/https/ci-maven.apache.org/job/Maven/job/maven-box/job/maven-release/job/master.svg?)][test-results]

12 changes: 5 additions & 7 deletions maven-release-api/pom.xml
Original file line number Diff line number Diff line change
@@ -17,13 +17,12 @@
~ specific language governing permissions and limitations
~ under the License.
-->

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.maven.release</groupId>
<artifactId>maven-release</artifactId>
<version>3.0.0-M7</version>
<version>3.0.0</version>
</parent>

<artifactId>maven-release-api</artifactId>
@@ -52,6 +51,10 @@
<groupId>org.apache.maven</groupId>
<artifactId>maven-settings</artifactId>
</dependency>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-api</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-api</artifactId>
@@ -70,10 +73,5 @@
<artifactId>slf4j-api</artifactId>
</dependency>

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,30 +16,27 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release;

/**
* Exception occurring during release execution.
*
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
*/
public class ReleaseExecutionException
extends Exception
{
public class ReleaseExecutionException extends Exception {
/**
* Creates a new instance of <code>ReleaseExecutionException</code> without detail message.
*/
public ReleaseExecutionException( String message )
{
super( message );
public ReleaseExecutionException(String message) {
super(message);
}

/**
* Constructs an instance of <code>ReleaseExecutionException</code> with the specified detail message.
*
* @param message the detail message.
*/
public ReleaseExecutionException( String message, Throwable cause )
{
super( message, cause );
public ReleaseExecutionException(String message, Throwable cause) {
super(message, cause);
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,17 +16,15 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release;

/**
* A failure during the release process.
*
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
*/
public class ReleaseFailureException
extends Exception
{
public ReleaseFailureException( String message )
{
super( message );
public class ReleaseFailureException extends Exception {
public ReleaseFailureException(String message) {
super(message);
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,15 +16,15 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release;

import java.io.ByteArrayOutputStream;
import java.io.PrintStream;

/**
* @author Edwin Punzalan
*/
public class ReleaseResult
{
public class ReleaseResult {
/** The result of the release. */
public static final int UNDEFINED = -1;
/** The release was successful. */
@@ -42,66 +40,60 @@ public class ReleaseResult

private long endTime;

private static final String LS = System.getProperty( "line.separator" );
private static final String LS = System.getProperty("line.separator");

/**
* Append Info message to the output.
* @param message the message to append
*/
public void appendInfo( String message )
{
stdOut.append( "[INFO] " ).append( message ).append( LS );
public void appendInfo(String message) {
stdOut.append("[INFO] ").append(message).append(LS);
}
/**
* Append warning message to the output.
* @param message the message to append
*/
public void appendWarn( String message )
{
stdOut.append( "[WARN] " ).append( message ).append( LS );
public void appendWarn(String message) {
stdOut.append("[WARN] ").append(message).append(LS);
}

/**
* Append debug message to the output.
* @param message the message to append
*/
public void appendDebug( String message )
{
stdOut.append( "[DEBUG] " ).append( message ).append( LS );
public void appendDebug(String message) {
stdOut.append("[DEBUG] ").append(message).append(LS);
}

/**
* Append error message to the output.
* @param message the message to append
* @param e the exception to append
*/
public void appendDebug( String message, Exception e )
{
appendDebug( message );
public void appendDebug(String message, Exception e) {
appendDebug(message);

stdOut.append( getStackTrace( e ) ).append( LS );
stdOut.append(getStackTrace(e)).append(LS);
}

/**
* Append error message to the output.
*
* @param message the message to append
*/
public void appendError( String message )
{
stdOut.append( "[ERROR] " ).append( message ).append( LS );
public void appendError(String message) {
stdOut.append("[ERROR] ").append(message).append(LS);

setResultCode( ERROR );
setResultCode(ERROR);
}

/**
* Append error exception to the output
*
* @param e the exception to append
*/
public void appendError( Exception e )
{
appendError( getStackTrace( e ) );
public void appendError(Exception e) {
appendError(getStackTrace(e));
}

/**
@@ -110,65 +102,55 @@ public void appendError( Exception e )
* @param message the message to append
* @param e the exception to append
*/
public void appendError( String message, Exception e )
{
appendError( message );
public void appendError(String message, Exception e) {
appendError(message);

stdOut.append( getStackTrace( e ) ).append( LS );
stdOut.append(getStackTrace(e)).append(LS);
}

/**
* Append message to the output.
*
* @param message the message to append
*/
public void appendOutput( String message )
{
stdOut.append( message );
public void appendOutput(String message) {
stdOut.append(message);
}

public String getOutput()
{
public String getOutput() {
return stdOut.toString();
}

public int getResultCode()
{
public int getResultCode() {
return resultCode;
}

public void setResultCode( int resultCode )
{
public void setResultCode(int resultCode) {
this.resultCode = resultCode;
}

public long getStartTime()
{
public long getStartTime() {
return startTime;
}

public void setStartTime( long startTime )
{
public void setStartTime(long startTime) {
this.startTime = startTime;
}

public long getEndTime()
{
public long getEndTime() {
return endTime;
}

public void setEndTime( long endTime )
{
public void setEndTime(long endTime) {
this.endTime = endTime;
}

private String getStackTrace( Exception e )
{
private String getStackTrace(Exception e) {
ByteArrayOutputStream byteStream = new ByteArrayOutputStream();

PrintStream stream = new PrintStream( byteStream );
PrintStream stream = new PrintStream(byteStream);

e.printStackTrace( stream );
e.printStackTrace(stream);

stream.flush();

Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release.config;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release.config;

import java.util.List;

@@ -28,8 +27,7 @@
*
* @author Robert Scholte
*/
public interface ReleaseDescriptor
{
public interface ReleaseDescriptor {
/**
* Get if updateDependencies is false, dependencies version won't be updated to the next development version.
*
@@ -117,7 +115,6 @@ public interface ReleaseDescriptor
*/
boolean isRemoteTagging();


/**
* Get if the scm provider should sign the tag. NOTE: currently only implemented with git-exe.
*
@@ -426,6 +423,13 @@ public interface ReleaseDescriptor
*/
String getProjectVersionPolicyId();

/**
* Get the (optional) config for the VersionPolicy implementation used to calculate the project versions.
*
* @return The parsed XML of the provided config (an instance of XmlPlexusConfiguration) or null.
*/
Object getProjectVersionPolicyConfig();

/**
* Get the role-hint for the release Strategy implementation.
*
@@ -439,65 +443,63 @@ public interface ReleaseDescriptor
* @return {@code String} The original version for the resolved snapshot dependency.
* @param artifactKey the artifact key {@code String}
*/
String getDependencyOriginalVersion( String artifactKey );
String getDependencyOriginalVersion(String artifactKey);

/**
* <p>getDependencyReleaseVersion.</p>
*
* @return {@code String} the release version for the resolved snapshot dependency.
* @param artifactKey the artifact key {@code String}
*/
String getDependencyReleaseVersion( String artifactKey );
String getDependencyReleaseVersion(String artifactKey);

/**
* <p>getDependencyDevelopmentVersion.</p>
*
* @return {@code String} the release version for the resolved snapshot dependency.
* @param artifactKey the artifact key {@code String}
*/
String getDependencyDevelopmentVersion( String artifactKey );

String getDependencyDevelopmentVersion(String artifactKey);

/**
* <p>getProjectOriginalVersion.</p>
*
* @param projectKey a {@link java.lang.String} object
* @return a {@link java.lang.String} object
*/
String getProjectOriginalVersion( String projectKey );
String getProjectOriginalVersion(String projectKey);

/**
* <p>getProjectDevelopmentVersion.</p>
*
* @param projectKey a {@link java.lang.String} object
* @return a {@link java.lang.String} object
*/
String getProjectDevelopmentVersion( String projectKey );
String getProjectDevelopmentVersion(String projectKey);

/**
* <p>getProjectReleaseVersion.</p>
*
* @param key a {@link java.lang.String} object
* @return a {@link java.lang.String} object
*/
String getProjectReleaseVersion( String key );
String getProjectReleaseVersion(String key);

/**
* <p>getOriginalScmInfo.</p>
*
* @param projectKey the project key {@code String}
* @return the original {@code Scm} information.
*/
Scm getOriginalScmInfo( String projectKey );
Scm getOriginalScmInfo(String projectKey);

/**
* <p>hasOriginalScmInfo.</p>
*
* @param projectKey the project key {@code String}
* @return has original Scm info.
*/
boolean hasOriginalScmInfo( String projectKey );

boolean hasOriginalScmInfo(String projectKey);

// Modifiable
/**
@@ -506,67 +508,67 @@ public interface ReleaseDescriptor
* @param versionlessKey a {@link java.lang.String} object
* @param string a {@link java.lang.String} object
*/
void addDependencyOriginalVersion( String versionlessKey, String string );
void addDependencyOriginalVersion(String versionlessKey, String string);

/**
* <p>addDependencyReleaseVersion.</p>
*
* @param versionlessKey a {@link java.lang.String} object
* @param version a {@link java.lang.String} object
*/
void addDependencyReleaseVersion( String versionlessKey, String version );
void addDependencyReleaseVersion(String versionlessKey, String version);

/**
* <p>addDependencyDevelopmentVersion.</p>
*
* @param versionlessKey a {@link java.lang.String} object
* @param version a {@link java.lang.String} object
*/
void addDependencyDevelopmentVersion( String versionlessKey, String version );
void addDependencyDevelopmentVersion(String versionlessKey, String version);

/**
* <p>addReleaseVersion.</p>
*
* @param projectId a {@link java.lang.String} object
* @param nextVersion a {@link java.lang.String} object
*/
void addReleaseVersion( String projectId, String nextVersion );
void addReleaseVersion(String projectId, String nextVersion);

/**
* <p>addDevelopmentVersion.</p>
*
* @param projectId a {@link java.lang.String} object
* @param nextVersion a {@link java.lang.String} object
*/
void addDevelopmentVersion( String projectId, String nextVersion );
void addDevelopmentVersion(String projectId, String nextVersion);

/**
* <p>setScmReleaseLabel.</p>
*
* @param tag a {@link java.lang.String} object
*/
void setScmReleaseLabel( String tag );
void setScmReleaseLabel(String tag);

/**
* <p>setScmReleasedPomRevision.</p>
*
* @param scmRevision a {@link java.lang.String} object
*/
void setScmReleasedPomRevision( String scmRevision );
void setScmReleasedPomRevision(String scmRevision);

/**
* <p>setScmRelativePathProjectDirectory.</p>
*
* @param scmRelativePathProjectDirectory a {@link java.lang.String} object
*/
void setScmRelativePathProjectDirectory( String scmRelativePathProjectDirectory );
void setScmRelativePathProjectDirectory(String scmRelativePathProjectDirectory);

/**
* <p>setScmSourceUrl.</p>
*
* @param scmUrl a {@link java.lang.String} object
*/
void setScmSourceUrl( String scmUrl );
void setScmSourceUrl(String scmUrl);

/**
* Returns whether unresolved SNAPSHOT dependencies should automatically be resolved.
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release.env;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release.env;

import java.io.File;

@@ -27,8 +26,7 @@
* <p>ReleaseEnvironment interface.</p>
*
*/
public interface ReleaseEnvironment
{
public interface ReleaseEnvironment {

/** Constant <code>DEFAULT_MAVEN_EXECUTOR_ID="forked-path"</code> */
String DEFAULT_MAVEN_EXECUTOR_ID = "forked-path";
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release.phase;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release.phase;

import org.apache.maven.shared.release.ReleaseResult;
import org.slf4j.Logger;
@@ -28,13 +27,10 @@
*
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
*/
public abstract class AbstractReleasePhase
implements ReleasePhase
{
private final Logger logger = LoggerFactory.getLogger( getClass() );
public abstract class AbstractReleasePhase implements ReleasePhase {
private final Logger logger = LoggerFactory.getLogger(getClass());

protected Logger getLogger()
{
protected Logger getLogger() {
return logger;
}

@@ -44,10 +40,9 @@ protected Logger getLogger()
* @param result a {@link org.apache.maven.shared.release.ReleaseResult} object
* @param message a {@link java.lang.String} object
*/
protected void logInfo( ReleaseResult result, String message )
{
result.appendInfo( message );
getLogger().info( message );
protected void logInfo(ReleaseResult result, String message) {
result.appendInfo(message);
getLogger().info(message);
}

/**
@@ -56,10 +51,9 @@ protected void logInfo( ReleaseResult result, String message )
* @param result a {@link org.apache.maven.shared.release.ReleaseResult} object
* @param message a {@link java.lang.String} object
*/
protected void logWarn( ReleaseResult result, String message )
{
result.appendWarn( message );
getLogger().warn( message );
protected void logWarn(ReleaseResult result, String message) {
result.appendWarn(message);
getLogger().warn(message);
}

/**
@@ -68,10 +62,9 @@ protected void logWarn( ReleaseResult result, String message )
* @param result a {@link org.apache.maven.shared.release.ReleaseResult} object
* @param message a {@link java.lang.String} object
*/
protected void logError( ReleaseResult result, String message )
{
result.appendWarn( message );
getLogger().error( message );
protected void logError(ReleaseResult result, String message) {
result.appendWarn(message);
getLogger().error(message);
}

/**
@@ -80,10 +73,9 @@ protected void logError( ReleaseResult result, String message )
* @param result a {@link org.apache.maven.shared.release.ReleaseResult} object
* @param message a {@link java.lang.String} object
*/
protected void logDebug( ReleaseResult result, String message )
{
result.appendDebug( message );
getLogger().debug( message );
protected void logDebug(ReleaseResult result, String message) {
result.appendDebug(message);
getLogger().debug(message);
}

/**
@@ -93,22 +85,20 @@ protected void logDebug( ReleaseResult result, String message )
* @param message a {@link java.lang.String} object
* @param e a {@link java.lang.Exception} object
*/
protected void logDebug( ReleaseResult result, String message, Exception e )
{
result.appendDebug( message, e );
getLogger().debug( message, e );
protected void logDebug(ReleaseResult result, String message, Exception e) {
result.appendDebug(message, e);
getLogger().debug(message, e);
}

/**
* <p>getReleaseResultSuccess.</p>
*
* @return a {@link org.apache.maven.shared.release.ReleaseResult} object
*/
protected ReleaseResult getReleaseResultSuccess()
{
protected ReleaseResult getReleaseResultSuccess() {
ReleaseResult result = new ReleaseResult();

result.setResultCode( ReleaseResult.SUCCESS );
result.setResultCode(ReleaseResult.SUCCESS);

return result;
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release.phase;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,6 +16,9 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release.phase;

import java.util.List;

import org.apache.maven.project.MavenProject;
import org.apache.maven.shared.release.ReleaseExecutionException;
@@ -26,15 +27,12 @@
import org.apache.maven.shared.release.config.ReleaseDescriptor;
import org.apache.maven.shared.release.env.ReleaseEnvironment;

import java.util.List;

/**
* A phase in the release cycle.
*
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
*/
public interface ReleasePhase
{
public interface ReleasePhase {
/**
* Execute the phase.
*
@@ -45,9 +43,11 @@ public interface ReleasePhase
* @throws ReleaseFailureException a failure during the execution of the phase
* @return the release result
*/
ReleaseResult execute( ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment,
List<MavenProject> reactorProjects )
throws ReleaseExecutionException, ReleaseFailureException;
ReleaseResult execute(
ReleaseDescriptor releaseDescriptor,
ReleaseEnvironment releaseEnvironment,
List<MavenProject> reactorProjects)
throws ReleaseExecutionException, ReleaseFailureException;

/**
* Simulate the phase, but don't make any changes to the project.
@@ -59,8 +59,9 @@ ReleaseResult execute( ReleaseDescriptor releaseDescriptor, ReleaseEnvironment r
* @throws ReleaseFailureException a failure during the execution of the phase
* @return the release result
*/
ReleaseResult simulate( ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment,
List<MavenProject> reactorProjects )
throws ReleaseExecutionException, ReleaseFailureException;

ReleaseResult simulate(
ReleaseDescriptor releaseDescriptor,
ReleaseEnvironment releaseEnvironment,
List<MavenProject> reactorProjects)
throws ReleaseExecutionException, ReleaseFailureException;
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release.phase;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release.phase;

import java.util.List;

@@ -30,13 +29,12 @@
* @author Robert Scholte
* @since 3.0.0-M5
*/
public interface ResourceGenerator
{
public interface ResourceGenerator {
/**
* Clean up after a phase if it leaves any additional files in the checkout.
*
* @param reactorProjects the reactor projects
* @return the release result
*/
ReleaseResult clean( List<MavenProject> reactorProjects );
ReleaseResult clean(List<MavenProject> reactorProjects);
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release.policy;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,34 +16,31 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release.policy;

/**
* <p>PolicyException class.</p>
*
* @since 2.5.1 (MRELEASE-431)
*/
public class PolicyException
extends Exception
{
public class PolicyException extends Exception {

/**
* <p>Constructor for PolicyException.</p>
*
* @param message a {@link java.lang.String} object
*/
public PolicyException( String message )
{
super( message );
public PolicyException(String message) {
super(message);
}

/**
* <p>Constructor for PolicyException.</p>
*
* @param message a {@link java.lang.String} object
* @param exception a {@link java.lang.Exception} object
*/
public PolicyException( String message, Exception exception )
{
super( message, exception );
public PolicyException(String message, Exception exception) {
super(message, exception);
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release.policy.naming;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release.policy.naming;

import org.apache.maven.shared.release.policy.PolicyException;

@@ -26,16 +25,13 @@
*
* @since 3.0.0 (MRELEASE-979)
*/
public interface NamingPolicy
{
public interface NamingPolicy {
/**
* <p>getName.</p>
*
* @return the calculation of the name used for branching or tagging.
* @param request the {@code NamingPolicyRequest}
* @throws org.apache.maven.shared.release.policy.PolicyException if exception in the policy
*/
NamingPolicyResult getName( NamingPolicyRequest request )
throws PolicyException;

NamingPolicyResult getName(NamingPolicyRequest request) throws PolicyException;
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release.policy.naming;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,28 +16,27 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release.policy.naming;

/**
* <p>NamingPolicyRequest class.</p>
*
* @author Robert Scholte
* @since 3.0.0-M5
*/
public class NamingPolicyRequest
{
public class NamingPolicyRequest {
private String groupId;

private String artifactId;

private String version;

/**
* <p>Getter for the field <code>groupId</code>.</p>
*
* @return a {@link java.lang.String} object
*/
public String getGroupId()
{
public String getGroupId() {
return groupId;
}

@@ -49,8 +46,7 @@ public String getGroupId()
* @param groupId a {@link java.lang.String} object
* @return a {@link org.apache.maven.shared.release.policy.naming.NamingPolicyRequest} object
*/
public NamingPolicyRequest setGroupId( String groupId )
{
public NamingPolicyRequest setGroupId(String groupId) {
this.groupId = groupId;
return this;
}
@@ -60,8 +56,7 @@ public NamingPolicyRequest setGroupId( String groupId )
*
* @return a {@link java.lang.String} object
*/
public String getArtifactId()
{
public String getArtifactId() {
return artifactId;
}

@@ -71,8 +66,7 @@ public String getArtifactId()
* @param artifactId a {@link java.lang.String} object
* @return a {@link org.apache.maven.shared.release.policy.naming.NamingPolicyRequest} object
*/
public NamingPolicyRequest setArtifactId( String artifactId )
{
public NamingPolicyRequest setArtifactId(String artifactId) {
this.artifactId = artifactId;
return this;
}
@@ -82,8 +76,7 @@ public NamingPolicyRequest setArtifactId( String artifactId )
*
* @return a {@link java.lang.String} object
*/
public String getVersion()
{
public String getVersion() {
return version;
}

@@ -93,8 +86,7 @@ public String getVersion()
* @param version a {@link java.lang.String} object
* @return a {@link org.apache.maven.shared.release.policy.naming.NamingPolicyRequest} object
*/
public NamingPolicyRequest setVersion( String version )
{
public NamingPolicyRequest setVersion(String version) {
this.version = version;
return this;
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release.policy.naming;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release.policy.naming;

/**
* <p>NamingPolicyResult class.</p>
*
* @since 3.0.0 (MRELEASE-979)
*/
public class NamingPolicyResult
{
public class NamingPolicyResult {
/**
* The tag or branch name to use.
*/
@@ -36,8 +34,7 @@ public class NamingPolicyResult
*
* @return a {@link java.lang.String} object
*/
public String getName()
{
public String getName() {
return name;
}

@@ -47,10 +44,8 @@ public String getName()
* @param name a {@link java.lang.String} object
* @return a {@link org.apache.maven.shared.release.policy.naming.NamingPolicyResult} object
*/
public NamingPolicyResult setName( String name )
{
public NamingPolicyResult setName(String name) {
this.name = name;
return this;
}

}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release.policy.version;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,17 +16,17 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release.policy.version;

import org.apache.maven.shared.release.policy.PolicyException;
import org.apache.maven.shared.release.versions.VersionParseException;

/**
* API for next version calculations, used by maven-release-plugin to suggest release and next develoment versions.
* API for next version calculations, used by maven-release-plugin to suggest release and next development versions.
*
* @since 2.5.1 (MRELEASE-431)
*/
public interface VersionPolicy
{
public interface VersionPolicy {
/**
* <p>getReleaseVersion.</p>
*
@@ -37,8 +35,7 @@ public interface VersionPolicy
* @throws org.apache.maven.shared.release.policy.PolicyException if exception in the policy
* @throws org.apache.maven.shared.release.versions.VersionParseException if exception parsing the version
*/
VersionPolicyResult getReleaseVersion( VersionPolicyRequest request )
throws PolicyException, VersionParseException;
VersionPolicyResult getReleaseVersion(VersionPolicyRequest request) throws PolicyException, VersionParseException;

/**
* <p>getDevelopmentVersion.</p>
@@ -48,6 +45,6 @@ VersionPolicyResult getReleaseVersion( VersionPolicyRequest request )
* @throws org.apache.maven.shared.release.policy.PolicyException if exception in the policy
* @throws org.apache.maven.shared.release.versions.VersionParseException if exception parsing the version
*/
VersionPolicyResult getDevelopmentVersion( VersionPolicyRequest request )
throws PolicyException, VersionParseException;
VersionPolicyResult getDevelopmentVersion(VersionPolicyRequest request)
throws PolicyException, VersionParseException;
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release.policy.version;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,28 +16,35 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release.policy.version;

import org.apache.maven.artifact.repository.metadata.Metadata;
import org.apache.maven.scm.provider.ScmProvider;
import org.apache.maven.scm.repository.ScmRepository;

/**
* <p>VersionPolicyRequest class.</p>
*
* @since 2.5.1 (MRELEASE-431)
*/
public class VersionPolicyRequest
{
public class VersionPolicyRequest {

private String version;

private Metadata metaData;

private ScmRepository scmRepository;
private ScmProvider scmProvider;
private String workingDirectory;

private String config;

/**
* <p>Getter for the field <code>version</code>.</p>
*
* @return a {@link java.lang.String} object
*/
public String getVersion()
{
public String getVersion() {
return version;
}

@@ -49,32 +54,108 @@ public String getVersion()
* @param version a {@link java.lang.String} object
* @return a {@link org.apache.maven.shared.release.policy.version.VersionPolicyRequest} object
*/
public VersionPolicyRequest setVersion( String version )
{
public VersionPolicyRequest setVersion(String version) {
this.version = version;
return this;
}

/**
* <p>Getter for the field <code>metaData</code>.</p>
*
* @return a {@link org.apache.maven.artifact.repository.metadata.Metadata} object
*/
public Metadata getMetaData()
{
public Metadata getMetaData() {
return metaData;
}

/**
* <p>Setter for the field <code>metaData</code>.</p>
*
* @param metaData a {@link org.apache.maven.artifact.repository.metadata.Metadata} object
* @return a {@link org.apache.maven.shared.release.policy.version.VersionPolicyRequest} object
*/
public VersionPolicyRequest setMetaData( Metadata metaData )
{
public VersionPolicyRequest setMetaData(Metadata metaData) {
this.metaData = metaData;
return this;
}


/**
* <p>Getter for the field <code>scmRepository</code>.</p>
*
* @return a {@link ScmRepository} object
*/
public ScmRepository getScmRepository() {
return scmRepository;
}

/**
* <p>Setter for the field <code>scmRepository</code>.</p>
*
* @param scmRepository The {@link ScmRepository} where the history can be retrieved.
* @return a {@link org.apache.maven.shared.release.policy.version.VersionPolicyRequest} object
*/
public VersionPolicyRequest setScmRepository(ScmRepository scmRepository) {
this.scmRepository = scmRepository;
return this;
}

/**
* <p>Getter for the field <code>scmProvider</code>.</p>
*
* @return a {@link ScmProvider} object
*/
public ScmProvider getScmProvider() {
return scmProvider;
}

/**
* <p>Setter for the field <code>scmProvider</code>.</p>
*
* @param scmProvider The {@link ScmProvider} where the history can be retrieved.
* @return a {@link org.apache.maven.shared.release.policy.version.VersionPolicyRequest} object
*/
public VersionPolicyRequest setScmProvider(ScmProvider scmProvider) {
this.scmProvider = scmProvider;
return this;
}

/**
* <p>Getter for the field <code>workingDirectory</code>.</p>
*
* @return the {@link String} that contains the workingDirectory (can be null or empty).
*/
public String getWorkingDirectory() {
return workingDirectory;
}

/**
* <p>Setter for the field <code>workingDirectory</code>.</p>
*
* @param workingDirectory The {@link String} that contains the workingDirectory (can be null or empty).
* @return a {@link org.apache.maven.shared.release.policy.version.VersionPolicyRequest} object
*/
public VersionPolicyRequest setWorkingDirectory(String workingDirectory) {
this.workingDirectory = workingDirectory;
return this;
}

/**
* <p>Getter for the field <code>config</code>.</p>
*
* @return the {@link String} that contains the config (can be null or empty).
*/
public String getConfig() {
return config;
}

/**
* <p>Setter for the field <code>config</code>.</p>
*
* @param config The {@link String} that contains the config (can be null or empty).
* @return a {@link org.apache.maven.shared.release.policy.version.VersionPolicyRequest} object
*/
public VersionPolicyRequest setConfig(String config) {
this.config = config;
return this;
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release.policy.version;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,23 +16,22 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release.policy.version;

/**
* <p>VersionPolicyResult class.</p>
*
* @since 2.5.1 (MRELEASE-431)
*/
public class VersionPolicyResult
{
public class VersionPolicyResult {
private String version;

/**
* <p>Getter for the field <code>version</code>.</p>
*
* @return a {@link java.lang.String} object
*/
public String getVersion()
{
public String getVersion() {
return version;
}

@@ -44,10 +41,8 @@ public String getVersion()
* @param version a {@link java.lang.String} object
* @return a {@link org.apache.maven.shared.release.policy.version.VersionPolicyResult} object
*/
public VersionPolicyResult setVersion( String version )
{
public VersionPolicyResult setVersion(String version) {
this.version = version;
return this;
}

}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release.strategy;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release.strategy;

import java.util.List;

@@ -28,36 +27,35 @@
*
* @author Robert Scholte
*/
public interface Strategy
{
public interface Strategy {
/**
* <p>getPreparePhases.</p>
*
* @return The release phases to execute the calling the prepare goal
*/
List<String> getPreparePhases();

/**
* <p>getPerformPhases.</p>
*
* @return The release phases to execute the calling the perform goal
*/
List<String> getPerformPhases();

/**
* <p>getBranchPhases.</p>
*
* @return The release phases to execute the calling the branch goal
*/
List<String> getBranchPhases();

/**
* <p>getRollbackPhases.</p>
*
* @return The release phases to execute the calling the rollback goal
*/
List<String> getRollbackPhases();

/**
* <p>getUpdateVersionsPhases.</p>
*
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release.versions;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,31 +16,24 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release.versions;

import org.eclipse.aether.util.version.GenericVersionScheme;
import org.eclipse.aether.version.InvalidVersionSpecificationException;

class AetherVersion
implements org.eclipse.aether.version.Version
{
class AetherVersion implements org.eclipse.aether.version.Version {
private final org.eclipse.aether.version.Version version;

AetherVersion( String version )
throws VersionParseException
{
try
{
this.version = new GenericVersionScheme().parseVersion( version );
}
catch ( InvalidVersionSpecificationException e )
{
throw new VersionParseException( e.getMessage() );
AetherVersion(String version) throws VersionParseException {
try {
this.version = new GenericVersionScheme().parseVersion(version);
} catch (InvalidVersionSpecificationException e) {
throw new VersionParseException(e.getMessage());
}
}

@Override
public String toString()
{
public String toString() {
return this.version.toString();
}

@@ -52,8 +43,7 @@ public String toString()
* @param other a {@link org.eclipse.aether.version.Version} object
* @return a int
*/
public int compareTo( org.eclipse.aether.version.Version other )
{
return this.version.compareTo( other );
public int compareTo(org.eclipse.aether.version.Version other) {
return this.version.compareTo(other);
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release.versions;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,55 +16,44 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release.versions;

import org.apache.maven.artifact.versioning.ArtifactVersion;
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;

class MavenArtifactVersion
implements Comparable<MavenArtifactVersion>
{
class MavenArtifactVersion implements Comparable<MavenArtifactVersion> {
private final ArtifactVersion version;

MavenArtifactVersion( String version )
{
this.version = new DefaultArtifactVersion( version );
MavenArtifactVersion(String version) {
this.version = new DefaultArtifactVersion(version);
}

public int compareTo( MavenArtifactVersion o )
{
return version.compareTo( o.version );
public int compareTo(MavenArtifactVersion o) {
return version.compareTo(o.version);
}

@Override
public String toString()
{
public String toString() {
return this.version.toString();
}

@Override
public int hashCode()
{
public int hashCode() {
return this.version.hashCode();
}

@Override
public boolean equals( Object other )
{
if ( this == other )
{
public boolean equals(Object other) {
if (this == other) {
return true;
}
if ( other == null )
{
if (other == null) {
return false;
}

if ( other instanceof MavenArtifactVersion )
{
return version.equals( ( (MavenArtifactVersion) other ).version );
if (other instanceof MavenArtifactVersion) {
return version.equals(((MavenArtifactVersion) other).version);
}
return false;
}


}

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release.versions;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,13 +16,12 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release.versions;

/**
* <p>VersionComparisonConflictException class.</p>
*/
public class VersionComparisonConflictException
extends RuntimeException
{
public class VersionComparisonConflictException extends RuntimeException {

private final String lhsVersion;

@@ -42,20 +39,17 @@ public class VersionComparisonConflictException
* @param aetherComparisonResult a int
* @param mavenComparisonResult a int
*/
public VersionComparisonConflictException( String lhsVersion, String rhsVersion, int aetherComparisonResult,
int mavenComparisonResult )
{
public VersionComparisonConflictException(
String lhsVersion, String rhsVersion, int aetherComparisonResult, int mavenComparisonResult) {
this.lhsVersion = lhsVersion;
this.rhsVersion = rhsVersion;
this.aetherComparisonResult = aetherComparisonResult;
this.mavenComparisonResult = mavenComparisonResult;
}

@Override
public String getMessage()
{
public String getMessage() {
return "Conflict when comparing " + lhsVersion + " with " + rhsVersion + "; Aether: " + aetherComparisonResult
+ "; Maven: " + mavenComparisonResult;
+ "; Maven: " + mavenComparisonResult;
}

}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release.versions;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,20 +16,27 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release.versions;

/**
* <p>VersionParseException class.</p>
*/
public class VersionParseException
extends Exception
{
public class VersionParseException extends Exception {
/**
* <p>Constructor for VersionParseException.</p>
*
* @param message a {@link java.lang.String} object
*/
public VersionParseException(String message) {
super(message);
}

/**
* <p>Constructor for VersionParseException.</p>
*
* @param message a {@link java.lang.String} object
*/
public VersionParseException( String message )
{
super( message );
public VersionParseException(String message, Throwable e) {
super(message, e);
}
}
27 changes: 15 additions & 12 deletions maven-release-manager/pom.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
~ distributed with this work for additional information
@@ -17,14 +17,13 @@
~ specific language governing permissions and limitations
~ under the License.
-->

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>org.apache.maven.release</groupId>
<artifactId>maven-release</artifactId>
<version>3.0.0-M7</version>
<version>3.0.0</version>
</parent>

<artifactId>maven-release-manager</artifactId>
@@ -162,6 +161,12 @@
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-compat</artifactId>
@@ -187,13 +192,11 @@
<artifactId>slf4j-simple</artifactId>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.eclipse.sisu</groupId>
<artifactId>org.eclipse.sisu.plexus</artifactId>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-util</artifactId>
@@ -241,20 +244,20 @@
<plugin>
<groupId>org.codehaus.modello</groupId>
<artifactId>modello-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<version>3.0.0</version>
<packageWithVersion>false</packageWithVersion>
<models>
<model>src/main/mdo/release-descriptor.mdo</model>
</models>
</configuration>
<executions>
<execution>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release;

import java.util.List;

@@ -30,8 +29,7 @@
* @author Robert Scholte
* @since 2.3
*/
public abstract class AbstractReleaseRequest
{
public abstract class AbstractReleaseRequest {
private ReleaseDescriptorBuilder releaseDescriptorBuilder;

private List<MavenProject> reactorProjects;
@@ -43,8 +41,7 @@ public abstract class AbstractReleaseRequest
*
* @return the releaseDescriptor
*/
public ReleaseDescriptorBuilder getReleaseDescriptorBuilder()
{
public ReleaseDescriptorBuilder getReleaseDescriptorBuilder() {
return releaseDescriptorBuilder;
}

@@ -53,8 +50,7 @@ public ReleaseDescriptorBuilder getReleaseDescriptorBuilder()
*
* @param releaseDescriptor the releaseDescriptor to set
*/
public void setReleaseDescriptorBuilder( ReleaseDescriptorBuilder releaseDescriptor )
{
public void setReleaseDescriptorBuilder(ReleaseDescriptorBuilder releaseDescriptor) {
this.releaseDescriptorBuilder = releaseDescriptor;
}

@@ -63,8 +59,7 @@ public void setReleaseDescriptorBuilder( ReleaseDescriptorBuilder releaseDescrip
*
* @return the reactorProjects
*/
public List<MavenProject> getReactorProjects()
{
public List<MavenProject> getReactorProjects() {
return reactorProjects;
}

@@ -73,8 +68,7 @@ public List<MavenProject> getReactorProjects()
*
* @param reactorProjects the reactorProjects to set
*/
public void setReactorProjects( List<MavenProject> reactorProjects )
{
public void setReactorProjects(List<MavenProject> reactorProjects) {
this.reactorProjects = reactorProjects;
}

@@ -83,8 +77,7 @@ public void setReactorProjects( List<MavenProject> reactorProjects )
*
* @return the releaseManagerListener
*/
public ReleaseManagerListener getReleaseManagerListener()
{
public ReleaseManagerListener getReleaseManagerListener() {
return releaseManagerListener;
}

@@ -93,8 +86,7 @@ public ReleaseManagerListener getReleaseManagerListener()
*
* @param releaseManagerListener the releaseManagerListener to set
*/
public void setReleaseManagerListener( ReleaseManagerListener releaseManagerListener )
{
public void setReleaseManagerListener(ReleaseManagerListener releaseManagerListener) {
this.releaseManagerListener = releaseManagerListener;
}
}

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release;

import java.util.List;

@@ -31,9 +30,7 @@
*
* @author Hervé Boutemy
*/
public class DefaultReleaseManagerListener
implements ReleaseManagerListener
{
public class DefaultReleaseManagerListener implements ReleaseManagerListener {
private final Log log;

private final boolean dryRun;
@@ -49,9 +46,8 @@ public class DefaultReleaseManagerListener
*
* @param log a {@link org.apache.maven.plugin.logging.Log} object
*/
public DefaultReleaseManagerListener( Log log )
{
this( log, false );
public DefaultReleaseManagerListener(Log log) {
this(log, false);
}

/**
@@ -60,62 +56,53 @@ public DefaultReleaseManagerListener( Log log )
* @param log a {@link org.apache.maven.plugin.logging.Log} object
* @param dryRun a boolean
*/
public DefaultReleaseManagerListener( Log log, boolean dryRun )
{
public DefaultReleaseManagerListener(Log log, boolean dryRun) {
this.log = log;
this.dryRun = dryRun;
}

private void nextPhase( String name )
{
private void nextPhase(String name) {
currentPhase++;
if ( !name.equals( phases.get( currentPhase ) ) )
{
log.warn( "inconsistent phase name: expected '" + phases.get( currentPhase ) + "' but got '" + name + "'" );
if (!name.equals(phases.get(currentPhase))) {
log.warn("inconsistent phase name: expected '" + phases.get(currentPhase) + "' but got '" + name + "'");
}
}

public void goalStart( String goal, List<String> phases )
{
log.info( "starting " + buffer().mojo( goal ) + " goal" + ( dryRun ? " in dry-run mode" : "" )
+ ", composed of " + phases.size() + " phases: " + StringUtils.join( phases.iterator(), ", " ) );
public void goalStart(String goal, List<String> phases) {
log.info("starting " + buffer().mojo(goal) + " goal" + (dryRun ? " in dry-run mode" : "") + ", composed of "
+ phases.size() + " phases: " + StringUtils.join(phases.iterator(), ", "));
currentPhase = -1;
this.phases = phases;
this.goal = goal;
}

public void phaseStart( String name )
{
nextPhase( name );
log.info( ( currentPhase + 1 ) + "/" + phases.size() + ' ' + buffer().mojo( goal + ':' + name )
+ ( dryRun ? " dry-run" : "" ) );
public void phaseStart(String name) {
nextPhase(name);
log.info((currentPhase + 1) + "/" + phases.size() + ' ' + buffer().mojo(goal + ':' + name)
+ (dryRun ? " dry-run" : ""));
}

/**
* <p>phaseEnd.</p>
*/
public void phaseEnd()
{
public void phaseEnd() {
// NOOP
}

public void phaseSkip( String name )
{
nextPhase( name );
public void phaseSkip(String name) {
nextPhase(name);
}

/**
* <p>goalEnd.</p>
*/
public void goalEnd()
{
public void goalEnd() {
goal = null;
phases = null;
}

public void error( String reason )
{
log.error( "error during phase " + ( currentPhase + 1 ) + "/" + phases.size() + " " + phases.get( currentPhase )
+ ": " + reason );
public void error(String reason) {
log.error("error during phase " + (currentPhase + 1) + "/" + phases.size() + " " + phases.get(currentPhase)
+ ": " + reason);
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,8 +16,10 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release;

import java.util.Properties;

import org.apache.maven.shared.release.env.ReleaseEnvironment;

/**
@@ -28,22 +28,20 @@
* @author Robert Scholte
* @since 2.3
*/
public class ReleaseBranchRequest extends AbstractReleaseRequest
{
public class ReleaseBranchRequest extends AbstractReleaseRequest {
// using Boolean to detect if has been set explicitly
private Boolean dryRun;

private ReleaseEnvironment releaseEnvironment;

private Properties userProperties;

/**
* <p>Getter for the field <code>dryRun</code>.</p>
*
* @return the dryRun
*/
public Boolean getDryRun()
{
public Boolean getDryRun() {
return dryRun;
}

@@ -52,8 +50,7 @@ public Boolean getDryRun()
*
* @param dryRun the dryRun to set
*/
public void setDryRun( Boolean dryRun )
{
public void setDryRun(Boolean dryRun) {
this.dryRun = dryRun;
}

@@ -62,8 +59,7 @@ public void setDryRun( Boolean dryRun )
*
* @return the releaseEnvironment
*/
public ReleaseEnvironment getReleaseEnvironment()
{
public ReleaseEnvironment getReleaseEnvironment() {
return releaseEnvironment;
}

@@ -72,28 +68,25 @@ public ReleaseEnvironment getReleaseEnvironment()
*
* @param releaseEnvironment the releaseEnvironment to set
*/
public void setReleaseEnvironment( ReleaseEnvironment releaseEnvironment )
{
public void setReleaseEnvironment(ReleaseEnvironment releaseEnvironment) {
this.releaseEnvironment = releaseEnvironment;
}

/**
* <p>Getter for the field <code>userProperties</code>.</p>
*
* @return a {@link java.util.Properties} object
*/
public Properties getUserProperties()
{
public Properties getUserProperties() {
return userProperties;
}

/**
* <p>Setter for the field <code>userProperties</code>.</p>
*
* @param userProperties a {@link java.util.Properties} object
*/
public void setUserProperties( Properties userProperties )
{
public void setUserProperties(Properties userProperties) {
this.userProperties = userProperties;
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,14 +16,12 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release;

/**
* <p>ReleaseCleanRequest class.</p>
*
* @author Robert Scholte
* @since 2.3
*/
public class ReleaseCleanRequest
extends AbstractReleaseRequest
{
}
public class ReleaseCleanRequest extends AbstractReleaseRequest {}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release;

/**
* Release management classes.
*
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
*/
public interface ReleaseManager
{
public interface ReleaseManager {
/**
* Prepare a release.
*
@@ -34,23 +32,23 @@ public interface ReleaseManager
* @throws org.apache.maven.shared.release.ReleaseFailureException if there is a problem performing the release
* @since 2.3
*/
void prepare( ReleasePrepareRequest prepareRequest ) throws ReleaseExecutionException, ReleaseFailureException;
void prepare(ReleasePrepareRequest prepareRequest) throws ReleaseExecutionException, ReleaseFailureException;

/**
* <p>prepareWithResult.</p>
*
* @param prepareRequest a {@link org.apache.maven.shared.release.ReleasePrepareRequest} object
* @return a {@link org.apache.maven.shared.release.ReleaseResult} object
*/
ReleaseResult prepareWithResult( ReleasePrepareRequest prepareRequest );
ReleaseResult prepareWithResult(ReleasePrepareRequest prepareRequest);

/**
* <p>performWithResult.</p>
*
* @param performRequest a {@link org.apache.maven.shared.release.ReleasePerformRequest} object
* @return a {@link org.apache.maven.shared.release.ReleaseResult} object
*/
ReleaseResult performWithResult( ReleasePerformRequest performRequest );
ReleaseResult performWithResult(ReleasePerformRequest performRequest);

/**
* Perform a release
@@ -60,8 +58,7 @@ public interface ReleaseManager
* @throws org.apache.maven.shared.release.ReleaseFailureException if there is a problem performing the release
* @since 2.3
*/
void perform( ReleasePerformRequest performRequest )
throws ReleaseExecutionException, ReleaseFailureException;
void perform(ReleasePerformRequest performRequest) throws ReleaseExecutionException, ReleaseFailureException;

/**
* Clean a release.
@@ -70,7 +67,7 @@ void perform( ReleasePerformRequest performRequest )
* @throws org.apache.maven.shared.release.ReleaseFailureException if exception when releasing
* @since 2.3
*/
void clean( ReleaseCleanRequest cleanRequest ) throws ReleaseFailureException;
void clean(ReleaseCleanRequest cleanRequest) throws ReleaseFailureException;

/**
* Rollback changes made by the previous release
@@ -80,8 +77,7 @@ void perform( ReleasePerformRequest performRequest )
* @throws org.apache.maven.shared.release.ReleaseFailureException if there is a problem during release rollback
* @since 2.3
*/
void rollback( ReleaseRollbackRequest rollbackRequest )
throws ReleaseExecutionException, ReleaseFailureException;
void rollback(ReleaseRollbackRequest rollbackRequest) throws ReleaseExecutionException, ReleaseFailureException;

/**
* Branch a project
@@ -91,7 +87,7 @@ void rollback( ReleaseRollbackRequest rollbackRequest )
* @throws org.apache.maven.shared.release.ReleaseFailureException if there is a problem during release branch
* @since 2.3
*/
void branch( ReleaseBranchRequest branchRequest ) throws ReleaseExecutionException, ReleaseFailureException;
void branch(ReleaseBranchRequest branchRequest) throws ReleaseExecutionException, ReleaseFailureException;

/**
* Update version numbers for a project
@@ -101,6 +97,6 @@ void rollback( ReleaseRollbackRequest rollbackRequest )
* @throws org.apache.maven.shared.release.ReleaseFailureException if there is a problem during update versions
* @since 2.3
*/
void updateVersions( ReleaseUpdateVersionsRequest updateVersionsRequest )
throws ReleaseExecutionException, ReleaseFailureException;
void updateVersions(ReleaseUpdateVersionsRequest updateVersionsRequest)
throws ReleaseExecutionException, ReleaseFailureException;
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release;

import java.util.List;

@@ -26,22 +25,21 @@
*
* @author Edwin Punzalan
*/
public interface ReleaseManagerListener
{
public interface ReleaseManagerListener {
/**
* <p>goalStart.</p>
*
* @param goal a {@link java.lang.String} object
* @param phases a {@link java.util.List} object
*/
void goalStart( String goal, List<String> phases );
void goalStart(String goal, List<String> phases);

/**
* <p>phaseStart.</p>
*
* @param name a {@link java.lang.String} object
*/
void phaseStart( String name );
void phaseStart(String name);

/**
* <p>phaseEnd.</p>
@@ -53,7 +51,7 @@ public interface ReleaseManagerListener
*
* @param name a {@link java.lang.String} object
*/
void phaseSkip( String name );
void phaseSkip(String name);

/**
* <p>goalEnd.</p>
@@ -65,5 +63,5 @@ public interface ReleaseManagerListener
*
* @param reason a {@link java.lang.String} object
*/
void error( String reason );
void error(String reason);
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release;

import org.apache.maven.shared.release.env.ReleaseEnvironment;

@@ -27,9 +26,7 @@
* @author Robert Scholte
* @since 2.3
*/
public class ReleasePerformRequest
extends AbstractReleaseRequest
{
public class ReleasePerformRequest extends AbstractReleaseRequest {
// using Boolean to detect if has been set explicitly
private Boolean dryRun;

@@ -43,8 +40,7 @@ public class ReleasePerformRequest
*
* @return the dryRun
*/
public Boolean getDryRun()
{
public Boolean getDryRun() {
return dryRun;
}

@@ -53,8 +49,7 @@ public Boolean getDryRun()
*
* @param dryRun the dryRun to set
*/
public void setDryRun( Boolean dryRun )
{
public void setDryRun(Boolean dryRun) {
this.dryRun = dryRun;
}

@@ -63,8 +58,7 @@ public void setDryRun( Boolean dryRun )
*
* @return the clean
*/
public Boolean getClean()
{
public Boolean getClean() {
return clean;
}

@@ -73,8 +67,7 @@ public Boolean getClean()
*
* @param clean the clean to set
*/
public void setClean( Boolean clean )
{
public void setClean(Boolean clean) {
this.clean = clean;
}

@@ -83,8 +76,7 @@ public void setClean( Boolean clean )
*
* @return the releaseEnvironment
*/
public ReleaseEnvironment getReleaseEnvironment()
{
public ReleaseEnvironment getReleaseEnvironment() {
return releaseEnvironment;
}

@@ -93,8 +85,7 @@ public ReleaseEnvironment getReleaseEnvironment()
*
* @param releaseEnvironment the releaseEnvironment to set
*/
public void setReleaseEnvironment( ReleaseEnvironment releaseEnvironment )
{
public void setReleaseEnvironment(ReleaseEnvironment releaseEnvironment) {
this.releaseEnvironment = releaseEnvironment;
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release;

import java.util.Properties;

@@ -29,26 +28,23 @@
* @author Robert Scholte
* @since 2.3
*/
public class ReleasePrepareRequest
extends AbstractReleaseRequest
{
public class ReleasePrepareRequest extends AbstractReleaseRequest {
// using Boolean to detect if has been set explicitly
private Boolean dryRun;

// using Boolean to detect if has been set explicitly
private Boolean resume;

private ReleaseEnvironment releaseEnvironment;

private Properties userProperties;

/**
* <p>Getter for the field <code>dryRun</code>.</p>
*
* @return the dryRun
*/
public Boolean getDryRun()
{
public Boolean getDryRun() {
return dryRun;
}

@@ -57,8 +53,7 @@ public Boolean getDryRun()
*
* @param dryRun the dryRun to set
*/
public void setDryRun( Boolean dryRun )
{
public void setDryRun(Boolean dryRun) {
this.dryRun = dryRun;
}

@@ -67,8 +62,7 @@ public void setDryRun( Boolean dryRun )
*
* @return the resume
*/
public Boolean getResume()
{
public Boolean getResume() {
return resume;
}

@@ -77,8 +71,7 @@ public Boolean getResume()
*
* @param resume the resume to set
*/
public void setResume( Boolean resume )
{
public void setResume(Boolean resume) {
this.resume = resume;
}

@@ -87,8 +80,7 @@ public void setResume( Boolean resume )
*
* @return the releaseEnvironment
*/
public ReleaseEnvironment getReleaseEnvironment()
{
public ReleaseEnvironment getReleaseEnvironment() {
return releaseEnvironment;
}

@@ -97,28 +89,25 @@ public ReleaseEnvironment getReleaseEnvironment()
*
* @param releaseEnvironment the releaseEnvironment to set
*/
public void setReleaseEnvironment( ReleaseEnvironment releaseEnvironment )
{
public void setReleaseEnvironment(ReleaseEnvironment releaseEnvironment) {
this.releaseEnvironment = releaseEnvironment;
}

/**
* <p>Getter for the field <code>userProperties</code>.</p>
*
* @return a {@link java.util.Properties} object
*/
public Properties getUserProperties()
{
public Properties getUserProperties() {
return userProperties;
}

/**
* <p>Setter for the field <code>userProperties</code>.</p>
*
* @param userProperties a {@link java.util.Properties} object
*/
public void setUserProperties( Properties userProperties )
{
public void setUserProperties(Properties userProperties) {
this.userProperties = userProperties;
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release;

import org.apache.maven.shared.release.env.ReleaseEnvironment;

@@ -27,18 +26,15 @@
* @author Robert Scholte
* @since 2.3
*/
public class ReleaseRollbackRequest
extends AbstractReleaseRequest
{
public class ReleaseRollbackRequest extends AbstractReleaseRequest {
private ReleaseEnvironment releaseEnvironment;

/**
* <p>Getter for the field <code>releaseEnvironment</code>.</p>
*
* @return the releaseEnvironment
*/
public ReleaseEnvironment getReleaseEnvironment()
{
public ReleaseEnvironment getReleaseEnvironment() {
return releaseEnvironment;
}

@@ -47,8 +43,7 @@ public ReleaseEnvironment getReleaseEnvironment()
*
* @param releaseEnvironment the releaseEnvironment to set
*/
public void setReleaseEnvironment( ReleaseEnvironment releaseEnvironment )
{
public void setReleaseEnvironment(ReleaseEnvironment releaseEnvironment) {
this.releaseEnvironment = releaseEnvironment;
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release;

import java.util.Properties;

@@ -29,20 +28,17 @@
* @author Robert Scholte
* @since 2.3
*/
public class ReleaseUpdateVersionsRequest
extends AbstractReleaseRequest
{
public class ReleaseUpdateVersionsRequest extends AbstractReleaseRequest {
private ReleaseEnvironment releaseEnvironment;

private Properties userProperties;

/**
* <p>Getter for the field <code>releaseEnvironment</code>.</p>
*
* @return the releaseEnvironment
*/
public ReleaseEnvironment getReleaseEnvironment()
{
public ReleaseEnvironment getReleaseEnvironment() {
return releaseEnvironment;
}

@@ -51,28 +47,25 @@ public ReleaseEnvironment getReleaseEnvironment()
*
* @param releaseEnvironment the releaseEnvironment to set
*/
public void setReleaseEnvironment( ReleaseEnvironment releaseEnvironment )
{
public void setReleaseEnvironment(ReleaseEnvironment releaseEnvironment) {
this.releaseEnvironment = releaseEnvironment;
}

/**
* <p>Getter for the field <code>userProperties</code>.</p>
*
* @return a {@link java.util.Properties} object
*/
public Properties getUserProperties()
{
public Properties getUserProperties() {
return userProperties;
}

/**
* <p>Setter for the field <code>userProperties</code>.</p>
*
* @param userProperties a {@link java.util.Properties} object
*/
public void setUserProperties( Properties userProperties )
{
public void setUserProperties(Properties userProperties) {
this.userProperties = userProperties;
}
}

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release.config;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release.config;

/**
* Storage for reading and writing release configuration.
*
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
*/
public interface ReleaseDescriptorStore
{
public interface ReleaseDescriptorStore {
/**
* Read a configuration.
*
@@ -34,22 +32,20 @@ public interface ReleaseDescriptorStore
* @return the configuration
* @throws org.apache.maven.shared.release.config.ReleaseDescriptorStoreException if any.
*/
ReleaseDescriptorBuilder read( ReleaseDescriptorBuilder mergeDescriptor )
throws ReleaseDescriptorStoreException;
ReleaseDescriptorBuilder read(ReleaseDescriptorBuilder mergeDescriptor) throws ReleaseDescriptorStoreException;

/**
* Save a configuration.
*
* @param config the configuration
* @throws org.apache.maven.shared.release.config.ReleaseDescriptorStoreException if any.
*/
void write( ReleaseDescriptor config )
throws ReleaseDescriptorStoreException;
void write(ReleaseDescriptor config) throws ReleaseDescriptorStoreException;

/**
* Remove a configuration.
*
* @param config the location of the configuration
*/
void delete( ReleaseDescriptor config );
void delete(ReleaseDescriptor config);
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release.config;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,23 +16,21 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release.config;

/**
* Exception occurring within the configuration store.
*
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
*/
public class ReleaseDescriptorStoreException
extends Exception
{
public class ReleaseDescriptorStoreException extends Exception {
/**
* <p>Constructor for ReleaseDescriptorStoreException.</p>
*
* @param message a {@link java.lang.String} object
* @param t a {@link java.lang.Throwable} object
*/
public ReleaseDescriptorStoreException( String message, Throwable t )
{
super( message, t );
public ReleaseDescriptorStoreException(String message, Throwable t) {
super(message, t);
}
}

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release.env;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release.env;

import java.io.File;

@@ -26,9 +25,7 @@
/**
* <p>DefaultReleaseEnvironment class.</p>
*/
public class DefaultReleaseEnvironment
implements ReleaseEnvironment
{
public class DefaultReleaseEnvironment implements ReleaseEnvironment {
private File mavenHome;

private File javaHome;
@@ -40,14 +37,12 @@ public class DefaultReleaseEnvironment
private String mavenExecutorId = DEFAULT_MAVEN_EXECUTOR_ID;

@Override
public File getMavenHome()
{
public File getMavenHome() {
return mavenHome;
}

@Override
public Settings getSettings()
{
public Settings getSettings() {
return settings;
}

@@ -57,8 +52,7 @@ public Settings getSettings()
* @param mavenHome a {@link java.io.File} object
* @return a {@link org.apache.maven.shared.release.env.DefaultReleaseEnvironment} object
*/
public DefaultReleaseEnvironment setMavenHome( File mavenHome )
{
public DefaultReleaseEnvironment setMavenHome(File mavenHome) {
this.mavenHome = mavenHome;
return this;
}
@@ -69,15 +63,13 @@ public DefaultReleaseEnvironment setMavenHome( File mavenHome )
* @param settings a {@link org.apache.maven.settings.Settings} object
* @return a {@link org.apache.maven.shared.release.env.DefaultReleaseEnvironment} object
*/
public DefaultReleaseEnvironment setSettings( Settings settings )
{
public DefaultReleaseEnvironment setSettings(Settings settings) {
this.settings = settings;
return this;
}

@Override
public String getMavenExecutorId()
{
public String getMavenExecutorId() {
return mavenExecutorId;
}

@@ -87,15 +79,13 @@ public String getMavenExecutorId()
* @param mavenExecutorId a {@link java.lang.String} object
* @return a {@link org.apache.maven.shared.release.env.DefaultReleaseEnvironment} object
*/
public DefaultReleaseEnvironment setMavenExecutorId( String mavenExecutorId )
{
public DefaultReleaseEnvironment setMavenExecutorId(String mavenExecutorId) {
this.mavenExecutorId = mavenExecutorId;
return this;
}

@Override
public File getJavaHome()
{
public File getJavaHome() {
return javaHome;
}

@@ -105,20 +95,17 @@ public File getJavaHome()
* @param javaHome a {@link java.io.File} object
* @return a {@link org.apache.maven.shared.release.env.DefaultReleaseEnvironment} object
*/
public DefaultReleaseEnvironment setJavaHome( File javaHome )
{
public DefaultReleaseEnvironment setJavaHome(File javaHome) {
this.javaHome = javaHome;
return this;
}

@Override
public File getLocalRepositoryDirectory()
{
public File getLocalRepositoryDirectory() {
File localRepo = localRepositoryDirectory;

if ( localRepo == null && settings != null && settings.getLocalRepository() != null )
{
localRepo = new File( settings.getLocalRepository() ).getAbsoluteFile();
if (localRepo == null && settings != null && settings.getLocalRepository() != null) {
localRepo = new File(settings.getLocalRepository()).getAbsoluteFile();
}

return localRepo;
@@ -130,8 +117,7 @@ public File getLocalRepositoryDirectory()
* @param localRepositoryDirectory a {@link java.io.File} object
* @return a {@link org.apache.maven.shared.release.env.DefaultReleaseEnvironment} object
*/
public DefaultReleaseEnvironment setLocalRepositoryDirectory( File localRepositoryDirectory )
{
public DefaultReleaseEnvironment setLocalRepositoryDirectory(File localRepositoryDirectory) {
this.localRepositoryDirectory = localRepositoryDirectory;
return this;
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release.exec;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release.exec;

import java.io.File;
import java.util.ArrayList;
@@ -42,48 +41,52 @@
/**
* <p>Abstract AbstractMavenExecutor class.</p>
*/
public abstract class AbstractMavenExecutor
implements MavenExecutor
{
private final Logger logger = LoggerFactory.getLogger( getClass() );
public abstract class AbstractMavenExecutor implements MavenExecutor {
private final Logger logger = LoggerFactory.getLogger(getClass());

private final MavenCrypto mavenCrypto;

protected AbstractMavenExecutor( MavenCrypto mavenCrypto )
{
this.mavenCrypto = requireNonNull( mavenCrypto );
protected AbstractMavenExecutor(MavenCrypto mavenCrypto) {
this.mavenCrypto = requireNonNull(mavenCrypto);
}

@Override
public void executeGoals( File workingDirectory, String goals, ReleaseEnvironment releaseEnvironment,
boolean interactive, String additionalArguments, String pomFileName,
ReleaseResult result )
throws MavenExecutorException
{
public void executeGoals(
File workingDirectory,
String goals,
ReleaseEnvironment releaseEnvironment,
boolean interactive,
String additionalArguments,
String pomFileName,
ReleaseResult result)
throws MavenExecutorException {
List<String> goalsList = new ArrayList<>();
if ( goals != null )
{
if (goals != null) {
// accept both space and comma, so the old way still work
// also accept line separators, so that goal lists can be spread
// across multiple lines in the POM.
Collections.addAll( goalsList, StringUtils.split( goals, ", \n\r\t" ) );
Collections.addAll(goalsList, StringUtils.split(goals, ", \n\r\t"));
}
executeGoals( workingDirectory, goalsList, releaseEnvironment, interactive, additionalArguments, pomFileName,
result );
executeGoals(
workingDirectory, goalsList, releaseEnvironment, interactive, additionalArguments, pomFileName, result);
}

protected abstract void executeGoals( File workingDirectory, List<String> goals,
ReleaseEnvironment releaseEnvironment, boolean interactive,
String additionalArguments, String pomFileName, ReleaseResult result )
protected abstract void executeGoals(
File workingDirectory,
List<String> goals,
ReleaseEnvironment releaseEnvironment,
boolean interactive,
String additionalArguments,
String pomFileName,
ReleaseResult result)
throws MavenExecutorException;

/**
* <p>Getter for the field <code>logger</code>.</p>
*
* @return a {@link Logger} object
*/
protected final Logger getLogger()
{
protected final Logger getLogger() {
return logger;
}

@@ -93,50 +96,35 @@ protected final Logger getLogger()
* @param settings a {@link org.apache.maven.settings.Settings} object
* @return a {@link org.apache.maven.settings.Settings} object
*/
protected Settings encryptSettings( Settings settings )
{
Settings encryptedSettings = SettingsUtils.copySettings( settings );
protected Settings encryptSettings(Settings settings) {
Settings encryptedSettings = SettingsUtils.copySettings(settings);

for ( Server server : encryptedSettings.getServers() )
{
for (Server server : encryptedSettings.getServers()) {
String password = server.getPassword();
if ( password != null && !mavenCrypto.isEncryptedString( password ) )
{
try
{
server.setPassword( mavenCrypto.encryptAndDecorate( password ) );
}
catch ( MavenCryptoException e )
{
if (password != null && !mavenCrypto.isEncryptedString(password)) {
try {
server.setPassword(mavenCrypto.encryptAndDecorate(password));
} catch (MavenCryptoException e) {
// ignore
}
}

String passphrase = server.getPassphrase();
if ( passphrase != null && !mavenCrypto.isEncryptedString( passphrase ) )
{
try
{
server.setPassphrase( mavenCrypto.encryptAndDecorate( passphrase ) );
}
catch ( MavenCryptoException e )
{
if (passphrase != null && !mavenCrypto.isEncryptedString(passphrase)) {
try {
server.setPassphrase(mavenCrypto.encryptAndDecorate(passphrase));
} catch (MavenCryptoException e) {
// ignore
}
}
}

for ( Proxy proxy : encryptedSettings.getProxies() )
{
for (Proxy proxy : encryptedSettings.getProxies()) {
String password = proxy.getPassword();
if ( password != null && !mavenCrypto.isEncryptedString( password ) )
{
try
{
proxy.setPassword( mavenCrypto.encryptAndDecorate( password ) );
}
catch ( MavenCryptoException e )
{
if (password != null && !mavenCrypto.isEncryptedString(password)) {
try {
proxy.setPassword(mavenCrypto.encryptAndDecorate(password));
} catch (MavenCryptoException e) {
// ignore
}
}
@@ -150,8 +138,7 @@ protected Settings encryptSettings( Settings settings )
*
* @return a {@link org.apache.maven.settings.io.xpp3.SettingsXpp3Writer} object
*/
protected SettingsXpp3Writer getSettingsWriter()
{
protected SettingsXpp3Writer getSettingsWriter() {
return new SettingsXpp3Writer();
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release.exec;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release.exec;

import org.codehaus.plexus.util.cli.Commandline;

@@ -26,8 +25,7 @@
*
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
*/
public interface CommandLineFactory
{
public interface CommandLineFactory {
/**
* Create a command line object with default environment for the given executable.
*
@@ -36,6 +34,5 @@ public interface CommandLineFactory
* @throws org.apache.maven.shared.release.exec.MavenExecutorException if there was a problem creating
* the command line
*/
Commandline createCommandLine( String executable )
throws MavenExecutorException;
Commandline createCommandLine(String executable) throws MavenExecutorException;
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release.exec;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release.exec;

import javax.inject.Named;
import javax.inject.Singleton;
@@ -31,23 +30,16 @@
*/
@Singleton
@Named
public class DefaultCommandLineFactory
implements CommandLineFactory
{
public class DefaultCommandLineFactory implements CommandLineFactory {
@Override
public Commandline createCommandLine( String executable )
throws MavenExecutorException
{
public Commandline createCommandLine(String executable) throws MavenExecutorException {
Commandline commandline = new Commandline();
commandline.setExecutable( executable );
commandline.setExecutable(executable);

try
{
try {
commandline.addSystemEnvironment();
}
catch ( Exception e )
{
throw new MavenExecutorException( e.getMessage(), e );
} catch (Exception e) {
throw new MavenExecutorException(e.getMessage(), e);
}

return commandline;
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package org.apache.maven.shared.release.exec;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.shared.release.exec;

import javax.inject.Inject;
import javax.inject.Named;
@@ -28,6 +27,7 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.List;

import org.apache.maven.settings.io.xpp3.SettingsXpp3Writer;
@@ -46,131 +46,108 @@
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
*/
@Singleton
@Named( "forked-path" )
public class ForkedMavenExecutor
extends AbstractMavenExecutor
{
@Named("forked-path")
public class ForkedMavenExecutor extends AbstractMavenExecutor {
/**
* Command line factory.
*/
private final CommandLineFactory commandLineFactory;

@Inject
public ForkedMavenExecutor( MavenCrypto mavenCrypto,
CommandLineFactory commandLineFactory )
{
super( mavenCrypto );
this.commandLineFactory = requireNonNull( commandLineFactory );
public ForkedMavenExecutor(MavenCrypto mavenCrypto, CommandLineFactory commandLineFactory) {
super(mavenCrypto);
this.commandLineFactory = requireNonNull(commandLineFactory);
}

/*
* @noinspection UseOfSystemOutOrSystemErr
*/
@Override
public void executeGoals( File workingDirectory, List<String> goals, ReleaseEnvironment releaseEnvironment,
boolean interactive, String additionalArguments, String pomFileName,
ReleaseResult relResult )
throws MavenExecutorException
{
public void executeGoals(
File workingDirectory,
List<String> goals,
ReleaseEnvironment releaseEnvironment,
boolean interactive,
String additionalArguments,
String pomFileName,
ReleaseResult relResult)
throws MavenExecutorException {
String mavenPath;
// if null we use the current one
if ( releaseEnvironment.getMavenHome() != null )
{
if (releaseEnvironment.getMavenHome() != null) {
mavenPath = releaseEnvironment.getMavenHome().getAbsolutePath();
}
else
{
mavenPath = System.getProperty( "maven.home" );
} else {
mavenPath = System.getProperty("maven.home");
}

File settingsFile = null;
if ( releaseEnvironment.getSettings() != null )
{
if (releaseEnvironment.getSettings() != null) {
// Have to serialize to a file as if Maven is embedded, there may not actually be a settings.xml on disk
try
{
settingsFile = File.createTempFile( "release-settings", ".xml" );
try {
settingsFile = Files.createTempFile("release-settings", ".xml").toFile();
SettingsXpp3Writer writer = getSettingsWriter();

try ( FileWriter fileWriter = new FileWriter( settingsFile ) )
{
writer.write( fileWriter, encryptSettings( releaseEnvironment.getSettings() ) );
try (FileWriter fileWriter = new FileWriter(settingsFile)) {
writer.write(fileWriter, encryptSettings(releaseEnvironment.getSettings()));
}
}
catch ( IOException e )
{
throw new MavenExecutorException( "Could not create temporary file for release settings.xml", e );
} catch (IOException e) {
throw new MavenExecutorException("Could not create temporary file for release settings.xml", e);
}
}
try
{
try {

Commandline cl =
commandLineFactory.createCommandLine( mavenPath + File.separator + "bin" + File.separator + "mvn" );
commandLineFactory.createCommandLine(mavenPath + File.separator + "bin" + File.separator + "mvn");

cl.setWorkingDirectory( workingDirectory.getAbsolutePath() );
cl.setWorkingDirectory(workingDirectory.getAbsolutePath());

// FIX for MRELEASE-1105
//cl.addEnvironment( "MAVEN_DEBUG_OPTS", "" );
// cl.addEnvironment( "MAVEN_DEBUG_OPTS", "" );

cl.addEnvironment( "MAVEN_TERMINATE_CMD", "on" );
cl.addEnvironment("MAVEN_TERMINATE_CMD", "on");

if ( settingsFile != null )
{
cl.createArg().setValue( "-s" );
cl.createArg().setFile( settingsFile );
if (settingsFile != null) {
cl.createArg().setValue("-s");
cl.createArg().setFile(settingsFile);
}

if ( pomFileName != null )
{
cl.createArg().setValue( "-f" );
cl.createArg().setValue( pomFileName );
if (pomFileName != null) {
cl.createArg().setValue("-f");
cl.createArg().setValue(pomFileName);
}

for ( String goal : goals )
{
cl.createArg().setValue( goal );
for (String goal : goals) {
cl.createArg().setValue(goal);
}

if ( !interactive )
{
cl.createArg().setValue( "--batch-mode" );
if (!interactive) {
cl.createArg().setValue("--batch-mode");
}

if ( !StringUtils.isEmpty( additionalArguments ) )
{
cl.createArg().setLine( additionalArguments );
if (!StringUtils.isEmpty(additionalArguments)) {
cl.createArg().setLine(additionalArguments);
}

TeeOutputStream stdOut = new TeeOutputStream( System.out );
TeeOutputStream stdOut = new TeeOutputStream(System.out);

TeeOutputStream stdErr = new TeeOutputStream( System.err );
TeeOutputStream stdErr = new TeeOutputStream(System.err);

try
{
relResult.appendInfo( "Executing: " + cl );
getLogger().info( "Executing: " + cl );
try {
relResult.appendInfo("Executing: " + cl);
getLogger().info("Executing: " + cl);

int result = executeCommandLine( cl, System.in, stdOut, stdErr );
int result = executeCommandLine(cl, System.in, stdOut, stdErr);

if ( result != 0 )
{
throw new MavenExecutorException( "Maven execution failed, exit code: '" + result + "'", result );
if (result != 0) {
throw new MavenExecutorException("Maven execution failed, exit code: '" + result + "'", result);
}
} catch (CommandLineException e) {
throw new MavenExecutorException("Can't run goal " + goals, e);
} finally {
relResult.appendOutput(stdOut.toString());
}
catch ( CommandLineException e )
{
throw new MavenExecutorException( "Can't run goal " + goals, e );
}
finally
{
relResult.appendOutput( stdOut.toString() );
}
}
finally
{
if ( settingsFile != null && settingsFile.exists() && !settingsFile.delete() )
{
} finally {
if (settingsFile != null && settingsFile.exists() && !settingsFile.delete()) {
settingsFile.deleteOnExit();
}
}
@@ -186,89 +163,67 @@ public void executeGoals( File workingDirectory, List<String> goals, ReleaseEnvi
* @return a int
* @throws org.codehaus.plexus.util.cli.CommandLineException if any.
*/
public static int executeCommandLine( Commandline cl, InputStream systemIn, OutputStream systemOut,
OutputStream systemErr )
throws CommandLineException
{
if ( cl == null )
{
throw new IllegalArgumentException( "cl cannot be null." );
public static int executeCommandLine(
Commandline cl, InputStream systemIn, OutputStream systemOut, OutputStream systemErr)
throws CommandLineException {
if (cl == null) {
throw new IllegalArgumentException("cl cannot be null.");
}

Process p = cl.execute();

//processes.put( new Long( cl.getPid() ), p );
// processes.put( new Long( cl.getPid() ), p );

RawStreamPumper inputFeeder = null;

if ( systemIn != null )
{
inputFeeder = new RawStreamPumper( systemIn, p.getOutputStream(), true );
if (systemIn != null) {
inputFeeder = new RawStreamPumper(systemIn, p.getOutputStream(), true);
}

RawStreamPumper outputPumper = new RawStreamPumper( p.getInputStream(), systemOut );
RawStreamPumper errorPumper = new RawStreamPumper( p.getErrorStream(), systemErr );
RawStreamPumper outputPumper = new RawStreamPumper(p.getInputStream(), systemOut);
RawStreamPumper errorPumper = new RawStreamPumper(p.getErrorStream(), systemErr);

if ( inputFeeder != null )
{
if (inputFeeder != null) {
inputFeeder.start();
}

outputPumper.start();

errorPumper.start();

try
{
try {
int returnValue = p.waitFor();

if ( inputFeeder != null )
{
if (inputFeeder != null) {
inputFeeder.setDone();
}
outputPumper.setDone();
errorPumper.setDone();

//processes.remove( new Long( cl.getPid() ) );
// processes.remove( new Long( cl.getPid() ) );

return returnValue;
}
catch ( InterruptedException ex )
{
//killProcess( cl.getPid() );
throw new CommandLineException( "Error while executing external command, process killed.", ex );
}
finally
{
try
{
} catch (InterruptedException ex) {
// killProcess( cl.getPid() );
throw new CommandLineException("Error while executing external command, process killed.", ex);
} finally {
try {
errorPumper.closeInput();
} catch (IOException e) {
// ignore
}
catch ( IOException e )
{
//ignore
}
try
{
try {
outputPumper.closeInput();
} catch (IOException e) {
// ignore
}
catch ( IOException e )
{
//ignore
}
if ( inputFeeder != null )
{
try
{
if (inputFeeder != null) {
try {
inputFeeder.closeOutput();
}
catch ( IOException e )
{
//ignore
} catch (IOException e) {
// ignore
}
}
}
}


}
Loading