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
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 <mboddu@redhat.com> - 3.1.2-6
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Tue Jun 08 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.1.2-7
- 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
- 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
- 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
- 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
- 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
- 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
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild