diff --git a/002-mavenrelease-fixbuild.patch b/002-mavenrelease-fixbuild.patch new file mode 100644 index 0000000..5011340 --- /dev/null +++ b/002-mavenrelease-fixbuild.patch @@ -0,0 +1,54 @@ +--- maven-release-2.2/maven-release-manager/pom.xml 2011-06-27 10:45:56.000000000 +0200 ++++ maven-release-2.2-patched/maven-release-manager/pom.xml 2011-07-26 16:06:54.854973698 +0200 +@@ -80,6 +80,12 @@ + + + org.apache.maven ++ maven-compat ++ ${mavenVersion} ++ ++ ++ ++ org.apache.maven + maven-model + ${mavenVersion} + +@@ -254,13 +243,13 @@ + + + org.codehaus.plexus +- plexus-maven-plugin ++ plexus-component-metadata + + + create-component-descriptor + generate-resources + +- descriptor ++ generate-metadata + + + +@@ -274,7 +263,7 @@ + + process-resources + +- merge-descriptors ++ merge-metadata + + + +--- maven-release-2.2/maven-release-plugin/pom.xml 2011-06-27 10:45:56.000000000 +0200 ++++ maven-release-2.2-patched/maven-release-plugin/pom.xml 2011-07-26 16:03:02.203751549 +0200 +@@ -53,6 +53,11 @@ + + + org.apache.maven ++ maven-compat ++ ${mavenVersion} ++ ++ ++ org.apache.maven + maven-plugin-api + ${mavenVersion} + diff --git a/003-fixing-migration-to-component-metadata.patch b/003-fixing-migration-to-component-metadata.patch new file mode 100644 index 0000000..5609260 --- /dev/null +++ b/003-fixing-migration-to-component-metadata.patch @@ -0,0 +1,14 @@ +diff -Naur maven-release-2.2.1.orig/maven-release-manager/pom.xml maven-release-2.2.1/maven-release-manager/pom.xml +--- maven-release-2.2.1.orig/maven-release-manager/pom.xml 2012-09-12 14:06:31.000000000 +0200 ++++ maven-release-2.2.1/maven-release-manager/pom.xml 2012-09-17 15:00:16.873536747 +0200 +@@ -295,8 +295,8 @@ + + + org.codehaus.plexus +- plexus-maven-plugin +- 1.3.8 ++ plexus-component-metadata ++ 1.5.5 + + + diff --git a/maven-release-2.2.1-source-release.zip b/maven-release-2.2.1-source-release.zip new file mode 100644 index 0000000..6941522 Binary files /dev/null and b/maven-release-2.2.1-source-release.zip differ diff --git a/maven-release-MNG-3954.patch b/maven-release-MNG-3954.patch new file mode 100644 index 0000000..557111e --- /dev/null +++ b/maven-release-MNG-3954.patch @@ -0,0 +1,12 @@ +--- maven-release-manager/src/main/java/org/apache/maven/shared/release/exec/InvokerMavenExecutor.java~ 2011-07-28 15:42:12.000000000 +0200 ++++ maven-release-manager/src/main/java/org/apache/maven/shared/release/exec/InvokerMavenExecutor.java 2015-11-27 08:41:43.677304909 +0100 +@@ -364,8 +364,7 @@ + + if ( releaseEnvironment.getSettings() != null ) + { +- // FIXME: This is effectively useless in Maven 2.x, since getFile() always returns null +- File settingsFile = releaseEnvironment.getSettings().getRuntimeInfo().getFile(); ++ File settingsFile = org.apache.maven.settings.RuntimeInfo.DEFAULT_USER_SETTINGS_FILE; + if ( settingsFile != null && settingsFile.isFile() ) + { + req.setUserSettingsFile( settingsFile ); diff --git a/maven-release-ftbfs.patch b/maven-release-ftbfs.patch new file mode 100644 index 0000000..50ac412 --- /dev/null +++ b/maven-release-ftbfs.patch @@ -0,0 +1,42 @@ +--- maven-release-2.2.1/maven-release-manager/src/main/mdo/release-descriptor.mdo.orig 2013-12-24 02:51:03.017016426 -0200 ++++ maven-release-2.2.1/maven-release-manager/src/main/mdo/release-descriptor.mdo 2013-12-24 02:51:57.939013819 -0200 +@@ -523,7 +523,7 @@ + + versionsMap.put( DEVELOPMENT_KEY, developmentVersion ); + versionsMap.put( RELEASE_KEY, releaseVersion ); +- resolvedSnapshotDependencies.put( artifactName, versionsMap ); ++ resolvedSnapshotDependencies.put( artifactName, String.class.cast(versionsMap) ); + } + + /** +@@ -575,7 +575,7 @@ + assert !originalScmInfo.containsKey( projectId ); + } + +- originalScmInfo.put( projectId, scm ); ++ originalScmInfo.put( projectId, String.class.cast(scm) ); + } + + /** +@@ -613,8 +613,8 @@ + { + if ( ( resolvedSnapshotDependencies == null ) && ( resolvedSnapshotDependencies.containsKey( artifactConflictId ) ) ) + { +- java.util.Map versionMap = ( java.util.Map ) resolvedSnapshotDependencies.get( artifactConflictId ); +- return ( String ) versionMap.get( DEVELOPMENT_KEY ); ++ java.util.Map versionMap = java.util.Map.class.cast(resolvedSnapshotDependencies.get( artifactConflictId )); ++ return String.class.cast(versionMap.get( DEVELOPMENT_KEY )); + } + return null; + } +@@ -627,8 +627,8 @@ + { + if ( ( resolvedSnapshotDependencies == null ) && ( resolvedSnapshotDependencies.containsKey( artifactConflictId ) ) ) + { +- java.util.Map versionMap = ( java.util.Map ) resolvedSnapshotDependencies.get( artifactConflictId ); +- return ( String ) versionMap.get( RELEASE_KEY ); ++ java.util.Map versionMap = java.util.Map.class.cast(resolvedSnapshotDependencies.get( artifactConflictId )); ++ return String.class.cast(versionMap.get( RELEASE_KEY )); + } + return null; + } diff --git a/maven-release.spec b/maven-release.spec new file mode 100644 index 0000000..eff512d --- /dev/null +++ b/maven-release.spec @@ -0,0 +1,94 @@ +Name: maven-release +Version: 2.2.1 +Release: 1 +Summary: Release a project updating the POM and tagging in the SCM +License: ASL 2.0 +URL: http://maven.apache.org/plugins/maven-release-plugin/ +BuildArch: noarch +Source0: https://repo1.maven.org/maven2/org/apache/maven/release/maven-release/2.2.1/maven-release-2.2.1-source-release.zip +Patch1: 002-mavenrelease-fixbuild.patch +Patch2: 003-fixing-migration-to-component-metadata.patch +Patch3: %{name}-ftbfs.patch +Patch4: %{name}-MNG-3954.patch +BuildRequires: maven-local mvn(commons-cli:commons-cli) mvn(commons-lang:commons-lang) +BuildRequires: mvn(jaxen:jaxen) mvn(org.apache.maven:maven-artifact) +BuildRequires: mvn(org.apache.maven:maven-artifact-manager) mvn(org.apache.maven:maven-compat) +BuildRequires: mvn(org.apache.maven:maven-core) mvn(org.apache.maven:maven-model) +BuildRequires: mvn(org.apache.maven:maven-parent:pom:) mvn(org.apache.maven:maven-plugin-api) +BuildRequires: mvn(org.apache.maven:maven-project) mvn(org.apache.maven:maven-settings) +BuildRequires: mvn(org.apache.maven.plugins:maven-enforcer-plugin) +BuildRequires: mvn(org.apache.maven.plugins:maven-plugin-plugin) +BuildRequires: mvn(org.apache.maven.scm:maven-scm-api) +BuildRequires: mvn(org.apache.maven.scm:maven-scm-provider-svn-commons) +BuildRequires: mvn(org.apache.maven.shared:maven-invoker) +BuildRequires: mvn(org.codehaus.modello:modello-maven-plugin) +BuildRequires: mvn(org.codehaus.plexus:plexus-component-metadata) +BuildRequires: mvn(org.codehaus.plexus:plexus-container-default) +BuildRequires: mvn(org.codehaus.plexus:plexus-interactivity-api) +BuildRequires: mvn(org.codehaus.plexus:plexus-interpolation) +BuildRequires: mvn(org.codehaus.plexus:plexus-utils) mvn(org.jdom:jdom) +BuildRequires: mvn(org.sonatype.plexus:plexus-sec-dispatcher) +%description +This plugin is used to release a project with Maven, saving a lot of +repetitive, manual work. Releasing a project is made in two steps: +prepare and perform. + +%package manager +Summary: Release a project updating the POM and tagging in the SCM +%description manager +This package contains %{name}-manager needed by %{name}-plugin. + +%package plugin +Summary: Release a project updating the POM and tagging in the SCM +%description plugin +This plugin is used to release a project with Maven, saving a lot of +repetitive, manual work. Releasing a project is made in two steps: +prepare and perform. + +%package javadoc +Summary: Javadoc for %{name} +Provides: %{name}-manager-javadoc = %{version}-%{release} +Obsoletes: %{name}-manager-javadoc <= 2.0-1 +Provides: %{name}-plugin-javadoc = %{version}-%{release} +Obsoletes: %{name}-plugin-javadoc <= 2.0-1 +%description javadoc +This package contains the API documentation for %{name}. + +%prep +%setup -q -n %{name}-%{version} +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p0 +cat > README << EOT +%{name}-%{version} +This plugin is used to release a project with Maven, saving a lot of +repetitive, manual work. Releasing a project is made in two steps: +prepare and perform. +EOT + +%build +%mvn_file :%{name}-manager %{name}-manager +%mvn_file :%{name}-plugin %{name}-plugin +%mvn_package :%{name}-manager manager +%mvn_package :%{name}-plugin plugin +%mvn_build -f + +%install +%mvn_install + +%files -f .mfiles +%doc LICENSE NOTICE README + +%files manager -f .mfiles-manager +%doc LICENSE NOTICE + +%files plugin -f .mfiles-plugin +%doc LICENSE NOTICE + +%files javadoc -f .mfiles-javadoc +%doc LICENSE NOTICE + +%changelog +* Wed Aug 5 2020 chengzihan - 2.2.1-1 +- Package init diff --git a/maven-release.yaml b/maven-release.yaml new file mode 100644 index 0000000..eac7b21 --- /dev/null +++ b/maven-release.yaml @@ -0,0 +1,4 @@ +version_control: github +src_repo: apache/maven-release +tag_prefix: "maven-release-" +seperator: "."