From 98f69858995977845939f0d736bef5760701b838 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Tue, 8 Jun 2021 20:17:56 +0200 Subject: [PATCH] Bootstrap Maven as non-modular packages Resolves: rhbz#1951482 --- 0000-Port-tests-to-maven-model-3.6.X.patch | 59 +++++++++++ maven-dependency-plugin.spec | 110 ++++++++++++++------- 2 files changed, 135 insertions(+), 34 deletions(-) create mode 100644 0000-Port-tests-to-maven-model-3.6.X.patch diff --git a/0000-Port-tests-to-maven-model-3.6.X.patch b/0000-Port-tests-to-maven-model-3.6.X.patch new file mode 100644 index 0000000..58db4a0 --- /dev/null +++ b/0000-Port-tests-to-maven-model-3.6.X.patch @@ -0,0 +1,59 @@ +From aaf7866aa8fcf1c7785f0aa875527c9b05a0e4e3 Mon Sep 17 00:00:00 2001 +From: Marian Koncek +Date: Tue, 25 Aug 2020 12:12:09 +0200 +Subject: [PATCH] Port tests to maven model 3.6.X + +--- + .../plugins/dependency/analyze/TestAnalyzeDepMgt.java | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/src/test/java/org/apache/maven/plugins/dependency/analyze/TestAnalyzeDepMgt.java b/src/test/java/org/apache/maven/plugins/dependency/analyze/TestAnalyzeDepMgt.java +index 268ac1d..a54123c 100644 +--- a/src/test/java/org/apache/maven/plugins/dependency/analyze/TestAnalyzeDepMgt.java ++++ b/src/test/java/org/apache/maven/plugins/dependency/analyze/TestAnalyzeDepMgt.java +@@ -117,33 +117,42 @@ public class TestAnalyzeDepMgt + // sure it's ok before + // testing the next one + dep.setType( "t" ); ++ dep.clearManagementKey(); + assertNotEquals( dep.getManagementKey(), mojo.getArtifactManagementKey( artifact ) ); + + dep.setType( "type" ); ++ dep.clearManagementKey(); + assertEquals( dep.getManagementKey(), mojo.getArtifactManagementKey( artifact ) ); + + dep.setArtifactId( "a" ); ++ dep.clearManagementKey(); + assertNotEquals( dep.getManagementKey(), mojo.getArtifactManagementKey( artifact ) ); + + dep.setArtifactId( "artifact" ); ++ dep.clearManagementKey(); + assertEquals( dep.getManagementKey(), mojo.getArtifactManagementKey( artifact ) ); + + dep.setClassifier( "c" ); ++ dep.clearManagementKey(); + assertNotEquals( dep.getManagementKey(), mojo.getArtifactManagementKey( artifact ) ); + + dep.setClassifier( "class" ); ++ dep.clearManagementKey(); + assertEquals( dep.getManagementKey(), mojo.getArtifactManagementKey( artifact ) ); + + dep.setGroupId( "g" ); ++ dep.clearManagementKey(); + assertNotEquals( dep.getManagementKey(), mojo.getArtifactManagementKey( artifact ) ); + + dep.setGroupId( "group" ); + dep.setClassifier( null ); + artifact = stubFactory.createArtifact( "group", "artifact", "1.0", Artifact.SCOPE_COMPILE, "type", null ); ++ dep.clearManagementKey(); + assertEquals( dep.getManagementKey(), mojo.getArtifactManagementKey( artifact ) ); + + dep.setClassifier( "" ); + artifact = stubFactory.createArtifact( "group", "artifact", "1.0", Artifact.SCOPE_COMPILE, "type", "" ); ++ dep.clearManagementKey(); + assertEquals( dep.getManagementKey(), mojo.getArtifactManagementKey( artifact ) ); + } + +-- +2.26.2 + diff --git a/maven-dependency-plugin.spec b/maven-dependency-plugin.spec index 3500250..dba7d80 100644 --- a/maven-dependency-plugin.spec +++ b/maven-dependency-plugin.spec @@ -1,42 +1,50 @@ +# Workaround for rhbz#1969370: __bootstrap macro is not defined in +# CentOS Stream, See https://bugzilla.redhat.com/1969370 +%global __bootstrap ~bootstrap + +%bcond_without bootstrap + Name: maven-dependency-plugin Version: 3.1.2 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Plugin to manipulate, copy and unpack local and remote artifacts License: ASL 2.0 - -URL: http://maven.apache.org/plugins/%{name} -Source0: https://repo1.maven.org/maven2/org/apache/maven/plugins/%{name}/%{version}/%{name}-%{version}-source-release.zip - +URL: https://maven.apache.org/plugins/%{name} BuildArch: noarch +Source0: https://repo1.maven.org/maven2/org/apache/maven/plugins/%{name}/%{version}/%{name}-%{version}-source-release.zip + +Patch0: 0000-Port-tests-to-maven-model-3.6.X.patch + BuildRequires: maven-local +%if %{with bootstrap} +BuildRequires: javapackages-bootstrap +%else BuildRequires: mvn(classworlds:classworlds) BuildRequires: mvn(commons-collections:commons-collections) -BuildRequires: mvn(commons-io:commons-io) +BuildRequires: mvn(junit:junit) BuildRequires: mvn(org.apache.commons:commons-lang3) -BuildRequires: mvn(org.apache.maven.doxia:doxia-core) -BuildRequires: mvn(org.apache.maven.doxia:doxia-sink-api) -BuildRequires: mvn(org.apache.maven.doxia:doxia-site-renderer) +BuildRequires: mvn(org.apache.maven.plugin-tools:maven-plugin-annotations) +BuildRequires: mvn(org.apache.maven.plugins:maven-plugin-plugin) +BuildRequires: mvn(org.apache.maven.plugins:maven-plugins:pom:) +BuildRequires: mvn(org.apache.maven.plugin-testing:maven-plugin-testing-harness) +BuildRequires: mvn(org.apache.maven.shared:file-management) +BuildRequires: mvn(org.apache.maven.shared:maven-artifact-transfer) +BuildRequires: mvn(org.apache.maven.shared:maven-common-artifact-filters) +BuildRequires: mvn(org.apache.maven.shared:maven-dependency-analyzer) +BuildRequires: mvn(org.apache.maven.shared:maven-dependency-tree) +BuildRequires: mvn(org.apache.maven.shared:maven-shared-utils) BuildRequires: mvn(org.apache.maven:maven-artifact) BuildRequires: mvn(org.apache.maven:maven-core) BuildRequires: mvn(org.apache.maven:maven-model) BuildRequires: mvn(org.apache.maven:maven-plugin-api) BuildRequires: mvn(org.apache.maven:maven-repository-metadata) -BuildRequires: mvn(org.apache.maven.plugins:maven-plugin-plugin) -BuildRequires: mvn(org.apache.maven.plugins:maven-plugins:pom:) -BuildRequires: mvn(org.apache.maven.plugin-tools:maven-plugin-annotations) -BuildRequires: mvn(org.apache.maven.reporting:maven-reporting-api) -BuildRequires: mvn(org.apache.maven.reporting:maven-reporting-impl) -BuildRequires: mvn(org.apache.maven.shared:file-management) -BuildRequires: mvn(org.apache.maven.shared:maven-artifact-transfer) >= 0.11.0 -BuildRequires: mvn(org.apache.maven.shared:maven-common-artifact-filters) -BuildRequires: mvn(org.apache.maven.shared:maven-dependency-analyzer) -BuildRequires: mvn(org.apache.maven.shared:maven-dependency-tree) -BuildRequires: mvn(org.apache.maven.shared:maven-shared-utils) -BuildRequires: mvn(org.apache.maven.wagon:wagon-http-lightweight) BuildRequires: mvn(org.codehaus.plexus:plexus-archiver) +BuildRequires: mvn(org.codehaus.plexus:plexus-interpolation) BuildRequires: mvn(org.codehaus.plexus:plexus-io) BuildRequires: mvn(org.codehaus.plexus:plexus-utils) +BuildRequires: mvn(org.mockito:mockito-core) +%endif %description The dependency plugin provides the capability to manipulate @@ -51,27 +59,45 @@ Summary: API documentation for %{name} %prep %setup -q +%patch0 -p1 %pom_remove_plugin :maven-enforcer-plugin # We don't want to support legacy Maven versions (older than 3.1) %pom_remove_dep org.sonatype.aether: -# trivial port to commons-lang3 -%pom_change_dep :commons-lang org.apache.commons:commons-lang3:3.8.1 +# Not actually needed +%pom_remove_dep :wagon-http-lightweight -sed -i "s/org.apache.commons.lang./org.apache.commons.lang3./g" \ - src/main/java/org/apache/maven/plugins/dependency/analyze/AbstractAnalyzeMojo.java -sed -i "s/org.apache.commons.lang./org.apache.commons.lang3./g" \ - src/main/java/org/apache/maven/plugins/dependency/resolvers/ResolveDependencySourcesMojo.java -sed -i "s/org.apache.commons.lang./org.apache.commons.lang3./g" \ - src/main/java/org/apache/maven/plugins/dependency/DisplayAncestorsMojo.java -sed -i "s/org.apache.commons.lang./org.apache.commons.lang3./g" \ - src/test/java/org/apache/maven/plugins/dependency/fromConfiguration/TestUnpackMojo.java +# Port to apache-commons-lang3 +%pom_change_dep commons-lang:commons-lang org.apache.commons:commons-lang3 +find . -name '*.java' -exec sed -i 's/org\.apache\.commons\.lang/org.apache.commons.lang3/' {} + + +%pom_remove_dep :maven-reporting-api +%pom_remove_dep :maven-reporting-impl +%pom_remove_dep :commons-io +%pom_remove_dep :doxia-core +%pom_remove_dep :doxia-sink-api +%pom_remove_dep :doxia-site-renderer + +%pom_remove_dep :jetty-server +%pom_remove_dep :jetty-servlet +%pom_remove_dep :jetty-webapp +%pom_remove_dep :maven-plugin-testing-tools + +# Tests which require eclipse +rm src/test/java/org/apache/maven/plugins/dependency/TestGetMojo.java +rm -r src/test/java/org/apache/maven/plugins/dependency/fromDependencies +rm -r src/test/java/org/apache/maven/plugins/dependency/fromConfiguration +rm src/test/java/org/apache/maven/plugins/dependency/utils/translators/TestClassifierTypeTranslator.java + +# Requires org.apache.maven.reporting +rm src/main/java/org/apache/maven/plugins/dependency/analyze/AnalyzeReport{Mojo,View}.java +sed -i '/doSpecialTest( "analyze-report" );/d' src/test/java/org/apache/maven/plugins/dependency/TestSkip.java %build # Tests require legacy Maven -%mvn_build -f +%mvn_build %install %mvn_install @@ -83,12 +109,19 @@ sed -i "s/org.apache.commons.lang./org.apache.commons.lang3./g" \ %doc LICENSE NOTICE %changelog -* Fri Apr 16 2021 Mohan Boddu - 3.1.2-6 -- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 +* Tue Jun 08 2021 Mikolaj Izdebski - 3.1.2-7 +- Bootstrap Maven for CentOS Stream 9 + +* Mon May 17 2021 Mikolaj Izdebski - 3.1.2-6 +- Bootstrap build +- Non-bootstrap build * Tue Jan 26 2021 Fedora Release Engineering - 3.1.2-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild +* Tue Aug 25 2020 Marian Koncek - 3.1.2-1 +- Update to upstream version 3.1.2 + * Thu Jul 30 2020 Fabio Valentini - 3.1.2-4 - Port to commons-lang3. @@ -104,12 +137,21 @@ sed -i "s/org.apache.commons.lang./org.apache.commons.lang3./g" \ * Wed Jan 29 2020 Fedora Release Engineering - 3.1.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild +* Tue Nov 05 2019 Mikolaj Izdebski - 3.1.1-2 +- Mass rebuild for javapackages-tools 201902 + * Sun Nov 03 2019 Fabio Valentini - 3.1.1-4 - Include backported patch for maven-artifact-transfer 0.11.0 support. * Thu Jul 25 2019 Fedora Release Engineering - 3.1.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild +* Tue Jun 04 2019 Marian Koncek - 3.1.1-1 +- Update to upstream version 3.1.1 + +* Fri May 24 2019 Mikolaj Izdebski - 3.0.2-3 +- Mass rebuild for javapackages-tools 201901 + * Fri Feb 01 2019 Fedora Release Engineering - 3.1.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild