You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ev...@apache.org on 2007/05/21 16:03:55 UTC
svn commit: r540148 [1/5] - in
/maven/release/trunk/maven-release-manager/src:
main/java/org/apache/maven/shared/release/phase/
main/java/org/apache/maven/shared/release/util/
test/java/org/apache/maven/shared/release/phase/
test/resources/org/apache/m...
Author: evenisse
Date: Mon May 21 07:03:35 2007
New Revision: 540148
URL: http://svn.apache.org/viewvc?view=rev&rev=540148
Log:
[MRELEASE-177] Fix generateReleasePoms phase.
Submitted by: Mark Hobson
Added:
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractReleasePomsPhase.java (with props)
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractEditModeRewritingReleasePhaseTestCase.java (with props)
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/GenerateReleasePomsPhaseTest.java (with props)
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RemoveReleasePomsPhaseTest.java (with props)
maven/release/trunk/maven-release-manager/src/test/resources/org/apache/maven/shared/release/phase/GenerateReleasePomsPhaseTest.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/org/apache/maven/shared/release/phase/RemoveReleasePomsPhaseTest.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/basic-pom/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/basic-pom/expected-release-pom-with-schema.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/basic-pom/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/basic-pom/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/external-range-dependency/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/external-range-dependency/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/external-range-dependency/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-dependencies/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-dependencies/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-dependencies/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-dependencies/subproject1/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-dependencies/subproject1/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-dependencies/subproject1/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-dependencies/subproject2/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-dependencies/subproject2/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-dependencies/subproject2/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-extension/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-extension/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-extension/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-extension/subproject1/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-extension/subproject1/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-extension/subproject1/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-extension/subproject2/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-extension/subproject2/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-extension/subproject2/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-plugins/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-plugins/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-plugins/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-plugins/subproject1/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-plugins/subproject1/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-plugins/subproject1/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-plugins/subproject2/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-plugins/subproject2/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-plugins/subproject2/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-report-plugins/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-report-plugins/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-report-plugins/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-report-plugins/subproject1/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-report-plugins/subproject1/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-report-plugins/subproject1/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-report-plugins/subproject2/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-report-plugins/subproject2/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-differing-snapshot-report-plugins/subproject2/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-managed-snapshot-dependency/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-managed-snapshot-dependency/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-managed-snapshot-dependency/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-managed-snapshot-dependency/subproject1/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-managed-snapshot-dependency/subproject1/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-managed-snapshot-dependency/subproject1/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-managed-snapshot-dependency/subproject2/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-managed-snapshot-dependency/subproject2/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-managed-snapshot-dependency/subproject2/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-managed-snapshot-dependency/subproject3/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-managed-snapshot-dependency/subproject3/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-managed-snapshot-dependency/subproject3/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-managed-snapshot-plugin/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-managed-snapshot-plugin/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-managed-snapshot-plugin/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-managed-snapshot-plugin/subproject1/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-managed-snapshot-plugin/subproject1/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-managed-snapshot-plugin/subproject1/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-managed-snapshot-plugin/subproject2/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-managed-snapshot-plugin/subproject2/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-managed-snapshot-plugin/subproject2/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-managed-snapshot-plugin/subproject3/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-managed-snapshot-plugin/subproject3/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-managed-snapshot-plugin/subproject3/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-dependencies/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-dependencies/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-dependencies/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-dependencies/subproject1/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-dependencies/subproject1/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-dependencies/subproject1/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-dependencies/subproject2/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-dependencies/subproject2/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-dependencies/subproject2/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-dependencies/subproject3/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-dependencies/subproject3/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-dependencies/subproject3/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-dependencies/subproject4/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-dependencies/subproject4/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-dependencies/subproject4/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-dependencies/subproject4/subsubproject/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-dependencies/subproject4/subsubproject/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-dependencies/subproject4/subsubproject/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-extension/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-extension/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-extension/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-extension/subproject1/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-extension/subproject1/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-extension/subproject1/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-extension/subproject2/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-extension/subproject2/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-extension/subproject2/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-extension/subproject3/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-extension/subproject3/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-extension/subproject3/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-plugins/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-plugins/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-plugins/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-plugins/subproject1/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-plugins/subproject1/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-plugins/subproject1/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-plugins/subproject2/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-plugins/subproject2/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-plugins/subproject2/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-plugins/subproject3/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-plugins/subproject3/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-plugins/subproject3/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-plugins/subproject4/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-plugins/subproject4/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-plugins/subproject4/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-range-dependency/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-range-dependency/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-range-dependency/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-range-dependency/subproject1/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-range-dependency/subproject1/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-range-dependency/subproject1/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-range-dependency/subproject2/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-range-dependency/subproject2/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-range-dependency/subproject2/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-report-plugins/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-report-plugins/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-report-plugins/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-report-plugins/subproject1/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-report-plugins/subproject1/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-report-plugins/subproject1/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-report-plugins/subproject2/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-report-plugins/subproject2/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-report-plugins/subproject2/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-report-plugins/subproject3/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-report-plugins/subproject3/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-report-plugins/subproject3/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-report-plugins/subproject4/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-report-plugins/subproject4/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/internal-snapshot-report-plugins/subproject4/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-with-inherited-version/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-with-inherited-version/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-with-inherited-version/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-with-inherited-version/subproject1/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-with-inherited-version/subproject1/expected-release-pom-version-changed.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-with-inherited-version/subproject1/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-with-inherited-version/subproject1/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-with-namespace/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-with-namespace/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-with-namespace/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-with-namespace/subproject1/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-with-namespace/subproject1/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-with-namespace/subproject1/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-with-namespace/subproject2/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-with-namespace/subproject2/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-with-namespace/subproject2/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-with-parent/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-with-parent/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-with-parent/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-with-parent/subproject1/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-with-parent/subproject1/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-with-parent/subproject1/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-with-released-parent/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-with-released-parent/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-with-released-parent/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-with-released-parent/subproject1/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-with-released-parent/subproject1/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-with-released-parent/subproject1/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-without-extension-version/
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-without-extension-version/expected-release-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/generate-release-poms/pom-without-extension-version/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/remove-release-poms/
maven/release/trunk/maven-release-manager/src/test/resources/projects/remove-release-poms/basic-pom/
maven/release/trunk/maven-release-manager/src/test/resources/projects/remove-release-poms/basic-pom/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/remove-release-poms/pom-with-modules/
maven/release/trunk/maven-release-manager/src/test/resources/projects/remove-release-poms/pom-with-modules/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/remove-release-poms/pom-with-modules/subproject1/
maven/release/trunk/maven-release-manager/src/test/resources/projects/remove-release-poms/pom-with-modules/subproject1/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/remove-release-poms/pom-with-modules/subproject2/
maven/release/trunk/maven-release-manager/src/test/resources/projects/remove-release-poms/pom-with-modules/subproject2/pom.xml (with props)
Modified:
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractBackupPomsPhase.java
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CreateBackupPomsPhase.java
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/GenerateReleasePomsPhase.java
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RemoveReleasePomsPhase.java
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RestoreBackupPomsPhase.java
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmCommitPhase.java
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/util/ReleaseUtil.java
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractReleaseTestCase.java
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractRewritingReleasePhaseTestCase.java
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForDevelopmentPhaseTest.java
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhaseTest.java
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCommitPhaseTest.java
Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractBackupPomsPhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractBackupPomsPhase.java?view=diff&rev=540148&r1=540147&r2=540148
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractBackupPomsPhase.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractBackupPomsPhase.java Mon May 21 07:03:35 2007
@@ -20,6 +20,7 @@
*/
import org.apache.maven.project.MavenProject;
+import org.apache.maven.shared.release.util.ReleaseUtil;
import java.io.File;
@@ -33,7 +34,7 @@
protected File getPomBackup( MavenProject project )
{
- File pomFile = project.getFile();
+ File pomFile = ReleaseUtil.getStandardPom( project );
if ( pomFile != null )
{
Added: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractReleasePomsPhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractReleasePomsPhase.java?view=auto&rev=540148
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractReleasePomsPhase.java (added)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractReleasePomsPhase.java Mon May 21 07:03:35 2007
@@ -0,0 +1,78 @@
+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
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.scm.manager.NoSuchScmProviderException;
+import org.apache.maven.scm.provider.ScmProvider;
+import org.apache.maven.scm.repository.ScmRepository;
+import org.apache.maven.scm.repository.ScmRepositoryException;
+import org.apache.maven.settings.Settings;
+import org.apache.maven.shared.release.ReleaseExecutionException;
+import org.apache.maven.shared.release.ReleaseFailureException;
+import org.apache.maven.shared.release.config.ReleaseDescriptor;
+import org.apache.maven.shared.release.scm.ReleaseScmRepositoryException;
+import org.apache.maven.shared.release.scm.ScmRepositoryConfigurator;
+
+/**
+ * Abstract release POM phase.
+ *
+ * @author <a href="mailto:markhobson@gmail.com">Mark Hobson</a>
+ */
+public abstract class AbstractReleasePomsPhase extends AbstractReleasePhase
+{
+ /**
+ * Tool that gets a configured SCM repository from release configuration.
+ *
+ * @plexus.requirement
+ */
+ private ScmRepositoryConfigurator scmRepositoryConfigurator;
+
+ protected ScmRepository getScmRepository( ReleaseDescriptor releaseDescriptor, Settings settings )
+ throws ReleaseFailureException, ReleaseExecutionException
+ {
+ try
+ {
+ return scmRepositoryConfigurator.getConfiguredRepository( releaseDescriptor, settings );
+ }
+ catch ( ScmRepositoryException exception )
+ {
+ throw new ReleaseScmRepositoryException( exception.getMessage(), exception.getValidationMessages() );
+ }
+ catch ( NoSuchScmProviderException exception )
+ {
+ throw new ReleaseExecutionException( "Unable to configure SCM repository: " + exception.getMessage(),
+ exception );
+ }
+ }
+
+ protected ScmProvider getScmProvider( ScmRepository scmRepository )
+ throws ReleaseExecutionException
+ {
+ try
+ {
+ return scmRepositoryConfigurator.getRepositoryProvider( scmRepository );
+ }
+ catch ( NoSuchScmProviderException exception )
+ {
+ throw new ReleaseExecutionException( "Unable to configure SCM repository: " + exception.getMessage(),
+ exception );
+ }
+ }
+}
Propchange: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractReleasePomsPhase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractReleasePomsPhase.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java?view=diff&rev=540148&r1=540147&r2=540148
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java Mon May 21 07:03:35 2007
@@ -126,7 +126,7 @@
String outtro = null;
try
{
- String content = FileUtils.fileRead( project.getFile() );
+ String content = FileUtils.fileRead( ReleaseUtil.getStandardPom( project ) );
// we need to eliminate any extra whitespace inside elements, as JDOM will nuke it
content = content.replaceAll( "<([^!][^>]*?)\\s{2,}([^>]*?)>", "<$1 $2>" );
content = content.replaceAll( "(\\s{2,}|[^\\s])/>", "$1 />" );
@@ -180,15 +180,17 @@
transformDocument( project, document.getRootElement(), releaseDescriptor, reactorProjects, scmRepository,
result );
+ File pomFile = ReleaseUtil.getStandardPom( project );
+
if ( simulate )
{
File outputFile =
- new File( project.getFile().getParentFile(), project.getFile().getName() + "." + pomSuffix );
+ new File( pomFile.getParentFile(), pomFile.getName() + "." + pomSuffix );
writePom( outputFile, document, releaseDescriptor, project.getModelVersion(), intro, outtro );
}
else
{
- writePom( project.getFile(), document, releaseDescriptor, project.getModelVersion(), intro, outtro,
+ writePom( pomFile, document, releaseDescriptor, project.getModelVersion(), intro, outtro,
scmRepository, provider );
}
}
@@ -705,8 +707,9 @@
{
MavenProject project = (MavenProject) i.next();
+ File pomFile = ReleaseUtil.getStandardPom( project );
File file =
- new File( project.getFile().getParentFile(), project.getFile().getName() + "." + pomSuffix );
+ new File( pomFile.getParentFile(), pomFile.getName() + "." + pomSuffix );
if ( file.exists() )
{
file.delete();
Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CreateBackupPomsPhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CreateBackupPomsPhase.java?view=diff&rev=540148&r1=540147&r2=540148
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CreateBackupPomsPhase.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CreateBackupPomsPhase.java Mon May 21 07:03:35 2007
@@ -25,6 +25,7 @@
import org.apache.maven.shared.release.ReleaseFailureException;
import org.apache.maven.shared.release.ReleaseResult;
import org.apache.maven.shared.release.config.ReleaseDescriptor;
+import org.apache.maven.shared.release.util.ReleaseUtil;
import org.codehaus.plexus.util.FileUtils;
import java.io.IOException;
@@ -88,7 +89,7 @@
try
{
- FileUtils.copyFile( project.getFile(), getPomBackup( project ) );
+ FileUtils.copyFile( ReleaseUtil.getStandardPom( project ), getPomBackup( project ) );
}
catch ( IOException e )
{
Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/GenerateReleasePomsPhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/GenerateReleasePomsPhase.java?view=diff&rev=540148&r1=540147&r2=540148
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/GenerateReleasePomsPhase.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/GenerateReleasePomsPhase.java Mon May 21 07:03:35 2007
@@ -19,24 +19,81 @@
* under the License.
*/
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.ArtifactUtils;
+import org.apache.maven.model.Build;
+import org.apache.maven.model.Dependency;
+import org.apache.maven.model.Extension;
+import org.apache.maven.model.Model;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.model.ReportPlugin;
+import org.apache.maven.model.Reporting;
+import org.apache.maven.model.Scm;
+import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.path.PathTranslator;
+import org.apache.maven.scm.ScmException;
+import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.command.add.AddScmResult;
+import org.apache.maven.scm.provider.ScmProvider;
+import org.apache.maven.scm.repository.ScmRepository;
import org.apache.maven.settings.Settings;
import org.apache.maven.shared.release.ReleaseExecutionException;
+import org.apache.maven.shared.release.ReleaseFailureException;
import org.apache.maven.shared.release.ReleaseResult;
import org.apache.maven.shared.release.config.ReleaseDescriptor;
-
+import org.apache.maven.shared.release.scm.ReleaseScmCommandException;
+import org.apache.maven.shared.release.scm.ScmTranslator;
+import org.apache.maven.shared.release.util.ReleaseUtil;
+import org.codehaus.plexus.util.IOUtil;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
import java.util.List;
+import java.util.Map;
+import java.util.Set;
/**
* Generate release POMs.
- *
+ *
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ * @author <a href="mailto:markhobson@gmail.com">Mark Hobson</a>
* @plexus.component role="org.apache.maven.shared.release.phase.ReleasePhase" role-hint="generate-release-poms"
*/
public class GenerateReleasePomsPhase
- extends AbstractReleasePhase
+ extends AbstractReleasePomsPhase
{
+ /**
+ *
+ *
+ * @plexus.requirement
+ */
+ private PathTranslator pathTranslator;
+
+ /**
+ * SCM URL translators mapped by provider name.
+ *
+ * @plexus.requirement role="org.apache.maven.shared.release.scm.ScmTranslator"
+ */
+ private Map scmTranslators;
+
+ /*
+ * @see org.apache.maven.shared.release.phase.ReleasePhase#execute(org.apache.maven.shared.release.config.ReleaseDescriptor,
+ * org.apache.maven.settings.Settings, java.util.List)
+ */
public ReleaseResult execute( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
- throws ReleaseExecutionException
+ throws ReleaseExecutionException, ReleaseFailureException
+ {
+ return execute( releaseDescriptor, settings, reactorProjects, false );
+ }
+
+ private ReleaseResult execute( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects,
+ boolean simulate )
+ throws ReleaseExecutionException, ReleaseFailureException
{
ReleaseResult result = new ReleaseResult();
@@ -44,7 +101,11 @@
{
logInfo( result, "Generating release POMs..." );
- generateReleasePoms();
+ generateReleasePoms( releaseDescriptor, settings, reactorProjects, simulate, result );
+ }
+ else
+ {
+ logInfo( result, "Not generating release POMs" );
}
result.setResultCode( ReleaseResult.SUCCESS );
@@ -52,338 +113,453 @@
return result;
}
- private void generateReleasePoms()
+ private void generateReleasePoms( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects,
+ boolean simulate, ReleaseResult result )
+ throws ReleaseExecutionException, ReleaseFailureException
+ {
+ List releasePoms = new ArrayList();
+
+ for ( Iterator iterator = reactorProjects.iterator(); iterator.hasNext(); )
+ {
+ MavenProject project = (MavenProject) iterator.next();
+
+ logInfo( result, "Generating release POM for '" + project.getName() + "'..." );
+
+ releasePoms.add( generateReleasePom( project, releaseDescriptor, settings, reactorProjects, simulate, result ) );
+ }
+
+ addReleasePomsToScm( releaseDescriptor, settings, reactorProjects, simulate, result, releasePoms );
+ }
+
+ private File generateReleasePom( MavenProject project, ReleaseDescriptor releaseDescriptor, Settings settings,
+ List reactorProjects, boolean simulate, ReleaseResult result )
+ throws ReleaseExecutionException, ReleaseFailureException
{
-/* TODO [!]: implement
- String canonicalBasedir;
+ // create release pom
+
+ Model releasePom = createReleaseModel( project, releaseDescriptor, settings, reactorProjects, result );
+
+ // write release pom to file
+
+ MavenXpp3Writer pomWriter = new MavenXpp3Writer();
+
+ File releasePomFile = ReleaseUtil.getReleasePom( project );
+
+ FileWriter fileWriter = null;
try
{
- canonicalBasedir = trimPathForScmCalculation( basedir );
+ fileWriter = new FileWriter( releasePomFile );
+
+ pomWriter.write( fileWriter, releasePom );
+ }
+ catch ( IOException exception )
+ {
+ throw new ReleaseExecutionException( "Cannot generate release POM", exception );
}
- catch ( IOException e )
+ finally
{
- throw new MojoExecutionException( "Cannot canonicalize basedir: " + basedir.getAbsolutePath(), e );
+ IOUtil.close( fileWriter );
}
-
- ProjectVersionResolver versionResolver = getVersionResolver();
- for ( Iterator it = reactorProjects.iterator(); it.hasNext(); )
+
+ return releasePomFile;
+ }
+
+ private void addReleasePomsToScm( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects, boolean simulate, ReleaseResult result, List releasePoms )
+ throws ReleaseFailureException, ReleaseExecutionException
+ {
+ if ( simulate )
{
- MavenProject project = (MavenProject) it.next();
-
- MavenProject releaseProject = new MavenProject( project );
- Model releaseModel = releaseProject.getModel();
- fixNullValueInModel( releaseModel, project.getModel() );
+ logInfo( result, "Full run would be adding " + releasePoms );
+ }
+ else
+ {
+ ScmRepository scmRepository = getScmRepository( releaseDescriptor, settings );
+ ScmProvider scmProvider = getScmProvider( scmRepository );
- // the release POM should reflect bits of these which were injected at build time...
- // we don't need these polluting the POM.
- releaseModel.setProfiles( Collections.EMPTY_LIST );
- releaseModel.setDependencyManagement( null );
- releaseProject.getBuild().setPluginManagement( null );
+ MavenProject rootProject = ReleaseUtil.getRootProject( reactorProjects );
+ ScmFileSet scmFileSet = new ScmFileSet( rootProject.getFile().getParentFile(), releasePoms );
- String projectVersion = releaseModel.getVersion();
- if ( ArtifactUtils.isSnapshot( projectVersion ) )
+ try
{
- String snapshotVersion = projectVersion;
-
- projectVersion = versionResolver.getResolvedVersion( project.getGroupId(), project.getArtifactId() );
+ AddScmResult scmResult = scmProvider.add( scmRepository, scmFileSet );
- if ( ArtifactUtils.isSnapshot( projectVersion ) )
+ if ( !scmResult.isSuccess() )
{
- throw new MojoExecutionException(
- "MAJOR PROBLEM!!! Cannot find resolved version to be used in releasing project: " +
- releaseProject.getId() );
+ throw new ReleaseScmCommandException( "Cannot add release POM to SCM", scmResult );
}
+ }
+ catch ( ScmException exception )
+ {
+ throw new ReleaseExecutionException( "Cannot add release POM to SCM: " + exception.getMessage(),
+ exception );
+ }
+ }
+ }
+
+ private Model createReleaseModel( MavenProject project, ReleaseDescriptor releaseDescriptor, Settings settings,
+ List reactorProjects, ReleaseResult result )
+ throws ReleaseFailureException, ReleaseExecutionException
+ {
+ Map originalVersions = getOriginalVersionMap( releaseDescriptor, reactorProjects );
+ Map mappedVersions = getNextVersionMap( releaseDescriptor );
- releaseModel.setVersion( projectVersion );
+ MavenProject releaseProject = new MavenProject( project );
+ Model releaseModel = releaseProject.getModel();
- String finalName = releaseModel.getBuild().getFinalName();
+ // the release POM should reflect bits of these which were injected at build time...
+ // we don't need these polluting the POM.
+ releaseModel.setParent( null );
+ releaseModel.setProfiles( Collections.EMPTY_LIST );
+ releaseModel.setDependencyManagement( null );
+ releaseProject.getBuild().setPluginManagement( null );
+
+ // update project version
+ String projectVersion = releaseModel.getVersion();
+ String releaseVersion = getNextVersion( mappedVersions, project.getGroupId(), project.getArtifactId(), projectVersion );
+ releaseModel.setVersion( releaseVersion );
- if ( finalName.equals( releaseModel.getArtifactId() + "-" + snapshotVersion ) )
- {
- releaseModel.getBuild().setFinalName( null );
- }
- else if ( finalName.indexOf( "SNAPSHOT" ) > -1 )
- {
- throw new MojoExecutionException(
- "Cannot reliably adjust the finalName of project: " + releaseProject.getId() );
- }
- }
+ // update final name if implicit
+ String finalName = releaseModel.getBuild().getFinalName();
+
+ if ( finalName.equals( releaseModel.getArtifactId() + "-" + projectVersion ) )
+ {
+ releaseModel.getBuild().setFinalName( null );
+ }
+ else if ( finalName.indexOf( "SNAPSHOT" ) != -1 )
+ {
+ throw new ReleaseFailureException( "Cannot reliably adjust the finalName of project: "
+ + releaseProject.getId() );
+ }
- releaseModel.setParent( null );
+ // update scm
+ Scm scm = releaseModel.getScm();
- Set artifacts = releaseProject.getArtifacts();
+ if ( scm != null )
+ {
+ ScmRepository scmRepository = getScmRepository( releaseDescriptor, settings );
+ ScmTranslator scmTranslator = getScmTranslator( scmRepository );
- if ( artifacts != null )
+ if ( scmTranslator != null )
{
- //Rewrite dependencies section
- List newdeps = new ArrayList();
+ releaseModel.setScm( createReleaseScm( releaseModel.getScm(), scmTranslator, releaseDescriptor ) );
+ }
+ else
+ {
+ String message = "No SCM translator found - skipping rewrite";
- Map oldDeps = new HashMap();
+ result.appendDebug( message );
- List deps = releaseProject.getDependencies();
- if ( deps != null )
- {
- for ( Iterator depIterator = deps.iterator(); depIterator.hasNext(); )
- {
- Dependency dep = (Dependency) depIterator.next();
-
- oldDeps.put( ArtifactUtils.artifactId( dep.getGroupId(), dep.getArtifactId(), dep.getType(),
- dep.getVersion() ), dep );
- }
- }
+ getLogger().debug( message );
+ }
+ }
- for ( Iterator i = releaseProject.getArtifacts().iterator(); i.hasNext(); )
- {
- Artifact artifact = (Artifact) i.next();
+ // rewrite dependencies
+ releaseModel.setDependencies( createReleaseDependencies( originalVersions, mappedVersions, releaseProject ) );
- String key = artifact.getId();
+ // rewrite plugins
+ releaseModel.getBuild().setPlugins( createReleasePlugins( originalVersions, mappedVersions, releaseProject ) );
- Dependency newdep = new Dependency();
+ // rewrite reports
+ releaseModel.getReporting().setPlugins( createReleaseReportPlugins( originalVersions, mappedVersions, releaseProject ) );
- newdep.setArtifactId( artifact.getArtifactId() );
- newdep.setGroupId( artifact.getGroupId() );
+ // rewrite extensions
+ releaseModel.getBuild().setExtensions( createReleaseExtensions( originalVersions, mappedVersions, releaseProject ) );
- String version = artifact.getVersion();
- if ( artifact.isSnapshot() )
- {
- version = versionResolver.getResolvedVersion( artifact.getGroupId(), artifact.getArtifactId() );
-
- if ( ArtifactUtils.isSnapshot( version ) )
- {
- throw new MojoExecutionException(
- "Unresolved SNAPSHOT version of: " + artifact + ". Cannot proceed with release." );
- }
- }
-
- newdep.setVersion( version );
- newdep.setType( artifact.getType() );
- newdep.setScope( artifact.getScope() );
- newdep.setClassifier( artifact.getClassifier() );
-
- Dependency old = (Dependency) oldDeps.get( key );
-
- if ( old != null )
- {
- newdep.setSystemPath( old.getSystemPath() );
- newdep.setExclusions( old.getExclusions() );
- newdep.setOptional( old.isOptional() );
- }
+ pathTranslator.unalignFromBaseDirectory( releaseProject.getModel(), project.getFile().getParentFile() );
- newdeps.add( newdep );
- }
+ return releaseModel;
+ }
- releaseModel.setDependencies( newdeps );
- }
+ public ReleaseResult simulate( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
+ throws ReleaseExecutionException, ReleaseFailureException
+ {
+ return execute( releaseDescriptor, settings, reactorProjects, true );
+ }
- // Use original - don't want the lifecycle introduced ones
- Build build = releaseProject.getOriginalModel().getBuild();
- List plugins = build != null ? build.getPlugins() : null;
+ protected Map getOriginalVersionMap( ReleaseDescriptor releaseDescriptor, List reactorProjects )
+ {
+ return releaseDescriptor.getOriginalVersions( reactorProjects );
+ }
- if ( plugins != null )
- {
- //Rewrite plugins version
- for ( Iterator i = plugins.iterator(); i.hasNext(); )
- {
- Plugin plugin = (Plugin) i.next();
+ protected Map getNextVersionMap( ReleaseDescriptor releaseDescriptor )
+ {
+ return releaseDescriptor.getReleaseVersions();
+ }
+
+ private String getNextVersion( Map mappedVersions, String groupId, String artifactId, String version )
+ throws ReleaseFailureException
+ {
+ // TODO: share with RewritePomsForReleasePhase.rewriteVersion
- String version;
- try
- {
- version = pluginVersionManager.resolvePluginVersion( plugin.getGroupId(), plugin
- .getArtifactId(), releaseProject, getSettings(), localRepository );
- }
- catch ( PluginVersionResolutionException e )
- {
- throw new MojoExecutionException(
- "Cannot resolve version for plugin '" + plugin.getKey() + "': " + e.getMessage(), e );
- }
- catch ( InvalidPluginException e )
- {
- throw new MojoExecutionException(
- "Cannot resolve version for plugin '" + plugin.getKey() + "': " + e.getMessage(), e );
- }
- catch ( PluginVersionNotFoundException e )
- {
- throw new MojoFailureException( e.getMessage() );
- }
-
- if ( ArtifactUtils.isSnapshot( version ) )
- {
- throw new MojoFailureException(
- "Resolved version of plugin is a snapshot. Please release this plugin before releasing this project.\n\nGroupId: " +
- plugin.getGroupId() + "\nArtifactId: " + plugin.getArtifactId() +
- "\nResolved Version: " + version + "\n\n" );
- }
+ String id = ArtifactUtils.versionlessKey( groupId, artifactId );
- plugin.setVersion( version );
- }
- }
+ String nextVersion = (String) mappedVersions.get( id );
- Reporting reporting = releaseModel.getReporting();
- List reports = reporting != null ? reporting.getPlugins() : null;
+ if ( nextVersion == null )
+ {
+ throw new ReleaseFailureException( "Version for '" + id + "' was not mapped" );
+ }
- if ( reports != null )
- {
- //Rewrite report version
- for ( Iterator i = reports.iterator(); i.hasNext(); )
- {
- ReportPlugin plugin = (ReportPlugin) i.next();
+ return nextVersion;
+ }
- String version;
- try
- {
- version = pluginVersionManager.resolveReportPluginVersion( plugin.getGroupId(), plugin
- .getArtifactId(), releaseProject, getSettings(), localRepository );
- }
- catch ( PluginVersionResolutionException e )
- {
- throw new MojoExecutionException(
- "Cannot resolve version for report '" + plugin.getKey() + "': " + e.getMessage(), e );
- }
- catch ( InvalidPluginException e )
- {
- throw new MojoExecutionException(
- "Cannot resolve version for plugin '" + plugin.getKey() + "': " + e.getMessage(), e );
- }
- catch ( PluginVersionNotFoundException e )
- {
- throw new MojoFailureException( e.getMessage() );
- }
-
- if ( ArtifactUtils.isSnapshot( version ) )
- {
- throw new MojoFailureException(
- "Resolved version of report is a snapshot. Please release this report plugin before releasing this project.\n\nGroupId: " +
- plugin.getGroupId() + "\nArtifactId: " + plugin.getArtifactId() +
- "\nResolved Version: " + version + "\n\n" );
- }
+ private ScmTranslator getScmTranslator( ScmRepository scmRepository )
+ {
+ return (ScmTranslator) scmTranslators.get( scmRepository.getProvider() );
+ }
- plugin.setVersion( version );
- }
- }
+ private Scm createReleaseScm( Scm scm, ScmTranslator scmTranslator, ReleaseDescriptor releaseDescriptor )
+ {
+ // TODO: share with RewritePomsForReleasePhase.translateScm
- List extensions = build != null ? build.getExtensions() : null;
+ String tag = releaseDescriptor.getScmReleaseLabel();
+ String tagBase = releaseDescriptor.getScmTagBase();
- if ( extensions != null )
+ Scm releaseScm = new Scm();
+
+ if ( scm.getConnection() != null )
+ {
+ String value = scmTranslator.translateTagUrl( scm.getConnection(), tag, tagBase );
+ releaseScm.setConnection( value );
+ }
+
+ if ( scm.getDeveloperConnection() != null )
+ {
+ String value = scmTranslator.translateTagUrl( scm.getDeveloperConnection(), tag, tagBase );
+ releaseScm.setDeveloperConnection( value );
+ }
+
+ if ( scm.getUrl() != null )
+ {
+ String value = scmTranslator.translateTagUrl( scm.getUrl(), tag, tagBase );
+ releaseScm.setUrl( value );
+ }
+
+ if ( scm.getTag() != null )
+ {
+ String value = scmTranslator.resolveTag( scm.getTag() );
+ releaseScm.setTag( value );
+ }
+
+ return releaseScm;
+ }
+
+ private List createReleaseDependencies( Map originalVersions, Map mappedVersions, MavenProject project )
+ throws ReleaseFailureException
+ {
+ Set artifacts = project.getArtifacts();
+
+ List releaseDependencies = null;
+
+ if ( artifacts != null )
+ {
+ // make dependency order deterministic for tests (related to MNG-1412)
+ List orderedArtifacts = new ArrayList();
+ orderedArtifacts.addAll( artifacts );
+ Collections.sort( orderedArtifacts );
+
+ releaseDependencies = new ArrayList();
+
+ for ( Iterator iterator = orderedArtifacts.iterator(); iterator.hasNext(); )
{
- //Rewrite extension version
- Map extensionArtifacts = releaseProject.getExtensionArtifactMap();
+ Artifact artifact = (Artifact) iterator.next();
- for ( Iterator i = extensions.iterator(); i.hasNext(); )
- {
- Extension ext = (Extension) i.next();
+ Dependency releaseDependency = new Dependency();
- String extensionId = ArtifactUtils.versionlessKey( ext.getGroupId(), ext.getArtifactId() );
+ releaseDependency.setGroupId( artifact.getGroupId() );
+ releaseDependency.setArtifactId( artifact.getArtifactId() );
- Artifact artifact = (Artifact) extensionArtifacts.get( extensionId );
+ String version = getReleaseVersion( originalVersions, mappedVersions, artifact );
- String version = resolveVersion( artifact, "extension", releaseProject
- .getPluginArtifactRepositories() );
+ releaseDependency.setVersion( version );
+ releaseDependency.setType( artifact.getType() );
+ releaseDependency.setScope( artifact.getScope() );
+ releaseDependency.setClassifier( artifact.getClassifier() );
- ext.setVersion( version );
- }
+ releaseDependencies.add( releaseDependency );
}
+ }
- pathTranslator.unalignFromBaseDirectory( releaseProject.getModel(), project.getFile().getParentFile() );
+ return releaseDependencies;
+ }
+
+ private String getReleaseVersion( Map originalVersions, Map mappedVersions, Artifact artifact )
+ throws ReleaseFailureException
+ {
+ String key = ArtifactUtils.versionlessKey( artifact );
- File releasePomFile = new File( releaseProject.getFile().getParentFile(), RELEASE_POM );
+ String originalVersion = (String) originalVersions.get( key );
+ String mappedVersion = (String) mappedVersions.get( key );
- Writer writer = null;
+ String version = artifact.getVersion();
- try
+ if ( version.equals( originalVersion ) )
+ {
+ if ( mappedVersion != null )
{
- writePom( releasePomFile, releaseProject.getModel(), rootElement );
-
- writer = new FileWriter( releasePomFile );
-
- releaseProject.writeModel( writer );
+ version = mappedVersion;
}
- catch ( IOException e )
+ else
{
- throw new MojoExecutionException( "Cannot write release-pom to: " + releasePomFile, e );
+ throw new ReleaseFailureException( "Version '" + version + "' for '" + key + "' was not mapped" );
}
- finally
+ }
+ else
+ {
+ if ( !ArtifactUtils.isSnapshot( version ) )
{
- IOUtil.close( writer );
+ version = artifact.getBaseVersion();
}
+ }
- try
- {
- String releasePomPath = trimPathForScmCalculation( releasePomFile );
+ return version;
+ }
+
+ private List createReleasePlugins( Map originalVersions, Map mappedVersions, MavenProject project )
+ throws ReleaseFailureException
+ {
+ List releasePlugins = null;
- releasePomPath = releasePomPath.substring( canonicalBasedir.length() + 1 );
+ // Use original - don't want the lifecycle introduced ones
+ Build build = project.getOriginalModel().getBuild();
- ScmHelper scm = getScm( basedir.getAbsolutePath() );
+ if ( build != null )
+ {
+ List plugins = build.getPlugins();
- if ( !testmode )
- {
- scm.add( releasePomPath );
- }
- else
+ if ( plugins != null )
+ {
+ Map artifactsById = project.getPluginArtifactMap();
+
+ releasePlugins = new ArrayList();
+
+ for ( Iterator iterator = plugins.iterator(); iterator.hasNext(); )
{
- getLog().info( "[TESTMODE] adding file: " + releasePomPath );
+ Plugin plugin = (Plugin) iterator.next();
+ String id = ArtifactUtils.versionlessKey( plugin.getGroupId(), plugin.getArtifactId() );
+ Artifact artifact = (Artifact) artifactsById.get( id );
+ String version = getReleaseVersion( originalVersions, mappedVersions, artifact );
+
+ Plugin releasePlugin = new Plugin();
+ releasePlugin.setGroupId( plugin.getGroupId() );
+ releasePlugin.setArtifactId( plugin.getArtifactId() );
+ releasePlugin.setVersion( version );
+ releasePlugin.setExtensions( plugin.isExtensions() );
+ releasePlugin.setExecutions( plugin.getExecutions() );
+ releasePlugin.setDependencies( plugin.getDependencies() );
+ releasePlugin.setGoals( plugin.getGoals() );
+ releasePlugin.setInherited( plugin.getInherited() );
+ releasePlugin.setConfiguration( plugin.getConfiguration() );
+
+ releasePlugins.add( releasePlugin );
}
}
- catch ( ScmException e )
- {
- throw new MojoExecutionException( "Error adding the release-pom.xml: " + releasePomFile, e );
- }
- catch ( IOException e )
- {
- throw new MojoExecutionException( "Error adding the release-pom.xml: " + releasePomFile, e );
- }
}
-*/
- }
-/*
- private String resolveVersion( Artifact artifact, String artifactUsage, List pluginArtifactRepositories )
- throws MojoExecutionException
+ return releasePlugins;
+ }
+
+ private List createReleaseReportPlugins( Map originalVersions, Map mappedVersions, MavenProject project )
+ throws ReleaseFailureException
{
- ProjectVersionResolver versionResolver = getVersionResolver();
- String resolvedVersion = versionResolver.getResolvedVersion( artifact.getGroupId(), artifact.getArtifactId() );
+ List releaseReportPlugins = null;
+
+ Reporting reporting = project.getModel().getReporting();
- if ( resolvedVersion == null )
+ if ( reporting != null )
{
- if ( artifact.getFile() == null )
+ List reportPlugins = reporting.getPlugins();
+
+ if ( reportPlugins != null )
{
- try
- {
- artifactMetadataSource.retrieve( artifact, localRepository, pluginArtifactRepositories );
- }
- catch ( ArtifactMetadataRetrievalException e )
+ Map artifactsById = project.getReportArtifactMap();
+
+ releaseReportPlugins = new ArrayList();
+
+ for ( Iterator iterator = reportPlugins.iterator(); iterator.hasNext(); )
{
- throw new MojoExecutionException( "Cannot resolve " + artifactUsage + ": " + artifact, e );
+ ReportPlugin reportPlugin = (ReportPlugin) iterator.next();
+ String id = ArtifactUtils.versionlessKey( reportPlugin.getGroupId(), reportPlugin.getArtifactId() );
+ Artifact artifact = (Artifact) artifactsById.get( id );
+ String version = getReleaseVersion( originalVersions, mappedVersions, artifact );
+
+ ReportPlugin releaseReportPlugin = new ReportPlugin();
+ releaseReportPlugin.setGroupId( reportPlugin.getGroupId() );
+ releaseReportPlugin.setArtifactId( reportPlugin.getArtifactId() );
+ releaseReportPlugin.setVersion( version );
+ releaseReportPlugin.setInherited( reportPlugin.getInherited() );
+ releaseReportPlugin.setConfiguration( reportPlugin.getConfiguration() );
+ releaseReportPlugin.setReportSets( reportPlugin.getReportSets() );
+
+ releaseReportPlugins.add( releaseReportPlugin );
}
}
-
- resolvedVersion = artifact.getVersion();
}
- return resolvedVersion;
+ return releaseReportPlugins;
}
-
- private String trimPathForScmCalculation( File file )
- throws IOException
+
+ private List createReleaseExtensions( Map originalVersions, Map mappedVersions, MavenProject project )
+ throws ReleaseFailureException
{
- String path = file.getCanonicalPath();
+ List releaseExtensions = null;
- path = path.replace( File.separatorChar, '/' );
+ // Use original - don't want the lifecycle introduced ones
+ Build build = project.getOriginalModel().getBuild();
- if ( path.endsWith( "/" ) )
+ if ( build != null )
{
- path = path.substring( path.length() - 1 );
+ List extensions = build.getExtensions();
+
+ if ( extensions != null )
+ {
+ releaseExtensions = new ArrayList();
+
+ for ( Iterator iterator = extensions.iterator(); iterator.hasNext(); )
+ {
+ Extension extension = (Extension) iterator.next();
+
+ String id = ArtifactUtils.versionlessKey( extension.getGroupId(), extension.getArtifactId() );
+ Artifact artifact = (Artifact) project.getExtensionArtifactMap().get( id );
+ String version = getReleaseVersion( originalVersions, mappedVersions, artifact );
+
+ Extension releaseExtension = new Extension();
+ releaseExtension.setGroupId( extension.getGroupId() );
+ releaseExtension.setArtifactId( extension.getArtifactId() );
+ releaseExtension.setVersion( version );
+
+ releaseExtensions.add( releaseExtension );
+ }
+ }
}
- return path;
+ return releaseExtensions;
}
-*/
-
- public ReleaseResult simulate( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
+
+ /*
+ * @see org.apache.maven.shared.release.phase.AbstractReleasePhase#clean(java.util.List)
+ */
+ public ReleaseResult clean( List reactorProjects )
{
- // TODO [!]: implement
ReleaseResult result = new ReleaseResult();
+
+ for ( Iterator iterator = reactorProjects.iterator(); iterator.hasNext(); )
+ {
+ MavenProject project = (MavenProject) iterator.next();
+
+ File releasePom = ReleaseUtil.getReleasePom( project );
+
+ if ( releasePom.exists() )
+ {
+ logInfo( result, "Deleting release POM for '" + project.getName() + "'..." );
+
+ if ( !releasePom.delete() )
+ {
+ logWarn( result, "Cannot delete release POM: " + releasePom );
+ }
+ }
+ }
result.setResultCode( ReleaseResult.SUCCESS );
Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RemoveReleasePomsPhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RemoveReleasePomsPhase.java?view=diff&rev=540148&r1=540147&r2=540148
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RemoveReleasePomsPhase.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RemoveReleasePomsPhase.java Mon May 21 07:03:35 2007
@@ -19,88 +19,117 @@
* under the License.
*/
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.scm.ScmException;
+import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.command.remove.RemoveScmResult;
+import org.apache.maven.scm.provider.ScmProvider;
+import org.apache.maven.scm.repository.ScmRepository;
import org.apache.maven.settings.Settings;
import org.apache.maven.shared.release.ReleaseExecutionException;
+import org.apache.maven.shared.release.ReleaseFailureException;
import org.apache.maven.shared.release.ReleaseResult;
import org.apache.maven.shared.release.config.ReleaseDescriptor;
-
-import java.util.List;
+import org.apache.maven.shared.release.scm.ReleaseScmCommandException;
+import org.apache.maven.shared.release.util.ReleaseUtil;
/**
* Remove release POMs.
- *
+ *
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ * @author <a href="mailto:markhobson@gmail.com">Mark Hobson</a>
* @plexus.component role="org.apache.maven.shared.release.phase.ReleasePhase" role-hint="remove-release-poms"
*/
public class RemoveReleasePomsPhase
- extends AbstractReleasePhase
+ extends AbstractReleasePomsPhase
{
public ReleaseResult execute( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
- throws ReleaseExecutionException
+ throws ReleaseFailureException, ReleaseExecutionException
{
- ReleaseResult result = new ReleaseResult();
+ return execute( releaseDescriptor, settings, reactorProjects, false );
+ }
- // TODO [!]: implement
- logInfo( result, "Removing release POMs..." );
+ public ReleaseResult simulate( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
+ throws ReleaseFailureException, ReleaseExecutionException
+ {
+ return execute( releaseDescriptor, settings, reactorProjects, true );
+ }
-/*
- File currentReleasePomFile = null;
+ private ReleaseResult execute( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects,
+ boolean simulate )
+ throws ReleaseFailureException, ReleaseExecutionException
+ {
+ ReleaseResult result = new ReleaseResult();
- try
+ if ( releaseDescriptor.isGenerateReleasePoms() )
{
- String canonicalBasedir = trimPathForScmCalculation( basedir );
-
- for ( Iterator it = reactorProjects.iterator(); it.hasNext(); )
- {
- MavenProject project = (MavenProject) it.next();
-
- currentReleasePomFile = new File( project.getFile().getParentFile(), RELEASE_POM );
-
- String releasePomPath = trimPathForScmCalculation( currentReleasePomFile );
-
- releasePomPath = releasePomPath.substring( canonicalBasedir.length() + 1 );
-
- ScmHelper scm = getScm( basedir.getAbsolutePath() );
- if ( !dryRun )
- {
- scm.remove( "Removing for next development iteration.", releasePomPath );
- }
- else
- {
- getLog().info( "[TESTMODE] Removing for next development iteration. " + releasePomPath );
- }
+ logInfo( result, "Removing release POMs..." );
- pomFiles.remove( currentReleasePomFile );
-
- currentReleasePomFile.delete();
- }
- }
- catch ( ScmException e )
- {
- throw new MojoExecutionException( "Cannot remove " + currentReleasePomFile + " from development HEAD.",
- e );
+ removeReleasePoms( releaseDescriptor, settings, simulate, result, reactorProjects );
}
- catch ( IOException e )
+ else
{
- throw new MojoExecutionException( "Cannot remove " + currentReleasePomFile + " from development HEAD.",
- e );
+ logInfo( result, "Not removing release POMs" );
}
-*/
-
result.setResultCode( ReleaseResult.SUCCESS );
return result;
}
- public ReleaseResult simulate( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
+ private void removeReleasePoms( ReleaseDescriptor releaseDescriptor, Settings settings, boolean simulate,
+ ReleaseResult result, List projects )
+ throws ReleaseFailureException, ReleaseExecutionException
{
- ReleaseResult result = new ReleaseResult();
+ List releasePoms = new ArrayList();
- // TODO [!]: implement
+ for ( Iterator iterator = projects.iterator(); iterator.hasNext(); )
+ {
+ MavenProject project = (MavenProject) iterator.next();
- result.setResultCode( ReleaseResult.SUCCESS );
+ logInfo( result, "Removing release POM for '" + project.getName() + "'..." );
- return result;
+ releasePoms.add( ReleaseUtil.getReleasePom( project ) );
+ }
+
+ removeReleasePomsFromScm( releaseDescriptor, settings, simulate, result, releasePoms );
+ }
+
+ private void removeReleasePomsFromScm( ReleaseDescriptor releaseDescriptor, Settings settings, boolean simulate,
+ ReleaseResult result, List releasePoms )
+ throws ReleaseFailureException, ReleaseExecutionException
+ {
+ if ( simulate )
+ {
+ logInfo( result, "Full run would be removing " + releasePoms );
+ }
+ else
+ {
+ ScmRepository scmRepository = getScmRepository( releaseDescriptor, settings );
+ ScmProvider scmProvider = getScmProvider( scmRepository );
+
+ ScmFileSet scmFileSet = new ScmFileSet( new File( releaseDescriptor.getWorkingDirectory() ), releasePoms );
+
+ try
+ {
+ RemoveScmResult scmResult =
+ scmProvider.remove( scmRepository, scmFileSet, "Removing for next development iteration." );
+
+ if ( !scmResult.isSuccess() )
+ {
+ throw new ReleaseScmCommandException( "Cannot remove release POMs from SCM", scmResult );
+ }
+ }
+ catch ( ScmException exception )
+ {
+ throw new ReleaseExecutionException( "Cannot remove release POMs from SCM: " + exception.getMessage(),
+ exception );
+ }
+ }
}
}
Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RestoreBackupPomsPhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RestoreBackupPomsPhase.java?view=diff&rev=540148&r1=540147&r2=540148
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RestoreBackupPomsPhase.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RestoreBackupPomsPhase.java Mon May 21 07:03:35 2007
@@ -35,6 +35,7 @@
import org.apache.maven.shared.release.scm.ReleaseScmCommandException;
import org.apache.maven.shared.release.scm.ReleaseScmRepositoryException;
import org.apache.maven.shared.release.scm.ScmRepositoryConfigurator;
+import org.apache.maven.shared.release.util.ReleaseUtil;
import org.codehaus.plexus.util.FileUtils;
import java.io.File;
@@ -127,7 +128,7 @@
try
{
- FileUtils.copyFile( getPomBackup( project ), project.getFile() );
+ FileUtils.copyFile( getPomBackup( project ), ReleaseUtil.getStandardPom( project ) );
}
catch ( IOException e )
{
Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmCommitPhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmCommitPhase.java?view=diff&rev=540148&r1=540147&r2=540148
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmCommitPhase.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmCommitPhase.java Mon May 21 07:03:35 2007
@@ -36,6 +36,7 @@
import org.apache.maven.shared.release.scm.ReleaseScmCommandException;
import org.apache.maven.shared.release.scm.ReleaseScmRepositoryException;
import org.apache.maven.shared.release.scm.ScmRepositoryConfigurator;
+import org.apache.maven.shared.release.util.ReleaseUtil;
import java.io.File;
import java.text.MessageFormat;
@@ -88,20 +89,21 @@
throw new ReleaseExecutionException( "Unable to configure SCM repository: " + e.getMessage(), e );
}
- List pomFiles = createPomFiles( reactorProjects );
-
if ( releaseDescriptor.isCommitByProject() )
{
- for ( Iterator i = pomFiles.iterator(); i.hasNext(); )
+ for ( Iterator i = reactorProjects.iterator(); i.hasNext(); )
{
- File pomFile = (File) i.next();
- ScmFileSet fileSet = new ScmFileSet( pomFile.getParentFile(), pomFile );
+ MavenProject project = (MavenProject) i.next();
+
+ List pomFiles = createPomFiles( releaseDescriptor, project );
+ ScmFileSet fileSet = new ScmFileSet( project.getFile().getParentFile(), pomFiles );
checkin( provider, repository, fileSet, createMessage( releaseDescriptor ) );
}
}
else
{
+ List pomFiles = createPomFiles( releaseDescriptor, reactorProjects );
ScmFileSet fileSet = new ScmFileSet( new File( releaseDescriptor.getWorkingDirectory() ), pomFiles );
checkin( provider, repository, fileSet, createMessage( releaseDescriptor ) );
@@ -139,7 +141,7 @@
validateConfiguration( releaseDescriptor );
- Collection pomFiles = createPomFiles( reactorProjects );
+ Collection pomFiles = createPomFiles( releaseDescriptor, reactorProjects );
logInfo( result, "Full run would be checking in " + pomFiles.size() + " files with message: '" +
createMessage( releaseDescriptor ) + "'" );
@@ -163,13 +165,27 @@
new Object[]{releaseDescriptor.getScmReleaseLabel()} );
}
- private static List createPomFiles( List reactorProjects )
+ private static List createPomFiles( ReleaseDescriptor releaseDescriptor, MavenProject project )
+ {
+ List pomFiles = new ArrayList();
+
+ pomFiles.add( ReleaseUtil.getStandardPom( project ) );
+
+ if ( releaseDescriptor.isGenerateReleasePoms() )
+ {
+ pomFiles.add( ReleaseUtil.getReleasePom( project ) );
+ }
+
+ return pomFiles;
+ }
+
+ private static List createPomFiles( ReleaseDescriptor releaseDescriptor, List reactorProjects )
{
- List pomFiles = new ArrayList( reactorProjects.size() );
+ List pomFiles = new ArrayList();
for ( Iterator i = reactorProjects.iterator(); i.hasNext(); )
{
MavenProject project = (MavenProject) i.next();
- pomFiles.add( project.getFile() );
+ pomFiles.addAll( createPomFiles( releaseDescriptor, project ) );
}
return pomFiles;
}
Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/util/ReleaseUtil.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/util/ReleaseUtil.java?view=diff&rev=540148&r1=540147&r2=540148
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/util/ReleaseUtil.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/util/ReleaseUtil.java Mon May 21 07:03:35 2007
@@ -21,6 +21,7 @@
import org.apache.maven.project.MavenProject;
+import java.io.File;
import java.util.Iterator;
import java.util.List;
@@ -30,6 +31,10 @@
*/
public class ReleaseUtil
{
+ public static final String RELEASE_POMv4 = "release-pom.xml";
+
+ private static final String POMv4 = "pom.xml";
+
private ReleaseUtil()
{
}
@@ -48,5 +53,23 @@
}
return project;
+ }
+
+ public static File getStandardPom( MavenProject project )
+ {
+ File pom = project.getFile();
+ File releasePom = getReleasePom( project );
+
+ if ( pom.equals( releasePom ))
+ {
+ pom = new File( pom.getParent(), POMv4 );
+ }
+
+ return pom;
+ }
+
+ public static File getReleasePom( MavenProject project )
+ {
+ return new File( project.getFile().getParent(), RELEASE_POMv4 );
}
}