commit 382f127d499805331846104568db9b884a13bd17 Author: James Antill Date: Tue Feb 21 16:31:51 2023 -0500 Import rpm: c8s-stream-3.8 diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..eaf3c1b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/apache-maven-3.8.5-src.tar.gz diff --git a/0001-Adapt-mvn-script.patch b/0001-Adapt-mvn-script.patch new file mode 100644 index 0000000..6641cbc --- /dev/null +++ b/0001-Adapt-mvn-script.patch @@ -0,0 +1,54 @@ +From 3c59030162ccb3c38cf62a74a36e52cead52706b Mon Sep 17 00:00:00 2001 +From: Michael Simacek +Date: Wed, 1 Feb 2017 14:54:26 +0100 +Subject: [PATCH 1/6] Adapt mvn script + +--- + apache-maven/src/bin/mvn | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/apache-maven/src/bin/mvn b/apache-maven/src/bin/mvn +index dfa384b8e..605c0edd3 100755 +--- a/apache-maven/src/bin/mvn ++++ b/apache-maven/src/bin/mvn +@@ -22,7 +22,7 @@ + # + # Environment Variable Prerequisites + # +-# JAVA_HOME Must point at your Java Development Kit installation. ++# JAVA_HOME (Optional) Must point at your Java Development Kit installation. + # MAVEN_OPTS (Optional) Java runtime options used when Maven is executed. + # MAVEN_SKIP_RC (Optional) Flag to disable loading of mavenrc files. + # ----------------------------------------------------------------------------- +@@ -37,12 +37,18 @@ if [ -z "$MAVEN_SKIP_RC" ] ; then + . /etc/mavenrc + fi + ++ if [ -z "$JAVA_HOME" ] ; then ++ . /etc/java/maven.conf ++ fi ++ + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + + fi + ++export JAVA_HOME ++ + # OS specific support. $var _must_ be set to either true or false. + cygwin=false; + mingw=false; +@@ -67,7 +73,8 @@ done + + saveddir=`pwd` + +-MAVEN_HOME=`dirname "$PRG"`/.. ++MAVEN_HOME="${_FEDORA_MAVEN_HOME:-`dirname "$PRG"`/..}" ++unset _FEDORA_MAVEN_HOME + + # make it fully qualified + MAVEN_HOME=`cd "$MAVEN_HOME" && pwd` +-- +2.35.1 + diff --git a/0002-Invoke-logback-via-reflection.patch b/0002-Invoke-logback-via-reflection.patch new file mode 100644 index 0000000..206ac3d --- /dev/null +++ b/0002-Invoke-logback-via-reflection.patch @@ -0,0 +1,53 @@ +From 4d0c432cf88f2f70e6f793569d3dedace062fdef Mon Sep 17 00:00:00 2001 +From: Michael Simacek +Date: Tue, 6 Jun 2017 13:47:43 +0200 +Subject: [PATCH 2/6] Invoke logback via reflection + +--- + .../logging/impl/LogbackConfiguration.java | 19 ++++++++++++++----- + 1 file changed, 14 insertions(+), 5 deletions(-) + +diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/logging/impl/LogbackConfiguration.java b/maven-embedder/src/main/java/org/apache/maven/cli/logging/impl/LogbackConfiguration.java +index 5d9fab744..ced38cb5a 100644 +--- a/maven-embedder/src/main/java/org/apache/maven/cli/logging/impl/LogbackConfiguration.java ++++ b/maven-embedder/src/main/java/org/apache/maven/cli/logging/impl/LogbackConfiguration.java +@@ -35,22 +35,31 @@ + @Override + public void setRootLoggerLevel( Level level ) + { +- ch.qos.logback.classic.Level value; ++ String value; + switch ( level ) + { + case DEBUG: +- value = ch.qos.logback.classic.Level.DEBUG; ++ value = "DEBUG"; + break; + + case INFO: +- value = ch.qos.logback.classic.Level.INFO; ++ value = "INFO"; + break; + + default: +- value = ch.qos.logback.classic.Level.ERROR; ++ value = "ERROR"; + break; + } +- ( (ch.qos.logback.classic.Logger) LoggerFactory.getLogger( Logger.ROOT_LOGGER_NAME ) ).setLevel( value ); ++ Logger logger = LoggerFactory.getLogger( Logger.ROOT_LOGGER_NAME ); ++ try { ++ Class levelClass = Class.forName("ch.qos.logback.classic.Level"); ++ Object logbackLevel = levelClass.getField(value).get(null); ++ Class loggerClass = Class.forName("ch.qos.logback.classic.Logger"); ++ loggerClass.getMethod("setLevel", new Class[] {levelClass}) ++ .invoke(logger, new Object[] {logbackLevel}); ++ } catch (Exception e) { ++ throw new RuntimeException("Failed to initialize logback configuration", e); ++ } + } + + @Override +-- +2.35.1 + diff --git a/0003-Use-non-shaded-HTTP-wagon.patch b/0003-Use-non-shaded-HTTP-wagon.patch new file mode 100644 index 0000000..13c9244 --- /dev/null +++ b/0003-Use-non-shaded-HTTP-wagon.patch @@ -0,0 +1,51 @@ +From 81328d875bca5aae7d26e2058f4568a610c680d4 Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +Date: Mon, 1 Jul 2019 09:51:56 +0200 +Subject: [PATCH 3/6] Use non-shaded HTTP wagon + +--- + apache-maven/pom.xml | 15 --------------- + pom.xml | 1 - + 2 files changed, 16 deletions(-) + +diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml +index 7ff412767..b15091576 100644 +--- a/apache-maven/pom.xml ++++ b/apache-maven/pom.xml +@@ -63,21 +63,6 @@ under the License. + + org.apache.maven.wagon + wagon-http +- shaded +- +- +- org.apache.httpcomponents +- httpclient +- +- +- org.apache.httpcomponents +- httpcore +- +- +- org.apache.maven.wagon +- wagon-http-shared +- +- + + + org.slf4j +diff --git a/pom.xml b/pom.xml +index c319cae26..42afab5f1 100644 +--- a/pom.xml ++++ b/pom.xml +@@ -333,7 +333,6 @@ under the License. + org.apache.maven.wagon + wagon-http + ${wagonVersion} +- shaded + + + commons-logging +-- +2.35.1 + diff --git a/0004-Remove-dependency-on-powermock.patch b/0004-Remove-dependency-on-powermock.patch new file mode 100644 index 0000000..3911a18 --- /dev/null +++ b/0004-Remove-dependency-on-powermock.patch @@ -0,0 +1,96 @@ +From d0bc26194a0e432206d7f92cf0b6fbef67946cc4 Mon Sep 17 00:00:00 2001 +From: Marian Koncek +Date: Thu, 5 Sep 2019 15:21:04 +0200 +Subject: [PATCH 4/6] Remove dependency on powermock + +--- + .../StringSearchModelInterpolatorTest.java | 66 ------------------- + 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 +index c95e37271..aafafa52f 100644 +--- 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 +@@ -36,8 +36,6 @@ + import static org.hamcrest.CoreMatchers.anyOf; + import static org.hamcrest.CoreMatchers.is; + import static org.junit.Assert.assertThat; +-import static org.powermock.reflect.Whitebox.getField; +-import static org.powermock.reflect.Whitebox.getInternalState; + + /** + * @author jdcasey +@@ -375,70 +373,6 @@ public void testInterpolateObjectWithPomFile() + ) ) ); + } + +- public void testNotInterpolateObjectWithFile() +- throws Exception +- { +- Model model = new Model(); +- +- File baseDir = new File( System.getProperty( "user.dir" ) ); +- +- Properties p = new Properties(); +- +- ObjectWithNotInterpolatedFile obj = new ObjectWithNotInterpolatedFile( baseDir ); +- +- StringSearchModelInterpolator interpolator = (StringSearchModelInterpolator) createInterpolator(); +- +- ModelBuildingRequest config = createModelBuildingRequest( p ); +- +- SimpleProblemCollector collector = new SimpleProblemCollector(); +- interpolator.interpolateObject( obj, model, new File( "." ), config, collector ); +- assertProblemFree( collector ); +- +- //noinspection unchecked +- Map, ?> cache = +- (Map, ?>) getField( StringSearchModelInterpolator.class, "CACHED_ENTRIES" ) +- .get( null ); +- +- Object objCacheItem = cache.get( Object.class ); +- Object fileCacheItem = cache.get( File.class ); +- +- assertNotNull( objCacheItem ); +- assertNotNull( fileCacheItem ); +- +- assertThat( ( (Object[]) getInternalState( objCacheItem, "fields" ) ).length, is( 0 ) ); +- assertThat( ( (Object[]) getInternalState( fileCacheItem, "fields" ) ).length, is( 0 ) ); +- } +- +- public void testNotInterpolateFile() +- throws Exception +- { +- Model model = new Model(); +- +- File baseDir = new File( System.getProperty( "user.dir" ) ); +- +- Properties p = new Properties(); +- +- StringSearchModelInterpolator interpolator = (StringSearchModelInterpolator) createInterpolator(); +- +- ModelBuildingRequest config = createModelBuildingRequest( p ); +- +- SimpleProblemCollector collector = new SimpleProblemCollector(); +- interpolator.interpolateObject( baseDir, model, new File( "." ), config, collector ); +- assertProblemFree( collector ); +- +- //noinspection unchecked +- Map, ?> cache = +- (Map, ?>) getField( StringSearchModelInterpolator.class, "CACHED_ENTRIES" ) +- .get( null ); +- +- Object fileCacheItem = cache.get( File.class ); +- +- assertNotNull( fileCacheItem ); +- +- assertThat( ( (Object[]) getInternalState( fileCacheItem, "fields" ) ).length, is( 0 ) ); +- } +- +- + public void testConcurrentInterpolation() + throws Exception + { +-- +2.35.1 + diff --git a/0005-Port-to-maven-resolver-1.7.2.patch b/0005-Port-to-maven-resolver-1.7.2.patch new file mode 100644 index 0000000..b75c541 --- /dev/null +++ b/0005-Port-to-maven-resolver-1.7.2.patch @@ -0,0 +1,25 @@ +From 25be70bc5a6eb0ddc2838a631cf1a5e20c784e1e Mon Sep 17 00:00:00 2001 +From: Marian Koncek +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 + diff --git a/0006-Restore-DefaultModelValidator-compatibility-with-Mav.patch b/0006-Restore-DefaultModelValidator-compatibility-with-Mav.patch new file mode 100644 index 0000000..1f0330e --- /dev/null +++ b/0006-Restore-DefaultModelValidator-compatibility-with-Mav.patch @@ -0,0 +1,37 @@ +From 7f97d98125938d065c2025716f041a1dbde326c2 Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +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 + diff --git a/ci.fmf b/ci.fmf new file mode 100644 index 0000000..c5aa0e0 --- /dev/null +++ b/ci.fmf @@ -0,0 +1 @@ +resultsdb-testcase: separate diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..5edecb0 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,14 @@ +--- !Policy +product_versions: + - rhel-9 +decision_contexts: + - osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: osci.brew-build./plans/smoke/jdk8/full.functional} + - !PassingTestCaseRule {test_case_name: osci.brew-build./plans/smoke/jdk11/full.functional} + - !PassingTestCaseRule {test_case_name: osci.brew-build./plans/smoke/jdk17/full.functional} + - !PassingTestCaseRule {test_case_name: osci.brew-build./plans/smoke/jdk8/headless.functional} + - !PassingTestCaseRule {test_case_name: osci.brew-build./plans/smoke/jdk11/headless.functional} + - !PassingTestCaseRule {test_case_name: osci.brew-build./plans/smoke/jdk17/headless.functional} + # https://docs.engineering.redhat.com/display/RHELPLAN/Maven+Bootstrap+manual+gating+test + - !PassingTestCaseRule {test_case_name: manual.sst_cs_apps.maven.bootstrap} diff --git a/maven-bash-completion b/maven-bash-completion new file mode 100644 index 0000000..0ca36fa --- /dev/null +++ b/maven-bash-completion @@ -0,0 +1,90 @@ +_m2_make_goals() +{ + plugin=$1 + mojos=$2 + for mojo in $mojos + do + export goals="$goals $plugin:$mojo" + done +} + +_m2_complete() +{ + local cur goals + + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + + case "${prev}" in + -f | --file|-l|--log-file) + COMPREPLY=( $(compgen -f ${cur}) ) + return 0 + ;; + *);; + esac + + + goals='clean compile test install package deploy site verify' + if [[ ${cur} == -* ]] ; then + goals="$goals -am --also-make + -amd --also-make-dependents + -B --batch-mode + -C --strict-checksums + -c --lax-checksums + -cpu --check-plugin-updates + -D --define + -e --errors + -emp --encrypt-master-password + -ep --encrypt-password + -f --file + -fae --fail-at-end + -ff --fail-fast + -fn --fail-never + -gs --global-settings + -h --help + -l --log-file + -N --non-recursive + -npr --no-plugin-registry + -npu --no-plugin-updates + -nsu --no-snapshot-updates + -o --offline + -P --activate-profiles + -pl --projects + -q --quiet + -rf --resume-from + -s --settings + -T --threads + -t --toolchains + -U --update-snapshots + -up --update-plugins + -V --show-version + -v --version + -X --debug + -Dmaven.test.skip=true + -Dmaven.compiler.source=1.5 + -Dmaven.compiler.source=1.6 + -Dmaven.compiler.source=1.7 + -Dmaven.compiler.target=1.5 + -Dmaven.compiler.target=1.6 + -Dmaven.compiler.target=1.7 + -Dproject.build.sourceEncoding=UTF-8 + -Dmaven.repo.local= + -Dmaven.local.depmap.file= + -Dmaven.local.debug=true + -Dmaven.local.mode=true" + fi + + goals=$goals _m2_make_goals "eclipse" "eclipse" + goals=$goals _m2_make_goals "idea" "idea" + goals=$goals _m2_make_goals "assembly" "assembly" + goals=$goals _m2_make_goals "plexus" "app bundle-application bundle-runtime descriptor runtime service" + goals=$goals _m2_make_goals "dependency" "analyze analyze-dep-mgt analyze-only analyze-report analyze-duplicate + build-classpath copy copy-dependencies get go-offline list properties + purge-local-repository resolve resolve-plugins sources tree unpack + unpack-dependencies" + cur=`echo $cur | sed 's/\\\\//g'` + COMPREPLY=($(compgen -W "${goals}" -- ${cur} | sed 's/\\\\//g') ) +} + +complete -F _m2_complete -o filenames mvn diff --git a/maven.spec b/maven.spec new file mode 100644 index 0000000..b184e14 --- /dev/null +++ b/maven.spec @@ -0,0 +1,951 @@ +%bcond_with bootstrap + +%global bundled_slf4j_version 1.7.30 +%global homedir %{_datadir}/%{name}%{?maven_version_suffix} +%global confdir %{_sysconfdir}/%{name}%{?maven_version_suffix} + +Name: maven +Epoch: 1 +Version: 3.8.5 +Release: 4%{?dist} +Summary: Java project management and project comprehension tool +# maven itself is ASL 2.0 +# bundled slf4j is MIT +License: ASL 2.0 and MIT +URL: https://maven.apache.org/ +BuildArch: noarch +ExclusiveArch: %{java_arches} noarch + +Source0: https://archive.apache.org/dist/%{name}/%{name}-3/%{version}/source/apache-%{name}-%{version}-src.tar.gz +Source1: maven-bash-completion +Source2: mvn.1 + +Patch1: 0001-Adapt-mvn-script.patch +# Downstream-specific, avoids dependency on logback +# Used only when %%without logback is in effect +Patch2: 0002-Invoke-logback-via-reflection.patch +Patch3: 0003-Use-non-shaded-HTTP-wagon.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 + +%if %{with bootstrap} +BuildRequires: javapackages-bootstrap-openjdk8 +%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(javax.annotation:jsr250-api) +BuildRequires: mvn(javax.inject:javax.inject) +BuildRequires: mvn(junit:junit) +BuildRequires: mvn(org.apache.commons:commons-lang3) +BuildRequires: mvn(org.apache.maven:maven-parent:pom:) +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-failsafe-plugin) +BuildRequires: mvn(org.apache.maven.resolver:maven-resolver-api) +BuildRequires: mvn(org.apache.maven.resolver:maven-resolver-connector-basic) +BuildRequires: mvn(org.apache.maven.resolver:maven-resolver-impl) +BuildRequires: mvn(org.apache.maven.resolver:maven-resolver-spi) +BuildRequires: mvn(org.apache.maven.resolver:maven-resolver-transport-wagon) +BuildRequires: mvn(org.apache.maven.resolver:maven-resolver-util) +BuildRequires: mvn(org.apache.maven.shared:maven-shared-utils) +BuildRequires: mvn(org.apache.maven.wagon:wagon-file) +BuildRequires: mvn(org.apache.maven.wagon:wagon-http) +BuildRequires: mvn(org.apache.maven.wagon:wagon-provider-api) +BuildRequires: mvn(org.codehaus.modello:modello-maven-plugin) +BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin) +BuildRequires: mvn(org.codehaus.mojo:extra-enforcer-rules) +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-interpolation) +BuildRequires: mvn(org.codehaus.plexus:plexus-utils) +BuildRequires: mvn(org.eclipse.sisu:org.eclipse.sisu.inject) +BuildRequires: mvn(org.eclipse.sisu:org.eclipse.sisu.plexus) +BuildRequires: mvn(org.eclipse.sisu:sisu-maven-plugin) +BuildRequires: mvn(org.fusesource.jansi:jansi) +BuildRequires: mvn(org.mockito:mockito-core) +BuildRequires: mvn(org.slf4j:jcl-over-slf4j) +BuildRequires: mvn(org.slf4j:slf4j-api) +BuildRequires: mvn(org.slf4j:slf4j-simple) +BuildRequires: mvn(org.sonatype.plexus:plexus-cipher) +BuildRequires: mvn(org.sonatype.plexus:plexus-sec-dispatcher) +BuildRequires: mvn(org.xmlunit:xmlunit-core) +BuildRequires: mvn(org.xmlunit:xmlunit-matchers) +%endif + +# XXX +#BuildRequires: mvn(org.slf4j:slf4j-simple::sources:) = %{bundled_slf4j_version} +%if %{without bootstrap} +BuildRequires: mvn(org.slf4j:slf4j-simple::sources:) +%endif + +Requires: %{name}-lib = %{epoch}:%{version}-%{release} +Requires: %{name}-jdk-binding = %{epoch}:%{version}-%{release} +Suggests: %{name}-openjdk17 = %{epoch}:%{version}-%{release} + +Requires(post): alternatives +Requires(postun): alternatives + +%description +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, +reporting and documentation from a central piece of information. + +%package lib +Summary: Core part of Maven +# If XMvn is part of the same RPM transaction then it should be +# installed first to avoid triggering rhbz#1014355. +OrderWithRequires: xmvn-minimal + +# Maven upstream uses patched version of SLF4J. They unpack +# slf4j-simple-sources.jar, apply non-upstreamable, Maven-specific +# patch (using a script written in Groovy), compile and package as +# maven-slf4j-provider.jar, together with Maven-specific additions. +Provides: bundled(slf4j) = %{bundled_slf4j_version} + +%description lib +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. + +%{?javadoc_package} + +%prep +%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 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 + +# not really used during build, but a precaution +find -name '*.jar' -not -path '*/test/*' -delete +find -name '*.class' -delete +find -name '*.bat' -delete + +%pom_remove_dep -r :powermock-reflect + +sed -i 's:\r::' apache-maven/src/conf/settings.xml + +# Downloads dependency licenses from the Internet and aggregates them. +# We already ship the licenses in their respective packages. +rm apache-maven/src/main/appended-resources/META-INF/LICENSE.vm + +# Disable plugins which are not useful for us +%pom_remove_plugin -r :animal-sniffer-maven-plugin +%pom_remove_plugin -r :apache-rat-plugin +%pom_remove_plugin -r :maven-site-plugin +%pom_remove_plugin -r :buildnumber-maven-plugin +sed -i " +/buildNumber=/ { + s/=.*/=Red Hat %{version}-%{release}/ + s/%{dist}$// +} +/timestamp=/ d +" `find -name build.properties` + +%mvn_package :apache-maven __noinstall + +%pom_change_dep :jansi :::runtime maven-embedder +%pom_remove_dep -r :logback-classic + +%mvn_alias :maven-resolver-provider :maven-aether-provider + +%pom_xpath_inject 'pom:build/pom:plugins' ' + + org.eclipse.sisu + sisu-maven-plugin +' maven-model-builder/pom.xml + +%build +%mvn_build -- -Dproject.build.sourceEncoding=UTF-8 + +mkdir m2home +(cd m2home + tar --delay-directory-restore -xvf ../apache-maven/target/*tar.gz +) + + +%install +%mvn_install + +export M2_HOME=$(pwd)/m2home/apache-maven-%{version}%{?ver_add} + +install -d -m 755 %{buildroot}%{homedir}/conf +install -d -m 755 %{buildroot}%{confdir} +install -d -m 755 %{buildroot}%{_datadir}/bash-completion/completions/ + +cp -a $M2_HOME/{bin,lib,boot} %{buildroot}%{homedir}/ +%if %{without bootstrap} +xmvn-subst -s -R %{buildroot} -s %{buildroot}%{homedir} +%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/ +gzip -9 %{buildroot}%{homedir}/bin/mvn.1 +install -p -m 644 %{SOURCE1} %{buildroot}%{_datadir}/bash-completion/completions/mvn%{?maven_version_suffix} +mv $M2_HOME/bin/m2.conf %{buildroot}%{_sysconfdir}/m2%{?maven_version_suffix}.conf +ln -sf %{_sysconfdir}/m2%{?maven_version_suffix}.conf %{buildroot}%{homedir}/bin/m2.conf +mv $M2_HOME/conf/settings.xml %{buildroot}%{confdir}/ +ln -sf %{confdir}/settings.xml %{buildroot}%{homedir}/conf/settings.xml +mv $M2_HOME/conf/logging %{buildroot}%{confdir}/ +ln -sf %{confdir}/logging %{buildroot}%{homedir}/conf + +# Ghosts for alternatives +install -d -m 755 %{buildroot}%{_bindir}/ +install -d -m 755 %{buildroot}%{_mandir}/man1/ +touch %{buildroot}%{_bindir}/{mvn,mvnDebug} +touch %{buildroot}%{_mandir}/man1/{mvn,mvnDebug}.1 + +# Versioned commands and manpages +%if 0%{?maven_version_suffix:1} +ln -s %{homedir}/bin/mvn %{buildroot}%{_bindir}/mvn%{maven_version_suffix} +ln -s %{homedir}/bin/mvnDebug %{buildroot}%{_bindir}/mvnDebug%{maven_version_suffix} +ln -s %{homedir}/bin/mvn.1.gz %{buildroot}%{_mandir}/man1/mvn%{maven_version_suffix}.1.gz +ln -s %{homedir}/bin/mvnDebug.1.gz %{buildroot}%{_mandir}/man1/mvnDebug%{maven_version_suffix}.1.gz +%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 + + +%post +update-alternatives --install %{_bindir}/mvn mvn %{homedir}/bin/mvn %{?maven_alternatives_priority}0 \ +--slave %{_bindir}/mvnDebug mvnDebug %{homedir}/bin/mvnDebug \ +--slave %{_mandir}/man1/mvn.1.gz mvn1 %{homedir}/bin/mvn.1.gz \ +--slave %{_mandir}/man1/mvnDebug.1.gz mvnDebug1 %{homedir}/bin/mvn.1.gz \ + +%postun +if [[ $1 -eq 0 ]]; then update-alternatives --remove mvn %{homedir}/bin/mvn; fi + +%files lib -f .mfiles +%doc README.md +%license LICENSE NOTICE +%{homedir} +%exclude %{homedir}/bin/mvn* +%dir %{confdir} +%dir %{confdir}/logging +%config(noreplace) %{_sysconfdir}/m2%{?maven_version_suffix}.conf +%config(noreplace) %{confdir}/settings.xml +%config(noreplace) %{confdir}/logging/simplelogger.properties + +%files +%{homedir}/bin/mvn* +%ghost %{_bindir}/mvn +%ghost %{_bindir}/mvnDebug +%{_datadir}/bash-completion +%ghost %{_mandir}/man1/mvn.1.gz +%ghost %{_mandir}/man1/mvnDebug.1.gz +%if 0%{?maven_version_suffix:1} +%{_bindir}/mvn%{maven_version_suffix} +%{_bindir}/mvnDebug%{maven_version_suffix} +%{_mandir}/man1/mvn%{maven_version_suffix}.1.gz +%{_mandir}/man1/mvnDebug%{maven_version_suffix}.1.gz +%endif + +%files openjdk8 +%config %{_javaconfdir}/maven.conf-openjdk8 + +%files openjdk11 +%config %{_javaconfdir}/maven.conf-openjdk11 + +%files openjdk17 +%config %{_javaconfdir}/maven.conf-openjdk17 + +%changelog +* Thu Feb 02 2023 Mikolaj Izdebski - 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 - 1:3.8.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu May 05 2022 Mikolaj Izdebski - 1:3.8.5-2 +- Add build-dependency on extra-enforcer-rules + +* Thu Apr 21 2022 Mikolaj Izdebski - 1:3.8.5-1 +- Update to upstream version 3.8.5 + +* Thu Jan 27 2022 Mikolaj Izdebski - 1:3.8.4-3 +- Suggest OpenJDK 17 as default Maven binding + +* Thu Jan 20 2022 Fedora Release Engineering - 1:3.8.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Dec 17 2021 Marian Koncek - 1:3.8.4-1 +- Update to upstream version 3.8.4 + +* Fri Nov 05 2021 Mikolaj Izdebski - 1:3.6.3-14 +- Do not override JAVA_HOME set by user +- Resolves: rhbz#2020478 + +* Tue Nov 02 2021 Mikolaj Izdebski - 1:3.6.3-13 +- Suggest OpenJDK 17 as default Maven binding + +* Fri Sep 24 2021 Mikolaj Izdebski - 1:3.6.3-12 +- Add OpenJDK 17 binding + +* Fri Sep 24 2021 Marian Koncek - 1:3.6.3-11 +- Create a symlink to jansi shared object +- Related: rhbz#1994935 + +* Thu Jul 22 2021 Fedora Release Engineering - 1:3.6.3-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Mon May 17 2021 Mikolaj Izdebski - 1:3.6.3-9 +- Bootstrap build +- Non-bootstrap build + +* Tue Jan 26 2021 Fedora Release Engineering - 1:3.6.3-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Thu Dec 24 2020 Mikolaj Izdebski - 1:3.6.3-2 +- Move launcher scripts from maven-lib to maven package + +* Mon Dec 14 2020 Jerry James - 1:3.6.3-7 +- Update jansi dep to jansi1 + +* Wed Sep 30 2020 Christopher Tubbs - 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 - 1:3.6.3-5 +- Adapt to cdi-api switch from jboss-interceptor to jakarta-interceptor. + +* Tue Jul 28 2020 Fedora Release Engineering - 1:3.6.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jul 10 2020 Jiri Vanek - 1:3.6.3-3 +- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 + +* Thu Jun 25 2020 Alexander Kurtakov 1:3.6.3-2 +- Switch jsr250 to jakarta-anntations. + +* Mon May 25 2020 Fabio Valentini - 1:3.6.3-1 +- Update to version 3.6.3. + +* Thu May 14 2020 Fabio Valentini - 1:3.6.2-1 +- Update to version 3.6.2. + +* Thu May 14 2020 Fabio Valentini - 1:3.6.1-6 +- Port to modello 1.11. + +* Thu Feb 27 2020 Marian Koncek - 1:3.6.3-1 +- Update to upstream version 3.6.3 + +* Wed Feb 05 2020 Dinesh Prasanth M K - 1:3.6.1-5 +- Require the updated version of slf4j. + +* Wed Jan 29 2020 Fedora Release Engineering - 1:3.6.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Jan 25 2020 Mikolaj Izdebski - 1:3.6.2-4 +- Build with OpenJDK 8 + +* Thu Jan 23 2020 Mikolaj Izdebski - 1:3.6.2-3 +- Implement JDK bindings + +* Thu Nov 21 2019 Fabio Valentini - 1:3.6.1-3 +- Require the correct version of guava. + +* Tue Nov 05 2019 Mikolaj Izdebski - 1:3.6.2-2 +- Mass rebuild for javapackages-tools 201902 + +* Mon Nov 04 2019 Fabio Valentini - 1:3.6.1-2 +- Fix postun scriptlet. + +* Wed Oct 16 2019 Fabio Valentini - 1:3.6.1-1 +- Update to version 3.6.1. + +* Thu Oct 03 2019 Marian Koncek - 1:3.6.2-1 +- Update to upstream version 3.6.2 + +* Thu Aug 29 2019 Fabio Valentini - 1:3.5.4-12 +- Remove dependency on logback-classic. + +* Thu Jul 25 2019 Fedora Release Engineering - 1:3.5.4-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed Jul 03 2019 Marian Koncek - 1:3.6.1-5 +- Port to modello version 1.11 + +* Thu May 30 2019 Mikolaj Izdebski - 1:3.6.1-4 +- Backport upstream fix for Tycho P2 integarion + +* Fri May 24 2019 Mikolaj Izdebski - 1:3.6.1-3 +- Mass rebuild for javapackages-tools 201901 + +* Wed Apr 17 2019 Mikolaj Izdebski - 1:3.5.4-10 +- Update to Mockito 2 + +* Wed Apr 17 2019 Mikolaj Izdebski - 1:3.6.1-2 +- Update to Mockito 2 + +* Sat Apr 13 2019 Mikolaj Izdebski - 1:3.6.1-1 +- Update to upstream version 3.6.1 + +* Fri Apr 12 2019 Mikolaj Izdebski - 1:3.5.4-6 +- Update SLF4J version to 1.7.26 + +* Wed Mar 20 2019 Peter Robinson 1:3.5.4-9 +- Fix dependency on alternatives + +* Fri Feb 01 2019 Fedora Release Engineering - 1:3.5.4-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Oct 22 2018 Mikolaj Izdebski - 1:3.5.4-7 +- Revert unwanted dependency change + +* Mon Oct 22 2018 Peter Robinson 1:3.5.4-6 +- Specify alternatives as dep, not chkconfig + +* Mon Jul 30 2018 Severin Gehwolf - 1:3.5.4-2 +- Require javapackages-tools for maven-lib. + +* Thu Jul 26 2018 Michael Simacek - 1:3.5.4-4 +- Symlink jansi-linux to lib + +* Mon Jul 23 2018 Michael Simacek - 1:3.5.4-3 +- Fix license tag to include MIT for bundled slf4j + +* Fri Jul 13 2018 Fedora Release Engineering - 1:3.5.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Jun 25 2018 Michael Simacek - 1:3.5.4-1 +- Update to upstream version 3.5.4 + +* Wed Apr 18 2018 Mikolaj Izdebski - 1:3.5.3-2 +- Introduce alternatives + +* Thu Mar 15 2018 Michael Simacek - 1:3.5.3-1 +- Update to upstream version 3.5.3 + +* Thu Mar 15 2018 Mikolaj Izdebski - 1:3.5.2-5 +- Don't install mvnyjp in bindir + +* Fri Feb 09 2018 Igor Gnatenko - 1:3.5.2-4 +- Escape macros in %%changelog + +* Thu Feb 08 2018 Fedora Release Engineering - 1:3.5.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Mon Feb 05 2018 Michael Simacek - 1:3.5.2-2 +- Use guava20 + +* Wed Oct 25 2017 Michael Simacek - 1:3.5.2-1 +- Update to upstream version 3.5.2 + +* Fri Sep 15 2017 Michael Simacek - 1:3.5.0-7 +- Fix FTBFS after maven-remote-reources-plugin update + +* Tue Aug 08 2017 Michael Simacek - 1:3.5.0-6 +- Generate build number based on package release number + +* Wed Jul 26 2017 Fedora Release Engineering - 1:3.5.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Thu Jun 08 2017 Michael Simacek - 1:3.5.0-4 +- Update logback conditional to replace logback usage with reflection + +* Wed Apr 26 2017 Mikolaj Izdebski - 1:3.5.0-3 +- Add apache-commons-codec to plexus.core +- Resolves: rhbz#1445738 + +* Wed Apr 19 2017 Mikolaj Izdebski - 1:3.5.0-2 +- Add alias for maven-aether-provider + +* Tue Apr 11 2017 Michael Simacek - 1:3.5.0-1 +- Update to upstream version 3.5.0 + +* Fri Mar 3 2017 Mikolaj Izdebski - 1:3.3.9-9 +- Fix bash-completion directory ownership + +* Wed Mar 01 2017 Michael Simacek - 1:3.3.9-8 +- Avoid subshell for build-jar-repository + +* Thu Feb 16 2017 Mikolaj Izdebski - 1:3.3.9-7 +- Conditionalize weak dependencies + +* Tue Feb 14 2017 Mikolaj Izdebski - 1:3.3.9-6 +- Remove BR on maven-javadoc-plugin + +* Mon Feb 06 2017 Michael Simacek - 1:3.3.9-5 +- Remove BR on buildnumber-plugin + +* Mon Feb 06 2017 Michael Simacek - 1:3.3.9-4 +- Remove buildnumber-plugin from build + +* Thu Feb 02 2017 Michael Simacek - 1:3.3.9-3 +- Add conditional for logback + +* Thu Feb 02 2017 Michael Simacek - 1:3.3.9-2 +- Remove site-plugin and enforce-plugin from build + +* Wed Feb 01 2017 Michael Simacek - 1:3.3.9-1 +- Downgrade to 3.3.9 + +* Wed Dec 14 2016 Michael Simacek - 3.4.0-0.6.20161118git8ae1a3e +- Bump slf4j version + +* Fri Nov 18 2016 Michael Simacek - 3.4.0-0.5.20161118git8ae1a3e +- Restore compatibility with maven-polyglot + +* Fri Nov 18 2016 Mikolaj Izdebski - 3.4.0-0.4.20161118git8ae1a3e +- Versioned bundled(slf4j) provides + +* Fri Nov 18 2016 Mikolaj Izdebski - 3.4.0-0.3.20161118git8ae1a3e +- Update to latest upstream snapshot +- Source-bundle slf4j-simple + +* Mon Aug 15 2016 Michael Simacek - 3.4.0-0.2.20160807git9f2452a +- Use patched upstream launcher instead of custom script + +* Mon Aug 8 2016 Mikolaj Izdebski - 3.4.0-0.1.20160807git9f2452a +- Update to 3.4.0 snapshot + +* Fri Jul 1 2016 Mikolaj Izdebski - 3.3.9-6 +- Add missing BR on maven-enforcer-plugin + +* Tue Jun 28 2016 Mikolaj Izdebski - 3.3.9-5 +- Add maven-lib subpackage + +* Thu Apr 7 2016 Mikolaj Izdebski - 3.3.9-4 +- Force SLF4J SimpleLogger re-initialization +- Resolves: rhbz#1324832 + +* Thu Feb 04 2016 Fedora Release Engineering - 3.3.9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Nov 23 2015 Mikolaj Izdebski - 3.3.9-2 +- Fix symlinks: add commons-lang3 and remove geronimo-annotation + +* Fri Nov 13 2015 Mikolaj Izdebski - 3.3.9-1 +- Update to upstream version 3.3.9 + +* Mon Nov 2 2015 Mikolaj Izdebski - 3.3.8-1 +- Update to upstream version 3.3.8 + +* Fri Jul 10 2015 Mikolaj Izdebski - 3.3.3-3 +- Recommend java-devel instead of requiring it + +* Wed Jun 17 2015 Fedora Release Engineering - 3.3.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Thu Apr 23 2015 Mikolaj Izdebski - 3.3.3-1 +- Update to upstream version 3.3.3 + +* Wed Apr 1 2015 Mikolaj Izdebski - 3.3.1-2 +- Install mvnDebug and mvnyjp in bindir +- Update manpage +- Resolves: rhbz#1207850 + +* Mon Mar 16 2015 Michal Srb - 3.3.1-1 +- Add commons-io, commons-lang and jsoup to plexus.core (Resolves: rhbz#1202286) + +* Fri Mar 13 2015 Mikolaj Izdebski - 3.3.1-1 +- Update to upstream version 3.3.1 + +* Thu Mar 12 2015 Mikolaj Izdebski - 3.3.0-1 +- Update to upstream version 3.3.0 + +* Wed Feb 18 2015 Mikolaj Izdebski - 3.2.5-2 +- Add objectweb-asm to plexus.core + +* Mon Jan 19 2015 Mikolaj Izdebski - 3.2.5-1 +- Update to upstream version 3.2.5 + +* Sat Dec 6 2014 Ville Skyttä - 3.2.3-4 +- Fix bash completion filename + +* Tue Oct 14 2014 Mikolaj Izdebski - 3.2.3-3 +- Remove legacy Obsoletes/Provides for maven2 + +* Mon Sep 29 2014 Mikolaj Izdebski - 3.2.3-2 +- Update patches + +* Fri Aug 22 2014 Michal Srb - 3.2.3-1 +- Update to upstream version 3.2.3 + +* Wed Jun 18 2014 Mikolaj Izdebski - 3.2.2-1 +- Update to upstream version 3.2.2 + +* Sat Jun 07 2014 Fedora Release Engineering - 3.2.1-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Thu Jun 5 2014 Mikolaj Izdebski - 3.2.1-10 +- Fix artifact pattern in %%mvn_file invocation + +* Wed Jun 4 2014 Mikolaj Izdebski - 3.2.1-9 +- Install additional lib symlinks only for JAR files + +* Wed Jun 4 2014 Mikolaj Izdebski - 3.2.1-8 +- Fix dangling symlinks in Maven lib dir +- Resolves: rhbz#1104396 + +* Mon Jun 2 2014 Mikolaj Izdebski - 3.2.1-7 +- Clean up patches +- Add patch for MNG-5613 + +* Mon May 26 2014 Mikolaj Izdebski - 3.2.1-6 +- Remove BuildRequires on maven-surefire-provider-junit4 + +* Mon Mar 17 2014 Michal Srb - 3.2.1-5 +- Add missing BR: modello-maven-plugin + +* Fri Mar 7 2014 Mikolaj Izdebski - 3.2.1-4 +- Set logback dependency scope to provided + +* Mon Feb 24 2014 Mikolaj Izdebski - 3.2.1-3 +- Add patch for MNG-5591 + +* Thu Feb 20 2014 Mikolaj Izdebski - 3.2.1-2 +- Migrate to Wagon subpackages + +* Thu Feb 20 2014 Mikolaj Izdebski - 3.2.1-1 +- Remove BR on plexus-containers-container-default + +* Mon Feb 17 2014 Mikolaj Izdebski - 3.2.1-1 +- Update to upstream version 3.2.1 + +* Tue Feb 11 2014 Mikolaj Izdebski - 3.2.0-1 +- Update to upstream version 3.2.0 + +* Mon Dec 23 2013 Mikolaj Izdebski - 3.1.1-15 +- Read user and system config files in maven-script + +* Wed Nov 13 2013 Mikolaj Izdebski - 3.1.1-14 +- Update to Sisu 0.1.0 and Guice 3.1.6 + +* Fri Nov 8 2013 Mikolaj Izdebski - 3.1.1-13 +- Add wagon-http-shared4 to plexus.core + +* Tue Nov 5 2013 Mikolaj Izdebski - 3.1.1-6 +- Update F20 to upstream bugfix release 3.1.1 + +* Tue Nov 5 2013 Mikolaj Izdebski - 3.1.1-5 +- Add OrderWithRequires: xmvn +- Related: rhbz#1014355 + +* Tue Oct 29 2013 Mikolaj Izdebski - 3.1.1-4 +- Add explicit requires + +* Wed Oct 23 2013 Mikolaj Izdebski - 3.1.1-3 +- Rebuild to regenerate broken POM files +- Related: rhbz#1021484 + +* Mon Oct 21 2013 Mikolaj Izdebski - 3.1.0-10 +- Add dependencies of wagon-http-shaded to plexus.core +- Remove objectweb-asm from plexus.core +- Add explicit requires +- Resolves: rhbz#1023872 + +* Mon Oct 7 2013 Mikolaj Izdebski - 3.1.1-1 +- Update to upstream version 3.1.1 +- Remove patch for MNG-5503 (included upstream) + +* Mon Sep 23 2013 Mikolaj Izdebski - 3.1.0-9 +- Synchronize JAR list in lib/ with upstream release +- Remove test dependencies on aopalliance and cglib + +* Thu Aug 29 2013 Mikolaj Izdebski - 3.1.0-8 +- Migrate from easymock 1 to easymock 3 +- Resolves: rhbz#1002432 + +* Fri Aug 23 2013 Mikolaj Izdebski - 3.1.0-7 +- Add patch for MNG-5503 +- Resolves: rhbz#991454 + +* Mon Aug 12 2013 Mikolaj Izdebski - 3.1.0-6 +- Update Aether to 0.9.0.M3 + +* Mon Aug 12 2013 Mikolaj Izdebski - 3.1.0-5 +- Prepare for update to Aether 0.9.0.M3 + +* Fri Aug 9 2013 Mikolaj Izdebski - 3.1.0-4 +- Remove workaround for incompatible plexus-utils + +* Sat Aug 03 2013 Fedora Release Engineering - 3.1.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Tue Jul 23 2013 Mikolaj Izdebski - 3.1.0-2 +- Install simplelogger.properties into %%{_sysconfdir} + +* Tue Jul 23 2013 Mikolaj Izdebski - 3.1.0-1 +- Update to upstream version 3.1.0 + +* Fri Jul 19 2013 Mikolaj Izdebski - 3.0.5-8 +- Use sonatype-aether symlinks + +* Mon May 20 2013 Mikolaj Izdebski - 3.0.5-7 +- Move bash-completion files to primary location +- Resolves: rhbz#918000 + +* Fri May 10 2013 Mikolaj Izdebski - 3.0.5-6 +- Remove unneeded BR: async-http-client +- Add Requires on java-devel + +* Thu May 2 2013 Mikolaj Izdebski - 3.0.5-5 +- BR proper aether subpackages +- Resolves: rhbz#958160 + +* Fri Apr 26 2013 Mikolaj Izdebski - 3.0.5-4 +- Add missing BuildRequires + +* Tue Mar 12 2013 Mikolaj Izdebski - 3.0.5-3 +- Make ext/ a subdirectory of lib/ + +* Tue Mar 12 2013 Mikolaj Izdebski - 3.0.5-2 +- In maven-script don't override M2_HOME if already set + +* Fri Mar 1 2013 Mikolaj Izdebski - 3.0.5-1 +- Update to upstream version 3.0.5 +- Move settings.xml to /etc + +* Mon Feb 11 2013 Mikolaj Izdebski - 3.0.4-32 +- Remove xerces-j2 from plexus.core realm +- Resolves: rhbz#784816 + +* Thu Feb 7 2013 Mikolaj Izdebski - 3.0.4-31 +- Migrate BR from sisu to sisu subpackages + +* Wed Feb 6 2013 Mikolaj Izdebski - 3.0.4-30 +- Remove unneeded R: maven-local + +* Fri Jan 25 2013 Mikolaj Izdebski - 3.0.4-29 +- Drop support for local mode +- Build with xmvn, rely on auto-requires + +* Wed Jan 23 2013 Mikolaj Izdebski - 3.0.4-28 +- Move mvn-local and mvn-rpmbuild out of %%_bindir + +* Tue Nov 27 2012 Mikolaj Izdebski - 3.0.4-27 +- Move some parts to maven-local package + +* Thu Nov 22 2012 Mikolaj Izdebski - 3.0.4-26 +- Force source >= 1.5 and target >= source + +* Mon Nov 19 2012 Mikolaj Izdebski - 3.0.4-25 +- Fix license tag + +* Thu Nov 15 2012 Mikolaj Izdebski - 3.0.4-24 +- Install NOTICE file with javadoc package + +* Tue Nov 13 2012 Mikolaj Izdebski - 3.0.4-23 +- Temporarly require Plexus POMs as a workaround + +* Mon Nov 12 2012 Mikolaj Izdebski - 3.0.4-22 +- Drop dependency on maven2-common-poms +- Drop support for /etc/maven/fragments + +* Thu Nov 08 2012 Stanislav Ochotnicky - 3.0.4-21 +- Add support for custom jar/pom/fragment directories + +* Thu Nov 8 2012 Mikolaj Izdebski - 3.0.4-20 +- Remove all slf4j providers except nop from maven realm + +* Thu Nov 1 2012 Mikolaj Izdebski - 3.0.4-19 +- Add aopalliance and cglib to maven-model-builder test dependencies + +* Thu Nov 1 2012 Mikolaj Izdebski - 3.0.4-18 +- Add objectweb-asm to classpath + +* Thu Nov 1 2012 Mikolaj Izdebski - 3.0.4-17 +- Add aopalliance, cglib, slf4j to classpath + +* Wed Oct 31 2012 Mikolaj Izdebski - 3.0.4-16 +- Don't echo JAVA_HOME in maven-script +- Add bash completion for -Dproject.build.sourceEncoding + +* Mon Oct 29 2012 Mikolaj Izdebski - 3.0.4-15 +- Add a few bash completion goals + +* Wed Oct 24 2012 Stanislav Ochotnicky - 3.0.4-14 +- Enable test skipping patch only for local mode (#869399) + +* Fri Oct 19 2012 Stanislav Ochotnicky - 3.0.4-13 +- Make sure we look for requested pom file and not resolved + +* Thu Oct 18 2012 Stanislav Ochotnicky - 3.0.4-12 +- Look into maven.repo.local first to handle corner-case packages (#865599) +- Finish handling of compatibility packages +- Disable animal-sniffer temporarily in Fedora as well + +* Mon Aug 27 2012 Mikolaj Izdebski - 3.0.4-11 +- Disable animal-sniffer on RHEL + +* Wed Jul 25 2012 Stanislav Ochotnicky - 3.0.4-10 +- Fix exit code of mvn-rpmbuild outside of mock +- Fix bug in compatibility jar handling + +* Mon Jul 23 2012 Mikolaj Izdebski - 3.0.4-9 +- Run redundant dependency checks only in mock + +* Tue Jul 17 2012 Mikolaj Izdebski - 3.0.4-8 +- Add manual page + +* Mon Jun 11 2012 Mikolaj Izdebski - 3.0.4-7 +- Implement redundant dependency checks + +* Thu May 24 2012 Krzysztof Daniel 3.0.4-6 +- Bug 824789 -Use the version if it is possible. + +* Mon May 14 2012 Stanislav Ochotnicky - 3.0.4-5 +- Use Obsoletes instead of Conflicts + +* Mon May 14 2012 Stanislav Ochotnicky - 3.0.4-4 +- Obsolete and provide maven2 + +* Thu Mar 29 2012 Stanislav Ochotnicky - 3.0.4-3 +- Make package noarch again to simplify bootstrapping + +* Thu Feb 9 2012 Stanislav Ochotnicky - 3.0.4-2 +- Make javadoc noarch +- Make compilation source level 1.5 +- Fix borked tarball unpacking (reason unknown) + +* Tue Jan 31 2012 Stanislav Ochotnicky - 3.0.4-1 +- Update to latest upstream version + +* Fri Jan 13 2012 Fedora Release Engineering - 3.0.3-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Dec 13 2011 Stanislav Ochotnicky - 3.0.3-16 +- Add maven2-common-poms to Requires + +* Tue Oct 11 2011 Stanislav Ochotnicky - 3.0.3-15 +- Provide mvn script now instead of maven2 +- Conflict with older versions of maven2 + +* Tue Aug 30 2011 Stanislav Ochotnicky - 3.0.3-14 +- Fix test scope skipping + +* Mon Aug 22 2011 Stanislav Ochotnicky - 3.0.3-13 +- Remove unnecessary deps causing problems from lib/ +- Add utf-8 source encoding patch + +* Thu Jul 28 2011 Stanislav Ochotnicky - 3.0.3-12 +- Disable debug package creation + +* Thu Jul 28 2011 Stanislav Ochotnicky - 3.0.3-11 +- Change to arch specific since we are using _libdir for _jnidir + +* Tue Jul 26 2011 Stanislav Ochotnicky - 3.0.3-10 +- Add bash completion (#706856) + +* Mon Jul 4 2011 Stanislav Ochotnicky - 3.0.3-9 +- Add resolving from jnidir and java-jni + +* Thu Jun 23 2011 Stanislav Ochotnicky - 3.0.3-8 +- Add maven-parent to BR/R + +* Wed Jun 22 2011 Stanislav Ochotnicky - 3.0.3-7 +- Process fragments in alphabetical order + +* Tue Jun 21 2011 Stanislav Ochotnicky - 3.0.3-6 +- Fix handling of fallback default_poms +- Add empty-dep into maven package to not require maven2 version + +* Fri Jun 10 2011 Stanislav Ochotnicky - 3.0.3-5 +- Process fragments directly instead of maven2-depmap.xml +- Expect fragments in /usr/share/maven-fragments +- Resolve poms also from /usr/share/maven-poms + +* Mon Jun 6 2011 Stanislav Ochotnicky - 3.0.3-4 +- Add help to mvn-rpmbuild and mvn-local (rhbz#710448) + +* Tue May 10 2011 Stanislav Ochotnicky - 3.0.3-3 +- Improve and clean up depmap handling for m2/m3 repos + +* Mon Apr 18 2011 Stanislav Ochotnicky - 3.0.3-2 +- Enable MAVEN_OPTS override in scripts + +* Fri Mar 4 2011 Stanislav Ochotnicky - 3.0.3-1 +- Update to 3.0.3 +- Add ext subdirectory to lib + +* Tue Mar 1 2011 Stanislav Ochotnicky - 3.0.3-0.1.rc1 +- Update to 3.0.3rc1 +- Enable tests again + +* Thu Feb 10 2011 Stanislav Ochotnicky - 3.0.2-2 +- Added mvn-rpmbuild script to be used in spec files +- mvn-local is now mixed mode (online with javadir priority) +- Changed mvn.jpp to mvn.local + +* Fri Jan 28 2011 Stanislav Ochotnicky - 3.0.2-1 +- Update to latest version (3.0.2) +- Ignore test failures temporarily + +* Wed Jan 12 2011 Stanislav Ochotnicky - 3.0-6 +- Fix bug #669034 + +* Tue Jan 11 2011 Stanislav Ochotnicky - 3.0-5 +- Fix bugs #667625 #667614 and #667636 +- Install maven metadata so they are not downloaded when mvn is run +- Rename mvn3-local to mvn-local +- Add more comments to resolver patch + +* Tue Dec 21 2010 Stanislav Ochotnicky - 3.0-4 +- Add fedora local resolver +- Fix quoting of arguments to mvn scripts +- Add javadoc subpackage +- Make jars versionless and remove unneeded clean section + +* Wed Dec 1 2010 Stanislav Ochotnicky - 3.0-3 +- Remove maven-ant-tasks jar in prep +- Make fragment file as %%config + +* Tue Nov 16 2010 Stanislav Ochotnicky - 3.0-2 +- Added apache-commons-parent to BR after commons changes + +* Tue Oct 12 2010 Stanislav Ochotnicky - 3.0-1 +- Initial package with vanilla maven (no jpp mode yet) diff --git a/mvn.1 b/mvn.1 new file mode 100644 index 0000000..1363cd6 --- /dev/null +++ b/mvn.1 @@ -0,0 +1,153 @@ +.TH MVN "1" "April 2015" "Apache Maven 3.3.1" "User Commands" +.SH NAME +mvn \- software project management and comprehension tool +.SH DESCRIPTION +usage: mvn [options] [] [] +usage: mvnDebug [options] [] [] +.SH OPTIONS +.TP +\fB\-am\fR,\-\-also\-make +If project list is specified, also +build projects required by the +list +.TP +\fB\-amd\fR,\-\-also\-make\-dependents +If project list is specified, also +build projects that depend on +projects on the list +.TP +\fB\-B\fR,\-\-batch\-mode +Run in non\-interactive (batch) +mode +.TP +\fB\-b\fR,\-\-builder +The id of the build strategy to +use. +.TP +\fB\-C\fR,\-\-strict\-checksums +Fail the build if checksums don't +match +.TP +\fB\-c\fR,\-\-lax\-checksums +Warn if checksums don't match +.TP +\fB\-cpu\fR,\-\-check\-plugin\-updates +Ineffective, only kept for +backward compatibility +.TP +\fB\-D\fR,\-\-define +Define a system property +.TP +\fB\-e\fR,\-\-errors +Produce execution error messages +.TP +\fB\-emp\fR,\-\-encrypt\-master\-password +Encrypt master security password +.TP +\fB\-ep\fR,\-\-encrypt\-password +Encrypt server password +.TP +\fB\-f\fR,\-\-file +Force the use of an alternate POM +file (or directory with pom.xml). +.TP +\fB\-fae\fR,\-\-fail\-at\-end +Only fail the build afterwards; +allow all non\-impacted builds to +continue +.TP +\fB\-ff\fR,\-\-fail\-fast +Stop at first failure in +reactorized builds +.TP +\fB\-fn\fR,\-\-fail\-never +NEVER fail the build, regardless +of project result +.TP +\fB\-gs\fR,\-\-global\-settings +Alternate path for the global +settings file +.TP +\fB\-gt\fR,\-\-global\-toolchains +Alternate path for the global +toolchains file +.TP +\fB\-h\fR,\-\-help +Display help information +.TP +\fB\-l\fR,\-\-log\-file +Log file to where all build output +will go. +.TP +\fB\-llr\fR,\-\-legacy\-local\-repository +Use Maven 2 Legacy Local +Repository behaviour, ie no use of +_remote.repositories. Can also be +activated by using +\fB\-Dmaven\fR.legacyLocalRepo=true +.TP +\fB\-N\fR,\-\-non\-recursive +Do not recurse into sub\-projects +.TP +\fB\-npr\fR,\-\-no\-plugin\-registry +Ineffective, only kept for +backward compatibility +.TP +\fB\-npu\fR,\-\-no\-plugin\-updates +Ineffective, only kept for +backward compatibility +.TP +\fB\-nsu\fR,\-\-no\-snapshot\-updates +Suppress SNAPSHOT updates +.TP +\fB\-o\fR,\-\-offline +Work offline +.TP +\fB\-P\fR,\-\-activate\-profiles +Comma\-delimited list of profiles +to activate +.TP +\fB\-pl\fR,\-\-projects +Comma\-delimited list of specified +reactor projects to build instead +of all projects. A project can be +specified by [groupId]:artifactId +or by its relative path. +.TP +\fB\-q\fR,\-\-quiet +Quiet output \- only show errors +.TP +\fB\-rf\fR,\-\-resume\-from +Resume reactor from specified +project +.TP +\fB\-s\fR,\-\-settings +Alternate path for the user +settings file +.TP +\fB\-T\fR,\-\-threads +Thread count, for instance 2.0C +where C is core multiplied +.TP +\fB\-t\fR,\-\-toolchains +Alternate path for the user +toolchains file +.TP +\fB\-U\fR,\-\-update\-snapshots +Forces a check for missing +releases and updated snapshots on +remote repositories +.TP +\fB\-up\fR,\-\-update\-plugins +Ineffective, only kept for +backward compatibility +.TP +\fB\-V\fR,\-\-show\-version +Display version information +WITHOUT stopping build +.TP +\fB\-v\fR,\-\-version +Display version information +.TP +\fB\-X\fR,\-\-debug +Produce execution debug output diff --git a/plans/smoke.fmf b/plans/smoke.fmf new file mode 100644 index 0000000..be97ea9 --- /dev/null +++ b/plans/smoke.fmf @@ -0,0 +1,71 @@ +discover: + how: fmf + url: https://src.fedoraproject.org/tests/maven + +execute: + how: tmt + +/jdk8: + environment: + OPENJDK_VERSION: 1.8.0 + prepare: + - how: install + exclude: + - maven-openjdk11 + - maven-openjdk17 + + /full: + summary: Basic smoke tests (OpenJDK 8 full) + + /headless: + summary: Basic smoke tests (OpenJDK 8 headless) + discover+: + filter: tag:-java-compiler + environment+: + OPENJDK_HEADLESS: true + prepare+: + - how: shell + script: | + dnf -y erase java-*-openjdk + +/jdk11: + environment: + OPENJDK_VERSION: 11 + prepare: + - how: install + exclude: + - maven-openjdk8 + - maven-openjdk17 + + /full: + summary: Basic smoke tests (OpenJDK 11 full) + + /headless: + summary: Basic smoke tests (OpenJDK 11 headless) + environment+: + OPENJDK_HEADLESS: true + prepare+: + - how: shell + script: | + dnf -y erase java-*-openjdk + +/jdk17: + environment: + OPENJDK_VERSION: 17 + prepare: + - how: install + exclude: + - maven-openjdk8 + - maven-openjdk11 + + /full: + summary: Basic smoke tests (OpenJDK 17 full) + + /headless: + summary: Basic smoke tests (OpenJDK 17 headless) + environment+: + OPENJDK_HEADLESS: true + prepare+: + - how: shell + script: | + dnf -y erase java-*-openjdk diff --git a/sources b/sources new file mode 100644 index 0000000..fbc3e10 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA1 (apache-maven-3.8.5-src.tar.gz) = 976a947711e82f11f47c7b128dd8df903642075b