Bootstrap Maven as non-modular packages

Resolves: rhbz#1951482
This commit is contained in:
Mikolaj Izdebski 2021-06-08 20:17:56 +02:00
parent 973f304a03
commit 98f6985899
2 changed files with 135 additions and 34 deletions

View File

@ -0,0 +1,59 @@
From aaf7866aa8fcf1c7785f0aa875527c9b05a0e4e3 Mon Sep 17 00:00:00 2001
From: Marian Koncek <mkoncek@redhat.com>
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

View File

@ -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 Name: maven-dependency-plugin
Version: 3.1.2 Version: 3.1.2
Release: 6%{?dist} Release: 7%{?dist}
Summary: Plugin to manipulate, copy and unpack local and remote artifacts Summary: Plugin to manipulate, copy and unpack local and remote artifacts
License: ASL 2.0 License: ASL 2.0
URL: https://maven.apache.org/plugins/%{name}
URL: http://maven.apache.org/plugins/%{name}
Source0: https://repo1.maven.org/maven2/org/apache/maven/plugins/%{name}/%{version}/%{name}-%{version}-source-release.zip
BuildArch: noarch 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 BuildRequires: maven-local
%if %{with bootstrap}
BuildRequires: javapackages-bootstrap
%else
BuildRequires: mvn(classworlds:classworlds) BuildRequires: mvn(classworlds:classworlds)
BuildRequires: mvn(commons-collections:commons-collections) 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.commons:commons-lang3)
BuildRequires: mvn(org.apache.maven.doxia:doxia-core) BuildRequires: mvn(org.apache.maven.plugin-tools:maven-plugin-annotations)
BuildRequires: mvn(org.apache.maven.doxia:doxia-sink-api) BuildRequires: mvn(org.apache.maven.plugins:maven-plugin-plugin)
BuildRequires: mvn(org.apache.maven.doxia:doxia-site-renderer) 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-artifact)
BuildRequires: mvn(org.apache.maven:maven-core) BuildRequires: mvn(org.apache.maven:maven-core)
BuildRequires: mvn(org.apache.maven:maven-model) BuildRequires: mvn(org.apache.maven:maven-model)
BuildRequires: mvn(org.apache.maven:maven-plugin-api) BuildRequires: mvn(org.apache.maven:maven-plugin-api)
BuildRequires: mvn(org.apache.maven:maven-repository-metadata) 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-archiver)
BuildRequires: mvn(org.codehaus.plexus:plexus-interpolation)
BuildRequires: mvn(org.codehaus.plexus:plexus-io) BuildRequires: mvn(org.codehaus.plexus:plexus-io)
BuildRequires: mvn(org.codehaus.plexus:plexus-utils) BuildRequires: mvn(org.codehaus.plexus:plexus-utils)
BuildRequires: mvn(org.mockito:mockito-core)
%endif
%description %description
The dependency plugin provides the capability to manipulate The dependency plugin provides the capability to manipulate
@ -51,27 +59,45 @@ Summary: API documentation for %{name}
%prep %prep
%setup -q %setup -q
%patch0 -p1
%pom_remove_plugin :maven-enforcer-plugin %pom_remove_plugin :maven-enforcer-plugin
# We don't want to support legacy Maven versions (older than 3.1) # We don't want to support legacy Maven versions (older than 3.1)
%pom_remove_dep org.sonatype.aether: %pom_remove_dep org.sonatype.aether:
# trivial port to commons-lang3 # Not actually needed
%pom_change_dep :commons-lang org.apache.commons:commons-lang3:3.8.1 %pom_remove_dep :wagon-http-lightweight
sed -i "s/org.apache.commons.lang./org.apache.commons.lang3./g" \ # Port to apache-commons-lang3
src/main/java/org/apache/maven/plugins/dependency/analyze/AbstractAnalyzeMojo.java %pom_change_dep commons-lang:commons-lang org.apache.commons:commons-lang3
sed -i "s/org.apache.commons.lang./org.apache.commons.lang3./g" \ find . -name '*.java' -exec sed -i 's/org\.apache\.commons\.lang/org.apache.commons.lang3/' {} +
src/main/java/org/apache/maven/plugins/dependency/resolvers/ResolveDependencySourcesMojo.java
sed -i "s/org.apache.commons.lang./org.apache.commons.lang3./g" \ %pom_remove_dep :maven-reporting-api
src/main/java/org/apache/maven/plugins/dependency/DisplayAncestorsMojo.java %pom_remove_dep :maven-reporting-impl
sed -i "s/org.apache.commons.lang./org.apache.commons.lang3./g" \ %pom_remove_dep :commons-io
src/test/java/org/apache/maven/plugins/dependency/fromConfiguration/TestUnpackMojo.java %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 %build
# Tests require legacy Maven # Tests require legacy Maven
%mvn_build -f %mvn_build
%install %install
%mvn_install %mvn_install
@ -83,12 +109,19 @@ sed -i "s/org.apache.commons.lang./org.apache.commons.lang3./g" \
%doc LICENSE NOTICE %doc LICENSE NOTICE
%changelog %changelog
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 3.1.2-6 * Tue Jun 08 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.1.2-7
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 - Bootstrap Maven for CentOS Stream 9
* Mon May 17 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.1.2-6
- Bootstrap build
- Non-bootstrap build
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.2-5 * Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Aug 25 2020 Marian Koncek <mkoncek@redhat.com> - 3.1.2-1
- Update to upstream version 3.1.2
* Thu Jul 30 2020 Fabio Valentini <decathorpe@gmail.com> - 3.1.2-4 * Thu Jul 30 2020 Fabio Valentini <decathorpe@gmail.com> - 3.1.2-4
- Port to commons-lang3. - 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 <releng@fedoraproject.org> - 3.1.1-5 * Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Nov 05 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.1.1-2
- Mass rebuild for javapackages-tools 201902
* Sun Nov 03 2019 Fabio Valentini <decathorpe@gmail.com> - 3.1.1-4 * Sun Nov 03 2019 Fabio Valentini <decathorpe@gmail.com> - 3.1.1-4
- Include backported patch for maven-artifact-transfer 0.11.0 support. - Include backported patch for maven-artifact-transfer 0.11.0 support.
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.1-3 * Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Tue Jun 04 2019 Marian Koncek <mkoncek@redhat.com> - 3.1.1-1
- Update to upstream version 3.1.1
* Fri May 24 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.0.2-3
- Mass rebuild for javapackages-tools 201901
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.1-2 * Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild