Compare commits

..

No commits in common. "c8-stream-201902" and "c8-stream-3.8" have entirely different histories.

9 changed files with 357 additions and 112 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/apache-maven-3.6.2-src.tar.gz SOURCES/apache-maven-3.8.5-src.tar.gz

View File

@ -1 +1 @@
373ffbe9fc88e5facbe10d7a6f6badd243545ade SOURCES/apache-maven-3.6.2-src.tar.gz 976a947711e82f11f47c7b128dd8df903642075b SOURCES/apache-maven-3.8.5-src.tar.gz

View File

@ -1,14 +1,14 @@
From 056c94f86450c7c27f5bb11f98653c73bfe3d8e4 Mon Sep 17 00:00:00 2001 From 3c59030162ccb3c38cf62a74a36e52cead52706b Mon Sep 17 00:00:00 2001
From: Michael Simacek <msimacek@redhat.com> From: Michael Simacek <msimacek@redhat.com>
Date: Wed, 1 Feb 2017 14:54:26 +0100 Date: Wed, 1 Feb 2017 14:54:26 +0100
Subject: [PATCH 1/4] Adapt mvn script Subject: [PATCH 1/6] Adapt mvn script
--- ---
apache-maven/src/bin/mvn | 17 +++++++++++++++-- apache-maven/src/bin/mvn | 11 +++++++++--
1 file changed, 15 insertions(+), 2 deletions(-) 1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/apache-maven/src/bin/mvn b/apache-maven/src/bin/mvn diff --git a/apache-maven/src/bin/mvn b/apache-maven/src/bin/mvn
index a554c6617..0c07ba6e2 100755 index dfa384b8e..605c0edd3 100755
--- a/apache-maven/src/bin/mvn --- a/apache-maven/src/bin/mvn
+++ b/apache-maven/src/bin/mvn +++ b/apache-maven/src/bin/mvn
@@ -22,7 +22,7 @@ @@ -22,7 +22,7 @@
@ -20,11 +20,11 @@ index a554c6617..0c07ba6e2 100755
# MAVEN_OPTS (Optional) Java runtime options used when Maven is executed. # MAVEN_OPTS (Optional) Java runtime options used when Maven is executed.
# MAVEN_SKIP_RC (Optional) Flag to disable loading of mavenrc files. # MAVEN_SKIP_RC (Optional) Flag to disable loading of mavenrc files.
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
@@ -33,12 +33,24 @@ if [ -z "$MAVEN_SKIP_RC" ] ; then @@ -37,12 +37,18 @@ if [ -z "$MAVEN_SKIP_RC" ] ; then
. /etc/mavenrc . /etc/mavenrc
fi fi
+ if [ -f /etc/java/maven.conf ] ; then + if [ -z "$JAVA_HOME" ] ; then
+ . /etc/java/maven.conf + . /etc/java/maven.conf
+ fi + fi
+ +
@ -34,18 +34,12 @@ index a554c6617..0c07ba6e2 100755
fi fi
+if [ -f /usr/share/java-utils/java-functions ] ; then
+ . /usr/share/java-utils/java-functions
+ set_jvm
+ set_javacmd
+fi
+export JAVA_HOME +export JAVA_HOME
+export JAVACMD
+ +
# OS specific support. $var _must_ be set to either true or false. # OS specific support. $var _must_ be set to either true or false.
cygwin=false; cygwin=false;
mingw=false; mingw=false;
@@ -63,7 +75,8 @@ done @@ -67,7 +73,8 @@ done
saveddir=`pwd` saveddir=`pwd`
@ -56,5 +50,5 @@ index a554c6617..0c07ba6e2 100755
# make it fully qualified # make it fully qualified
MAVEN_HOME=`cd "$MAVEN_HOME" && pwd` MAVEN_HOME=`cd "$MAVEN_HOME" && pwd`
-- --
2.21.0 2.35.1

View File

@ -1,7 +1,7 @@
From 7610a10691e680db00edcbd4ce6767a30641cd71 Mon Sep 17 00:00:00 2001 From 4d0c432cf88f2f70e6f793569d3dedace062fdef Mon Sep 17 00:00:00 2001
From: Michael Simacek <msimacek@redhat.com> From: Michael Simacek <msimacek@redhat.com>
Date: Tue, 6 Jun 2017 13:47:43 +0200 Date: Tue, 6 Jun 2017 13:47:43 +0200
Subject: [PATCH 2/4] Invoke logback via reflection Subject: [PATCH 2/6] Invoke logback via reflection
--- ---
.../logging/impl/LogbackConfiguration.java | 19 ++++++++++++++----- .../logging/impl/LogbackConfiguration.java | 19 ++++++++++++++-----
@ -49,5 +49,5 @@ index 5d9fab744..ced38cb5a 100644
@Override @Override
-- --
2.21.0 2.35.1

View File

@ -1,7 +1,7 @@
From c8933d155694ce37b1d4be59a744c8f7cbde6bb5 Mon Sep 17 00:00:00 2001 From 81328d875bca5aae7d26e2058f4568a610c680d4 Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com> From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Mon, 1 Jul 2019 09:51:56 +0200 Date: Mon, 1 Jul 2019 09:51:56 +0200
Subject: [PATCH 4/4] Use non-shaded HTTP wagon Subject: [PATCH 3/6] Use non-shaded HTTP wagon
--- ---
apache-maven/pom.xml | 15 --------------- apache-maven/pom.xml | 15 ---------------
@ -9,7 +9,7 @@ Subject: [PATCH 4/4] Use non-shaded HTTP wagon
2 files changed, 16 deletions(-) 2 files changed, 16 deletions(-)
diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml
index 2686570af..d22ae121d 100644 index 7ff412767..b15091576 100644
--- a/apache-maven/pom.xml --- a/apache-maven/pom.xml
+++ b/apache-maven/pom.xml +++ b/apache-maven/pom.xml
@@ -63,21 +63,6 @@ under the License. @@ -63,21 +63,6 @@ under the License.
@ -35,10 +35,10 @@ index 2686570af..d22ae121d 100644
<dependency> <dependency>
<groupId>org.slf4j</groupId> <groupId>org.slf4j</groupId>
diff --git a/pom.xml b/pom.xml diff --git a/pom.xml b/pom.xml
index 237cdc39e..85436c54d 100644 index c319cae26..42afab5f1 100644
--- a/pom.xml --- a/pom.xml
+++ b/pom.xml +++ b/pom.xml
@@ -324,7 +324,6 @@ under the License. @@ -333,7 +333,6 @@ under the License.
<groupId>org.apache.maven.wagon</groupId> <groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-http</artifactId> <artifactId>wagon-http</artifactId>
<version>${wagonVersion}</version> <version>${wagonVersion}</version>
@ -47,5 +47,5 @@ index 237cdc39e..85436c54d 100644
<exclusion> <exclusion>
<groupId>commons-logging</groupId> <groupId>commons-logging</groupId>
-- --
2.21.0 2.35.1

View File

@ -1,17 +1,17 @@
From f6eb583525c7f777bde16182c57a47345fd53cb0 Mon Sep 17 00:00:00 2001 From d0bc26194a0e432206d7f92cf0b6fbef67946cc4 Mon Sep 17 00:00:00 2001
From: Marian Koncek <mkoncek@redhat.com> From: Marian Koncek <mkoncek@redhat.com>
Date: Thu, 5 Sep 2019 15:21:04 +0200 Date: Thu, 5 Sep 2019 15:21:04 +0200
Subject: [PATCH] Remove dependency on powermock Subject: [PATCH 4/6] Remove dependency on powermock
--- ---
.../StringSearchModelInterpolatorTest.java | 66 ------------------- .../StringSearchModelInterpolatorTest.java | 66 -------------------
1 file changed, 66 deletions(-) 1 file changed, 66 deletions(-)
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java
index b66abca..a5b2aa0 100644 index c95e37271..aafafa52f 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java --- a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java +++ b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java
@@ -36,8 +36,6 @@ import java.util.concurrent.FutureTask; @@ -36,8 +36,6 @@
import static org.hamcrest.CoreMatchers.anyOf; import static org.hamcrest.CoreMatchers.anyOf;
import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat; import static org.junit.Assert.assertThat;
@ -20,7 +20,7 @@ index b66abca..a5b2aa0 100644
/** /**
* @author jdcasey * @author jdcasey
@@ -374,70 +372,6 @@ public class StringSearchModelInterpolatorTest @@ -375,70 +373,6 @@ public void testInterpolateObjectWithPomFile()
) ) ); ) ) );
} }
@ -92,5 +92,5 @@ index b66abca..a5b2aa0 100644
throws Exception throws Exception
{ {
-- --
2.21.0 2.35.1

View File

@ -0,0 +1,25 @@
From 25be70bc5a6eb0ddc2838a631cf1a5e20c784e1e Mon Sep 17 00:00:00 2001
From: Marian Koncek <mkoncek@redhat.com>
Date: Fri, 17 Dec 2021 13:05:49 +0100
Subject: [PATCH 5/6] Port to maven-resolver 1.7.2
---
.../org/apache/maven/repository/internal/MavenAetherModule.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenAetherModule.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenAetherModule.java
index 41e98aaea..d72e3c0f3 100644
--- a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenAetherModule.java
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenAetherModule.java
@@ -28,7 +28,7 @@
import org.apache.maven.model.building.DefaultModelBuilderFactory;
import org.apache.maven.model.building.ModelBuilder;
-import org.eclipse.aether.impl.AetherModule;
+import org.eclipse.aether.impl.guice.AetherModule;
import org.eclipse.aether.impl.ArtifactDescriptorReader;
import org.eclipse.aether.impl.MetadataGeneratorFactory;
import org.eclipse.aether.impl.VersionRangeResolver;
--
2.35.1

View File

@ -0,0 +1,37 @@
From 7f97d98125938d065c2025716f041a1dbde326c2 Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Fri, 22 Apr 2022 11:15:38 +0200
Subject: [PATCH 6/6] Restore DefaultModelValidator compatibility with Maven
3.5.4
---
.../maven/model/validation/DefaultModelValidator.java | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java b/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
index f77321c16..4ed22f3ed 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
@@ -44,6 +44,7 @@
import org.apache.maven.model.building.ModelProblem.Version;
import org.apache.maven.model.building.ModelProblemCollector;
import org.apache.maven.model.building.ModelProblemCollectorRequest;
+import org.apache.maven.model.interpolation.DefaultModelVersionProcessor;
import org.apache.maven.model.interpolation.ModelVersionProcessor;
import org.codehaus.plexus.util.StringUtils;
@@ -85,6 +86,11 @@
private ModelVersionProcessor versionProcessor;
+ public DefaultModelValidator()
+ {
+ this( new DefaultModelVersionProcessor() );
+ }
+
@Inject
public DefaultModelValidator( ModelVersionProcessor versionProcessor )
{
--
2.35.1

View File

@ -1,19 +1,22 @@
%global bundled_slf4j_version 1.7.28 %bcond_with bootstrap
%global bundled_slf4j_version 1.7.30
%global homedir %{_datadir}/%{name}%{?maven_version_suffix} %global homedir %{_datadir}/%{name}%{?maven_version_suffix}
%global confdir %{_sysconfdir}/%{name}%{?maven_version_suffix} %global confdir %{_sysconfdir}/%{name}%{?maven_version_suffix}
Name: maven Name: maven
Epoch: 1 Epoch: 1
Version: 3.6.2 Version: 3.8.5
Release: 2%{?dist} Release: 6%{?dist}
Summary: Java project management and project comprehension tool Summary: Java project management and project comprehension tool
# maven itself is ASL 2.0 # maven itself is ASL 2.0
# bundled slf4j is MIT # bundled slf4j is MIT
License: ASL 2.0 and MIT License: ASL 2.0 and MIT
URL: http://maven.apache.org/ URL: https://maven.apache.org/
BuildArch: noarch BuildArch: noarch
ExclusiveArch: %{java_arches} noarch
Source0: http://archive.apache.org/dist/%{name}/%{name}-3/%{version}/sources/apache-%{name}-%{version}-src.tar.gz Source0: https://archive.apache.org/dist/%{name}/%{name}-3/%{version}/source/apache-%{name}-%{version}-src.tar.gz
Source1: maven-bash-completion Source1: maven-bash-completion
Source2: mvn.1 Source2: mvn.1
@ -23,89 +26,77 @@ Patch1: 0001-Adapt-mvn-script.patch
Patch2: 0002-Invoke-logback-via-reflection.patch Patch2: 0002-Invoke-logback-via-reflection.patch
Patch3: 0003-Use-non-shaded-HTTP-wagon.patch Patch3: 0003-Use-non-shaded-HTTP-wagon.patch
Patch4: 0004-Remove-dependency-on-powermock.patch Patch4: 0004-Remove-dependency-on-powermock.patch
Patch5: 0005-Port-to-maven-resolver-1.7.2.patch
# XMvn needs to be ported to Maven 3.8.5
# For now restore backwards compatibility with Maven 3.8.4
Patch6: 0006-Restore-DefaultModelValidator-compatibility-with-Mav.patch
BuildRequires: maven-local %if %{with bootstrap}
BuildRequires: %{?module_prefix}mvn(com.google.inject:guice::no_aop:) BuildRequires: javapackages-bootstrap-openjdk8
BuildRequires: %{?module_prefix}mvn(commons-cli:commons-cli) %else
BuildRequires: maven-local-openjdk8
BuildRequires: mvn(com.google.inject:guice::no_aop:)
BuildRequires: mvn(commons-cli:commons-cli)
BuildRequires: mvn(commons-jxpath:commons-jxpath) BuildRequires: mvn(commons-jxpath:commons-jxpath)
BuildRequires: %{?module_prefix}mvn(javax.annotation:jsr250-api) BuildRequires: mvn(javax.annotation:jsr250-api)
BuildRequires: %{?module_prefix}mvn(javax.inject:javax.inject) BuildRequires: mvn(javax.inject:javax.inject)
BuildRequires: mvn(junit:junit) BuildRequires: mvn(junit:junit)
BuildRequires: %{?module_prefix}mvn(org.apache.commons:commons-lang3) BuildRequires: mvn(org.apache.commons:commons-lang3)
BuildRequires: mvn(org.apache.maven:maven-parent:pom:) BuildRequires: mvn(org.apache.maven:maven-parent:pom:)
BuildRequires: mvn(org.apache.maven.plugins:maven-assembly-plugin) BuildRequires: mvn(org.apache.maven.plugins:maven-assembly-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-dependency-plugin) BuildRequires: mvn(org.apache.maven.plugins:maven-dependency-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-failsafe-plugin) BuildRequires: mvn(org.apache.maven.plugins:maven-failsafe-plugin)
BuildRequires: %{?module_prefix}mvn(org.apache.maven.resolver:maven-resolver-api) BuildRequires: mvn(org.apache.maven.resolver:maven-resolver-api)
BuildRequires: %{?module_prefix}mvn(org.apache.maven.resolver:maven-resolver-connector-basic) BuildRequires: mvn(org.apache.maven.resolver:maven-resolver-connector-basic)
BuildRequires: %{?module_prefix}mvn(org.apache.maven.resolver:maven-resolver-impl) BuildRequires: mvn(org.apache.maven.resolver:maven-resolver-impl)
BuildRequires: %{?module_prefix}mvn(org.apache.maven.resolver:maven-resolver-spi) BuildRequires: mvn(org.apache.maven.resolver:maven-resolver-spi)
BuildRequires: %{?module_prefix}mvn(org.apache.maven.resolver:maven-resolver-transport-wagon) BuildRequires: mvn(org.apache.maven.resolver:maven-resolver-transport-wagon)
BuildRequires: %{?module_prefix}mvn(org.apache.maven.resolver:maven-resolver-util) BuildRequires: mvn(org.apache.maven.resolver:maven-resolver-util)
BuildRequires: %{?module_prefix}mvn(org.apache.maven.shared:maven-shared-utils) BuildRequires: mvn(org.apache.maven.shared:maven-shared-utils)
BuildRequires: %{?module_prefix}mvn(org.apache.maven.wagon:wagon-file) BuildRequires: mvn(org.apache.maven.wagon:wagon-file)
BuildRequires: %{?module_prefix}mvn(org.apache.maven.wagon:wagon-http) BuildRequires: mvn(org.apache.maven.wagon:wagon-http)
BuildRequires: %{?module_prefix}mvn(org.apache.maven.wagon:wagon-provider-api) BuildRequires: mvn(org.apache.maven.wagon:wagon-provider-api)
BuildRequires: mvn(org.codehaus.modello:modello-maven-plugin) >= 1.10.0 BuildRequires: mvn(org.codehaus.modello:modello-maven-plugin)
BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin) BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin)
BuildRequires: %{?module_prefix}mvn(org.codehaus.plexus:plexus-classworlds) BuildRequires: mvn(org.codehaus.mojo:extra-enforcer-rules)
BuildRequires: %{?module_prefix}mvn(org.codehaus.plexus:plexus-component-annotations) BuildRequires: mvn(org.codehaus.plexus:plexus-classworlds)
BuildRequires: mvn(org.codehaus.plexus:plexus-component-annotations)
BuildRequires: mvn(org.codehaus.plexus:plexus-component-metadata) BuildRequires: mvn(org.codehaus.plexus:plexus-component-metadata)
BuildRequires: %{?module_prefix}mvn(org.codehaus.plexus:plexus-interpolation) BuildRequires: mvn(org.codehaus.plexus:plexus-interpolation)
BuildRequires: %{?module_prefix}mvn(org.codehaus.plexus:plexus-utils) >= 3.2.0 BuildRequires: mvn(org.codehaus.plexus:plexus-utils)
BuildRequires: %{?module_prefix}mvn(org.eclipse.sisu:org.eclipse.sisu.inject) BuildRequires: mvn(org.eclipse.sisu:org.eclipse.sisu.inject)
BuildRequires: %{?module_prefix}mvn(org.eclipse.sisu:org.eclipse.sisu.plexus) BuildRequires: mvn(org.eclipse.sisu:org.eclipse.sisu.plexus)
BuildRequires: mvn(org.eclipse.sisu:sisu-maven-plugin) BuildRequires: mvn(org.eclipse.sisu:sisu-maven-plugin)
BuildRequires: %{?module_prefix}mvn(org.fusesource.jansi:jansi) BuildRequires: mvn(org.fusesource.jansi:jansi)
BuildRequires: mvn(org.mockito:mockito-core) >= 2 BuildRequires: mvn(org.mockito:mockito-core)
BuildRequires: %{?module_prefix}mvn(org.slf4j:jcl-over-slf4j) BuildRequires: mvn(org.slf4j:jcl-over-slf4j)
BuildRequires: %{?module_prefix}mvn(org.slf4j:slf4j-api) BuildRequires: mvn(org.slf4j:slf4j-api)
BuildRequires: %{?module_prefix}mvn(org.slf4j:slf4j-simple) BuildRequires: mvn(org.slf4j:slf4j-simple)
BuildRequires: %{?module_prefix}mvn(org.sonatype.plexus:plexus-cipher) BuildRequires: mvn(org.sonatype.plexus:plexus-cipher)
BuildRequires: %{?module_prefix}mvn(org.sonatype.plexus:plexus-sec-dispatcher) BuildRequires: mvn(org.sonatype.plexus:plexus-sec-dispatcher)
BuildRequires: mvn(org.xmlunit:xmlunit-core) BuildRequires: mvn(org.xmlunit:xmlunit-core)
BuildRequires: mvn(org.xmlunit:xmlunit-matchers) BuildRequires: mvn(org.xmlunit:xmlunit-matchers)
BuildRequires: slf4j-sources = %{bundled_slf4j_version}
%if 0%{?module_prefix:1}
%package -n %{module_prefix}%{name}
Summary: %{summary}
%endif %endif
Requires: %{?module_prefix}%{name}-lib = %{epoch}:%{version}-%{release} # XXX
#BuildRequires: mvn(org.slf4j:slf4j-simple::sources:) = %{bundled_slf4j_version}
%if 0%{?fedora} %if %{without bootstrap}
Requires(post): (alternatives if fedora-release >= 30 else chkconfig) BuildRequires: mvn(org.slf4j:slf4j-simple::sources:)
Requires(postun): (alternatives if fedora-release >= 30 else chkconfig)
%else
Requires(post): chkconfig
Requires(postun): chkconfig
%endif %endif
# Require full javapackages-tools since maven-script uses Requires: %{name}-lib = %{epoch}:%{version}-%{release}
# /usr/share/java-utils/java-functions Requires: %{name}-jdk-binding = %{epoch}:%{version}-%{release}
Requires: javapackages-tools Suggests: %{name}-openjdk17 = %{epoch}:%{version}-%{release}
# Theoretically Maven might be usable with just JRE, but typical Maven Requires(post): alternatives
# workflow requires full JDK, so we recommend it here. Requires(postun): alternatives
%if 0%{?fedora} || 0%{?rhel} > 7
Recommends: java-devel
%else
Requires: java-devel
%endif
%if 0%{?module_prefix:1}
%description -n %{module_prefix}%{name}
%{summary}.
%endif
%description %description
Maven is a software project management and comprehension tool. Based on the Maven is a software project management and comprehension tool. Based on the
concept of a project object model (POM), Maven can manage a project's build, concept of a project object model (POM), Maven can manage a project's build,
reporting and documentation from a central piece of information. reporting and documentation from a central piece of information.
%package -n %{?module_prefix}%{name}-lib %package lib
Summary: Core part of Maven Summary: Core part of Maven
# If XMvn is part of the same RPM transaction then it should be # If XMvn is part of the same RPM transaction then it should be
# installed first to avoid triggering rhbz#1014355. # installed first to avoid triggering rhbz#1014355.
@ -117,24 +108,71 @@ OrderWithRequires: xmvn-minimal
# maven-slf4j-provider.jar, together with Maven-specific additions. # maven-slf4j-provider.jar, together with Maven-specific additions.
Provides: bundled(slf4j) = %{bundled_slf4j_version} Provides: bundled(slf4j) = %{bundled_slf4j_version}
%description -n %{?module_prefix}%{name}-lib %description lib
Core part of Apache Maven that can be used as a library. Core part of Apache Maven that can be used as a library.
%package openjdk8
Summary: OpenJDK 8 binding for Maven
RemovePathPostfixes: -openjdk8
Provides: maven-jdk-binding = %{epoch}:%{version}-%{release}
Requires: maven = %{epoch}:%{version}-%{release}
Requires: java-1.8.0-openjdk-headless
Recommends: java-1.8.0-openjdk-devel
Conflicts: maven-jdk-binding
%description openjdk8
Configures Maven to run with OpenJDK 8.
%package openjdk11
Summary: OpenJDK 11 binding for Maven
RemovePathPostfixes: -openjdk11
Provides: maven-jdk-binding = %{epoch}:%{version}-%{release}
Requires: maven = %{epoch}:%{version}-%{release}
Requires: java-11-openjdk-headless
Recommends: java-11-openjdk-devel
Conflicts: maven-jdk-binding
%description openjdk11
Configures Maven to run with OpenJDK 11.
%package openjdk17
Summary: OpenJDK 17 binding for Maven
RemovePathPostfixes: -openjdk17
Provides: maven-jdk-binding = %{epoch}:%{version}-%{release}
Requires: maven = %{epoch}:%{version}-%{release}
Requires: java-17-openjdk-headless
Recommends: java-17-openjdk-devel
Conflicts: maven-jdk-binding
%description openjdk17
Configures Maven to run with OpenJDK 17.
%package openjdk21
Summary: OpenJDK 21 binding for Maven
RemovePathPostfixes: -openjdk21
Provides: maven-jdk-binding = %{epoch}:%{version}-%{release}
Requires: maven = %{epoch}:%{version}-%{release}
Requires: java-21-openjdk-headless
Recommends: java-21-openjdk-devel
Conflicts: maven-jdk-binding
%description openjdk21
Configures Maven to run with OpenJDK 21.
%{?javadoc_package} %{?javadoc_package}
%prep %prep
%setup -q -n apache-%{name}-%{version} %setup -q -n apache-%{name}-%{version}
find -name '*.java' -exec sed -i 's/\r//' {} +
find -name 'pom.xml' -exec sed -i 's/\r//' {} +
%patch1 -p1 %patch1 -p1
%patch2 -p1 %patch2 -p1
%patch3 -p1 %patch3 -p1
%patch4 -p1 %patch4 -p1
%patch5 -p1
# TODO Delete after maven-3.6.3 %patch6 -p1
# Fix Tycho pomless build
# https://issues.apache.org/jira/browse/MNG-6765
# https://github.com/apache/maven/commit/07ab962c85950b034be3216996900920c0204c3a
sed -i 's/@Named/@Named\( "core-default" \)/' maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelProcessor.java
# not really used during build, but a precaution # not really used during build, but a precaution
find -name '*.jar' -not -path '*/test/*' -delete find -name '*.jar' -not -path '*/test/*' -delete
@ -194,10 +232,13 @@ install -d -m 755 %{buildroot}%{confdir}
install -d -m 755 %{buildroot}%{_datadir}/bash-completion/completions/ install -d -m 755 %{buildroot}%{_datadir}/bash-completion/completions/
cp -a $M2_HOME/{bin,lib,boot} %{buildroot}%{homedir}/ cp -a $M2_HOME/{bin,lib,boot} %{buildroot}%{homedir}/
%if !0%{?sclraw_phase} %if %{without bootstrap}
xmvn-subst -R %{buildroot} -s %{buildroot}%{homedir} xmvn-subst -s -R %{buildroot} -s %{buildroot}%{homedir}
%endif %endif
# maven uses this hardcoded path in its launcher to locate jansi so we symlink it
ln -s %{_prefix}/lib/jansi/libjansi.so %{buildroot}%{homedir}/lib/jansi-native/
install -p -m 644 %{SOURCE2} %{buildroot}%{homedir}/bin/ install -p -m 644 %{SOURCE2} %{buildroot}%{homedir}/bin/
gzip -9 %{buildroot}%{homedir}/bin/mvn.1 gzip -9 %{buildroot}%{homedir}/bin/mvn.1
install -p -m 644 %{SOURCE1} %{buildroot}%{_datadir}/bash-completion/completions/mvn%{?maven_version_suffix} install -p -m 644 %{SOURCE1} %{buildroot}%{_datadir}/bash-completion/completions/mvn%{?maven_version_suffix}
@ -222,28 +263,36 @@ ln -s %{homedir}/bin/mvn.1.gz %{buildroot}%{_mandir}/man1/mvn%{maven_version_suf
ln -s %{homedir}/bin/mvnDebug.1.gz %{buildroot}%{_mandir}/man1/mvnDebug%{maven_version_suffix}.1.gz ln -s %{homedir}/bin/mvnDebug.1.gz %{buildroot}%{_mandir}/man1/mvnDebug%{maven_version_suffix}.1.gz
%endif %endif
# JDK bindings
install -d -m 755 %{buildroot}%{_javaconfdir}/
echo JAVA_HOME=%{_jvmlibdir}/jre-1.8.0-openjdk >%{buildroot}%{_javaconfdir}/maven.conf-openjdk8
echo JAVA_HOME=%{_jvmlibdir}/jre-11-openjdk >%{buildroot}%{_javaconfdir}/maven.conf-openjdk11
echo JAVA_HOME=%{_jvmlibdir}/jre-17-openjdk >%{buildroot}%{_javaconfdir}/maven.conf-openjdk17
echo JAVA_HOME=%{_jvmlibdir}/jre-21-openjdk >%{buildroot}%{_javaconfdir}/maven.conf-openjdk21
%post -n %{?module_prefix}%{name}
%post
update-alternatives --install %{_bindir}/mvn mvn %{homedir}/bin/mvn %{?maven_alternatives_priority}0 \ update-alternatives --install %{_bindir}/mvn mvn %{homedir}/bin/mvn %{?maven_alternatives_priority}0 \
--slave %{_bindir}/mvnDebug mvnDebug %{homedir}/bin/mvnDebug \ --slave %{_bindir}/mvnDebug mvnDebug %{homedir}/bin/mvnDebug \
--slave %{_mandir}/man1/mvn.1.gz mvn1 %{homedir}/bin/mvn.1.gz \ --slave %{_mandir}/man1/mvn.1.gz mvn1 %{homedir}/bin/mvn.1.gz \
--slave %{_mandir}/man1/mvnDebug.1.gz mvnDebug1 %{homedir}/bin/mvn.1.gz \ --slave %{_mandir}/man1/mvnDebug.1.gz mvnDebug1 %{homedir}/bin/mvn.1.gz \
%postun -n %{?module_prefix}%{name} %postun
[[ $1 -eq 0 ]] && update-alternatives --remove mvn %{homedir}/bin/mvn if [[ $1 -eq 0 ]]; then update-alternatives --remove mvn %{homedir}/bin/mvn; fi
%files lib -f .mfiles
%files -n %{?module_prefix}%{name}-lib -f .mfiles
%doc README.md %doc README.md
%license LICENSE NOTICE %license LICENSE NOTICE
%{homedir} %{homedir}
%exclude %{homedir}/bin/mvn*
%dir %{confdir} %dir %{confdir}
%dir %{confdir}/logging %dir %{confdir}/logging
%config(noreplace) %{_sysconfdir}/m2%{?maven_version_suffix}.conf %config(noreplace) %{_sysconfdir}/m2%{?maven_version_suffix}.conf
%config(noreplace) %{confdir}/settings.xml %config(noreplace) %{confdir}/settings.xml
%config(noreplace) %{confdir}/logging/simplelogger.properties %config(noreplace) %{confdir}/logging/simplelogger.properties
%files -n %{?module_prefix}%{name} %files
%{homedir}/bin/mvn*
%ghost %{_bindir}/mvn %ghost %{_bindir}/mvn
%ghost %{_bindir}/mvnDebug %ghost %{_bindir}/mvnDebug
%{_datadir}/bash-completion %{_datadir}/bash-completion
@ -256,14 +305,139 @@ update-alternatives --install %{_bindir}/mvn mvn %{homedir}/bin/mvn %{?maven_alt
%{_mandir}/man1/mvnDebug%{maven_version_suffix}.1.gz %{_mandir}/man1/mvnDebug%{maven_version_suffix}.1.gz
%endif %endif
%files openjdk8
%config %{_javaconfdir}/maven.conf-openjdk8
%files openjdk11
%config %{_javaconfdir}/maven.conf-openjdk11
%files openjdk17
%config %{_javaconfdir}/maven.conf-openjdk17
%files openjdk21
%config %{_javaconfdir}/maven.conf-openjdk21
%changelog %changelog
* Mon Feb 05 2024 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:3.8.5-6
- Rebuild to regenerate auto-requires
* Mon Jan 22 2024 Marián Konček <mkoncek@redhat.com> - 1:3.8.5-5
- Add OpenJDK 21 binding
- Related: RHEL-17126
* Thu Feb 02 2023 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:3.8.5-4
- Turn hard dependency on java-devel into a weak dependencny
- Resolves: rhbz#2165591
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.8.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu May 05 2022 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:3.8.5-2
- Add build-dependency on extra-enforcer-rules
* Thu Apr 21 2022 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:3.8.5-1
- Update to upstream version 3.8.5
* Thu Jan 27 2022 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:3.8.4-3
- Suggest OpenJDK 17 as default Maven binding
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.8.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Dec 17 2021 Marian Koncek <mkoncek@redhat.com> - 1:3.8.4-1
- Update to upstream version 3.8.4
* Fri Nov 05 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:3.6.3-14
- Do not override JAVA_HOME set by user
- Resolves: rhbz#2020478
* Tue Nov 02 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:3.6.3-13
- Suggest OpenJDK 17 as default Maven binding
* Fri Sep 24 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:3.6.3-12
- Add OpenJDK 17 binding
* Fri Sep 24 2021 Marian Koncek <mkoncek@redhat.com> - 1:3.6.3-11
- Create a symlink to jansi shared object
- Related: rhbz#1994935
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.6.3-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Mon May 17 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:3.6.3-9
- Bootstrap build
- Non-bootstrap build
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.6.3-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Thu Dec 24 2020 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:3.6.3-2
- Move launcher scripts from maven-lib to maven package
* Mon Dec 14 2020 Jerry James <loganjerry@gmail.com> - 1:3.6.3-7
- Update jansi dep to jansi1
* Wed Sep 30 2020 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1:3.6.3-6
- Remove unneeded commons-logging from runtime class path (rhbz#1883751)
- Also remove redundant commons-codec
* Tue Aug 25 2020 Fabio Valentini <decathorpe@gmail.com> - 1:3.6.3-5
- Adapt to cdi-api switch from jboss-interceptor to jakarta-interceptor.
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.6.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jul 10 2020 Jiri Vanek <jvanek@redhat.com> - 1:3.6.3-3
- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
* Thu Jun 25 2020 Alexander Kurtakov <akurtako@redhat.com> 1:3.6.3-2
- Switch jsr250 to jakarta-anntations.
* Mon May 25 2020 Fabio Valentini <decathorpe@gmail.com> - 1:3.6.3-1
- Update to version 3.6.3.
* Thu May 14 2020 Fabio Valentini <decathorpe@gmail.com> - 1:3.6.2-1
- Update to version 3.6.2.
* Thu May 14 2020 Fabio Valentini <decathorpe@gmail.com> - 1:3.6.1-6
- Port to modello 1.11.
* Thu Feb 27 2020 Marian Koncek <mkoncek@redhat.com> - 1:3.6.3-1
- Update to upstream version 3.6.3
* Wed Feb 05 2020 Dinesh Prasanth M K <dmoluguw@redhat.com> - 1:3.6.1-5
- Require the updated version of slf4j.
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.6.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Jan 25 2020 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:3.6.2-4
- Build with OpenJDK 8
* Thu Jan 23 2020 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:3.6.2-3
- Implement JDK bindings
* Thu Nov 21 2019 Fabio Valentini <decathorpe@gmail.com> - 1:3.6.1-3
- Require the correct version of guava.
* Tue Nov 05 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:3.6.2-2 * Tue Nov 05 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:3.6.2-2
- Mass rebuild for javapackages-tools 201902 - Mass rebuild for javapackages-tools 201902
* Mon Nov 04 2019 Fabio Valentini <decathorpe@gmail.com> - 1:3.6.1-2
- Fix postun scriptlet.
* Wed Oct 16 2019 Fabio Valentini <decathorpe@gmail.com> - 1:3.6.1-1
- Update to version 3.6.1.
* Thu Oct 03 2019 Marian Koncek <mkoncek@redhat.com> - 1:3.6.2-1 * Thu Oct 03 2019 Marian Koncek <mkoncek@redhat.com> - 1:3.6.2-1
- Update to upstream version 3.6.2 - Update to upstream version 3.6.2
* Thu Aug 29 2019 Fabio Valentini <decathorpe@gmail.com> - 1:3.5.4-12
- Remove dependency on logback-classic.
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.5.4-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed Jul 03 2019 Marian Koncek <mkoncek@redhat.com> - 1:3.6.1-5 * Wed Jul 03 2019 Marian Koncek <mkoncek@redhat.com> - 1:3.6.1-5
- Port to modello version 1.11 - Port to modello version 1.11
@ -273,6 +447,9 @@ update-alternatives --install %{_bindir}/mvn mvn %{homedir}/bin/mvn %{?maven_alt
* Fri May 24 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:3.6.1-3 * Fri May 24 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:3.6.1-3
- Mass rebuild for javapackages-tools 201901 - Mass rebuild for javapackages-tools 201901
* Wed Apr 17 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:3.5.4-10
- Update to Mockito 2
* Wed Apr 17 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:3.6.1-2 * Wed Apr 17 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:3.6.1-2
- Update to Mockito 2 - Update to Mockito 2
@ -282,6 +459,18 @@ update-alternatives --install %{_bindir}/mvn mvn %{homedir}/bin/mvn %{?maven_alt
* Fri Apr 12 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:3.5.4-6 * Fri Apr 12 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:3.5.4-6
- Update SLF4J version to 1.7.26 - Update SLF4J version to 1.7.26
* Wed Mar 20 2019 Peter Robinson <pbrobinson@fedoraproject.org> 1:3.5.4-9
- Fix dependency on alternatives
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.5.4-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Oct 22 2018 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:3.5.4-7
- Revert unwanted dependency change
* Mon Oct 22 2018 Peter Robinson <pbrobinson@fedoraproject.org> 1:3.5.4-6
- Specify alternatives as dep, not chkconfig
* Mon Jul 30 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:3.5.4-2 * Mon Jul 30 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1:3.5.4-2
- Require javapackages-tools for maven-lib. - Require javapackages-tools for maven-lib.