Bootstrap Maven as non-modular packages
Resolves: rhbz#1951482
This commit is contained in:
parent
90a4b19889
commit
22b534829a
2
.gitignore
vendored
2
.gitignore
vendored
@ -6,5 +6,7 @@
|
||||
/maven-resolver-1.1.1-source-release.zip
|
||||
/maven-resolver-1.3.1-source-release.zip
|
||||
/maven-resolver-1.3.3-source-release.zip
|
||||
/maven-resolver-1.4.0-source-release.zip
|
||||
/maven-resolver-1.4.1-source-release.zip
|
||||
/maven-resolver-1.4.2-source-release.zip
|
||||
/maven-resolver-1.6.1-source-release.zip
|
||||
|
@ -1,147 +0,0 @@
|
||||
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/CacheUtils.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/CacheUtils.java
|
||||
new file mode 100644
|
||||
index 0000000..d7e8f01
|
||||
--- /dev/null
|
||||
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/CacheUtils.java
|
||||
@@ -0,0 +1,141 @@
|
||||
+package org.eclipse.aether.internal.impl;
|
||||
+
|
||||
+/*
|
||||
+ * Licensed to the Apache Software Foundation (ASF) under one
|
||||
+ * or more contributor license agreements. See the NOTICE file
|
||||
+ * distributed with this work for additional information
|
||||
+ * regarding copyright ownership. The ASF licenses this file
|
||||
+ * to you under the Apache License, Version 2.0 (the
|
||||
+ * "License"); you may not use this file except in compliance
|
||||
+ * with the License. You may obtain a copy of the License at
|
||||
+ *
|
||||
+ * http://www.apache.org/licenses/LICENSE-2.0
|
||||
+ *
|
||||
+ * Unless required by applicable law or agreed to in writing,
|
||||
+ * software distributed under the License is distributed on an
|
||||
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
+ * KIND, either express or implied. See the License for the
|
||||
+ * specific language governing permissions and limitations
|
||||
+ * under the License.
|
||||
+ */
|
||||
+
|
||||
+import java.util.Iterator;
|
||||
+import java.util.List;
|
||||
+
|
||||
+import org.eclipse.aether.RepositorySystemSession;
|
||||
+import org.eclipse.aether.repository.ArtifactRepository;
|
||||
+import org.eclipse.aether.repository.LocalRepository;
|
||||
+import org.eclipse.aether.repository.RemoteRepository;
|
||||
+import org.eclipse.aether.repository.RepositoryPolicy;
|
||||
+import org.eclipse.aether.repository.WorkspaceReader;
|
||||
+import org.eclipse.aether.repository.WorkspaceRepository;
|
||||
+
|
||||
+/**
|
||||
+ * @deprecated To be deleted without replacement.
|
||||
+ */
|
||||
+@Deprecated
|
||||
+public final class CacheUtils
|
||||
+{
|
||||
+
|
||||
+ public static <T> boolean eq( T s1, T s2 )
|
||||
+ {
|
||||
+ return s1 != null ? s1.equals( s2 ) : s2 == null;
|
||||
+ }
|
||||
+
|
||||
+ public static int hash( Object obj )
|
||||
+ {
|
||||
+ return obj != null ? obj.hashCode() : 0;
|
||||
+ }
|
||||
+
|
||||
+ public static int repositoriesHashCode( List<RemoteRepository> repositories )
|
||||
+ {
|
||||
+ int result = 17;
|
||||
+ for ( RemoteRepository repository : repositories )
|
||||
+ {
|
||||
+ result = 31 * result + repositoryHashCode( repository );
|
||||
+ }
|
||||
+ return result;
|
||||
+ }
|
||||
+
|
||||
+ private static int repositoryHashCode( RemoteRepository repository )
|
||||
+ {
|
||||
+ int result = 17;
|
||||
+ result = 31 * result + hash( repository.getUrl() );
|
||||
+ return result;
|
||||
+ }
|
||||
+
|
||||
+ private static boolean repositoryEquals( RemoteRepository r1, RemoteRepository r2 )
|
||||
+ {
|
||||
+ if ( r1 == r2 )
|
||||
+ {
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ return eq( r1.getId(), r2.getId() ) && eq( r1.getUrl(), r2.getUrl() )
|
||||
+ && policyEquals( r1.getPolicy( false ), r2.getPolicy( false ) )
|
||||
+ && policyEquals( r1.getPolicy( true ), r2.getPolicy( true ) );
|
||||
+ }
|
||||
+
|
||||
+ private static boolean policyEquals( RepositoryPolicy p1, RepositoryPolicy p2 )
|
||||
+ {
|
||||
+ if ( p1 == p2 )
|
||||
+ {
|
||||
+ return true;
|
||||
+ }
|
||||
+ // update policy doesn't affect contents
|
||||
+ return p1.isEnabled() == p2.isEnabled() && eq( p1.getChecksumPolicy(), p2.getChecksumPolicy() );
|
||||
+ }
|
||||
+
|
||||
+ public static boolean repositoriesEquals( List<RemoteRepository> r1, List<RemoteRepository> r2 )
|
||||
+ {
|
||||
+ if ( r1.size() != r2.size() )
|
||||
+ {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ for ( Iterator<RemoteRepository> it1 = r1.iterator(), it2 = r2.iterator(); it1.hasNext(); )
|
||||
+ {
|
||||
+ if ( !repositoryEquals( it1.next(), it2.next() ) )
|
||||
+ {
|
||||
+ return false;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ public static WorkspaceRepository getWorkspace( RepositorySystemSession session )
|
||||
+ {
|
||||
+ WorkspaceReader reader = session.getWorkspaceReader();
|
||||
+ return ( reader != null ) ? reader.getRepository() : null;
|
||||
+ }
|
||||
+
|
||||
+ public static ArtifactRepository getRepository( RepositorySystemSession session,
|
||||
+ List<RemoteRepository> repositories, Class<?> repoClass,
|
||||
+ String repoId )
|
||||
+ {
|
||||
+ if ( repoClass != null )
|
||||
+ {
|
||||
+ if ( WorkspaceRepository.class.isAssignableFrom( repoClass ) )
|
||||
+ {
|
||||
+ return session.getWorkspaceReader().getRepository();
|
||||
+ }
|
||||
+ else if ( LocalRepository.class.isAssignableFrom( repoClass ) )
|
||||
+ {
|
||||
+ return session.getLocalRepository();
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ for ( RemoteRepository repository : repositories )
|
||||
+ {
|
||||
+ if ( repoId.equals( repository.getId() ) )
|
||||
+ {
|
||||
+ return repository;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ return null;
|
||||
+ }
|
||||
+
|
||||
+}
|
@ -1,27 +1,30 @@
|
||||
# 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-resolver
|
||||
Epoch: 1
|
||||
Version: 1.4.2
|
||||
Release: 6%{?dist}
|
||||
Summary: Apache Maven Artifact Resolver library
|
||||
Version: 1.6.1
|
||||
Release: 5%{?dist}
|
||||
License: ASL 2.0
|
||||
|
||||
Summary: Apache Maven Artifact Resolver library
|
||||
URL: https://maven.apache.org/resolver/
|
||||
Source0: https://archive.apache.org/dist/maven/resolver/%{name}-%{version}-source-release.zip
|
||||
|
||||
# keep deprecated and removed aether CacheUtils for a while longer
|
||||
# some packages still depend on this and things break without it
|
||||
Patch0: 00-keep-deprecated-aether-CacheUtils.patch
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
BuildRequires: maven-local
|
||||
BuildRequires: maven-local-openjdk8
|
||||
%if %{with bootstrap}
|
||||
BuildRequires: javapackages-bootstrap
|
||||
%else
|
||||
BuildRequires: mvn(javax.inject:javax.inject)
|
||||
BuildRequires: mvn(junit:junit)
|
||||
BuildRequires: mvn(org.apache.commons:commons-lang3)
|
||||
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
|
||||
BuildRequires: mvn(org.apache.httpcomponents:httpclient)
|
||||
BuildRequires: mvn(org.apache.httpcomponents:httpcore)
|
||||
BuildRequires: mvn(org.apache.maven:maven-parent:pom:)
|
||||
BuildRequires: mvn(org.apache.maven.wagon:wagon-provider-api)
|
||||
BuildRequires: mvn(org.apache.maven:maven-parent:pom:)
|
||||
BuildRequires: mvn(org.apache.maven.plugins:maven-enforcer-plugin)
|
||||
BuildRequires: mvn(org.codehaus.plexus:plexus-classworlds)
|
||||
BuildRequires: mvn(org.codehaus.plexus:plexus-utils)
|
||||
BuildRequires: mvn(org.eclipse.sisu:org.eclipse.sisu.inject)
|
||||
@ -29,10 +32,31 @@ BuildRequires: mvn(org.eclipse.sisu:org.eclipse.sisu.plexus)
|
||||
BuildRequires: mvn(org.eclipse.sisu:sisu-maven-plugin)
|
||||
BuildRequires: mvn(org.hamcrest:hamcrest-core)
|
||||
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.sisu:sisu-guice::no_aop:)
|
||||
%endif
|
||||
|
||||
Provides: maven-resolver-api = %{epoch}:%{version}-%{release}
|
||||
Provides: maven-resolver-spi = %{epoch}:%{version}-%{release}
|
||||
Provides: maven-resolver-impl = %{epoch}:%{version}-%{release}
|
||||
Provides: maven-resolver-util = %{epoch}:%{version}-%{release}
|
||||
Provides: maven-resolver-connector-basic = %{epoch}:%{version}-%{release}
|
||||
Provides: maven-resolver-transport-wagon = %{epoch}:%{version}-%{release}
|
||||
Provides: maven-resolver-transport-http = %{epoch}:%{version}-%{release}
|
||||
Provides: maven-resolver-transport-file = %{epoch}:%{version}-%{release}
|
||||
Provides: maven-resolver-transport-classpath = %{epoch}:%{version}-%{release}
|
||||
|
||||
Obsoletes: maven-resolver-api < 1:1.4.2-6
|
||||
Obsoletes: maven-resolver-spi < 1:1.4.2-6
|
||||
Obsoletes: maven-resolver-impl < 1:1.4.2-6
|
||||
Obsoletes: maven-resolver-util < 1:1.4.2-6
|
||||
Obsoletes: maven-resolver-connector-basic < 1:1.4.2-6
|
||||
Obsoletes: maven-resolver-transport-wagon < 1:1.4.2-6
|
||||
Obsoletes: maven-resolver-transport-http < 1:1.4.2-6
|
||||
Obsoletes: maven-resolver-transport-file < 1:1.4.2-6
|
||||
Obsoletes: maven-resolver-transport-classpath < 1:1.4.2-6
|
||||
Obsoletes: maven-resolver-test-util < 1:1.4.2-6
|
||||
|
||||
%description
|
||||
Apache Maven Artifact Resolver is a library for working with artifact
|
||||
@ -40,83 +64,20 @@ repositories and dependency resolution. Maven Artifact Resolver deals with the
|
||||
specification of local repository, remote repository, developer workspaces,
|
||||
artifact transports and artifact resolution.
|
||||
|
||||
%package api
|
||||
Summary: Maven Artifact Resolver API
|
||||
|
||||
%description api
|
||||
The application programming interface for the repository system.
|
||||
|
||||
%package spi
|
||||
Summary: Maven Artifact Resolver SPI
|
||||
|
||||
%description spi
|
||||
The service provider interface for repository system implementations and
|
||||
repository connectors.
|
||||
|
||||
%package util
|
||||
Summary: Maven Artifact Resolver Utilities
|
||||
|
||||
%description util
|
||||
A collection of utility classes to ease usage of the repository system.
|
||||
|
||||
%package impl
|
||||
Summary: Maven Artifact Resolver Implementation
|
||||
|
||||
%description impl
|
||||
An implementation of the repository system.
|
||||
|
||||
%package test-util
|
||||
Summary: Maven Artifact Resolver Test Utilities
|
||||
|
||||
%description test-util
|
||||
A collection of utility classes to ease testing of the repository system.
|
||||
|
||||
%package connector-basic
|
||||
Summary: Maven Artifact Resolver Connector Basic
|
||||
|
||||
%description connector-basic
|
||||
A repository connector implementation for repositories using URI-based layouts.
|
||||
|
||||
%package transport-classpath
|
||||
Summary: Maven Artifact Resolver Transport Classpath
|
||||
|
||||
%description transport-classpath
|
||||
A transport implementation for repositories using classpath:// URLs.
|
||||
|
||||
%package transport-file
|
||||
Summary: Maven Artifact Resolver Transport File
|
||||
|
||||
%description transport-file
|
||||
A transport implementation for repositories using file:// URLs.
|
||||
|
||||
%package transport-http
|
||||
Summary: Maven Artifact Resolver Transport HTTP
|
||||
|
||||
%description transport-http
|
||||
A transport implementation for repositories using http:// and https:// URLs.
|
||||
|
||||
%package transport-wagon
|
||||
Summary: Maven Artifact Resolver Transport Wagon
|
||||
|
||||
%description transport-wagon
|
||||
A transport implementation based on Maven Wagon.
|
||||
|
||||
%package javadoc
|
||||
Summary: API documentation for %{name}
|
||||
|
||||
%description javadoc
|
||||
This package provides %{summary}.
|
||||
|
||||
%{?javadoc_package}
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
|
||||
# tests require jetty 7
|
||||
%pom_remove_dep :::test maven-resolver-transport-http
|
||||
rm -r maven-resolver-transport-http/src/test
|
||||
%pom_remove_plugin -r :bnd-maven-plugin
|
||||
|
||||
%pom_disable_module maven-resolver-demos
|
||||
%pom_disable_module maven-resolver-synccontext-global
|
||||
%pom_disable_module maven-resolver-synccontext-redisson
|
||||
%pom_disable_module maven-resolver-transport-classpath
|
||||
%pom_disable_module maven-resolver-transport-file
|
||||
%pom_disable_module maven-resolver-transport-http
|
||||
%mvn_package :maven-resolver-test-util __noinstall
|
||||
|
||||
# generate OSGi manifests
|
||||
for pom in $(find -mindepth 2 -name pom.xml) ; do
|
||||
@ -143,38 +104,31 @@ done
|
||||
</archive>
|
||||
</configuration>"
|
||||
|
||||
%mvn_package :maven-resolver
|
||||
%mvn_alias 'org.apache.maven.resolver:maven-resolver{*}' 'org.eclipse.aether:aether@1'
|
||||
%mvn_file ':maven-resolver{*}' %{name}/maven-resolver@1 aether/aether@1
|
||||
|
||||
%build
|
||||
%mvn_build -s -- -Dmaven.compiler.release=8
|
||||
%mvn_build
|
||||
|
||||
%install
|
||||
%mvn_install
|
||||
|
||||
|
||||
%files -f .mfiles
|
||||
%license LICENSE NOTICE
|
||||
|
||||
%files api -f .mfiles-%{name}-api
|
||||
%license LICENSE NOTICE
|
||||
%files spi -f .mfiles-%{name}-spi
|
||||
%files util -f .mfiles-%{name}-util
|
||||
%files impl -f .mfiles-%{name}-impl
|
||||
%files test-util -f .mfiles-%{name}-test-util
|
||||
%files connector-basic -f .mfiles-%{name}-connector-basic
|
||||
%files transport-classpath -f .mfiles-%{name}-transport-classpath
|
||||
%files transport-file -f .mfiles-%{name}-transport-file
|
||||
%files transport-http -f .mfiles-%{name}-transport-http
|
||||
%files transport-wagon -f .mfiles-%{name}-transport-wagon
|
||||
|
||||
%files javadoc -f .mfiles-javadoc
|
||||
%license LICENSE NOTICE
|
||||
|
||||
%changelog
|
||||
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 1:1.4.2-6
|
||||
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||
* Tue Jun 08 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:1.6.1-5
|
||||
- Bootstrap Maven for CentOS Stream 9
|
||||
|
||||
* Tue Jun 01 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:1.6.1-4
|
||||
- Add epoch to obsoleted packages
|
||||
|
||||
* Tue Jun 01 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:1.6.1-3
|
||||
- Obsolete removed subpackages
|
||||
|
||||
* Mon May 17 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:1.6.1-2
|
||||
- Bootstrap build
|
||||
- Non-bootstrap build
|
||||
|
||||
* Wed Feb 17 2021 Fabio Valentini <decathorpe@gmail.com> - 1:1.4.2-5
|
||||
- Build with -release 8 for better OpenJDK 8 compatibility.
|
||||
@ -182,24 +136,45 @@ done
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.4.2-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Fri Jan 15 2021 Marian Koncek <mkoncek@redhat.com> - 1.6.1-1
|
||||
- Update to upstream version 1.6.1
|
||||
|
||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.4.2-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Fri Jul 10 2020 Jiri Vanek <jvanek@redhat.com> - 1:1.4.2-2
|
||||
- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
|
||||
|
||||
* Fri Jun 26 2020 Marian Koncek <mkoncek@redhat.com> - 1.4.2-1
|
||||
- Update to upstream version 1.4.2
|
||||
|
||||
* Sat May 09 2020 Fabio Valentini <decathorpe@gmail.com> - 1:1.4.2-1
|
||||
- Update to version 1.4.2.
|
||||
|
||||
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.4.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Sat Jan 25 2020 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.4.1-3
|
||||
- Build with OpenJDK 8
|
||||
|
||||
* Tue Nov 05 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.4.1-2
|
||||
- Mass rebuild for javapackages-tools 201902
|
||||
|
||||
* Sun Nov 03 2019 Fabio Valentini <decathorpe@gmail.com> - 1:1.4.1-1
|
||||
- Update to version 1.4.1.
|
||||
|
||||
* Wed Sep 11 2019 Marian Koncek <mkoncek@redhat.com> - 1.4.1-1
|
||||
- Update to upstream version 1.4.1
|
||||
|
||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.3.3-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Sat Jun 29 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:1.3.3-3
|
||||
- Disable unneeded transporters
|
||||
|
||||
* Fri May 24 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:1.3.3-2
|
||||
- Mass rebuild for javapackages-tools 201901
|
||||
|
||||
* Tue May 14 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:1.3.3-1
|
||||
- Update to upstream version 1.3.3
|
||||
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (maven-resolver-1.4.2-source-release.zip) = 5d9513333da44e5d9b6097c8681a33f273ee78f797cdf7055be5cbf4d6c161e9e1e91a610b420201667a93ecc1f5c9a0a4a60fc1af2edfddb4c4e5d33f76ab40
|
||||
SHA512 (maven-resolver-1.6.1-source-release.zip) = ab45c772e9af4061977feb4fb48e3ae9ddd8cbebe41ada40f2a762504e96fd4c0fd4a939ab707667d9888caf92ab9fa354abe0624031c7049b7a2cb133421ddd
|
||||
|
Loading…
Reference in New Issue
Block a user