diff --git a/.gitignore b/.gitignore index 8987499..d257c18 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/00-keep-deprecated-aether-CacheUtils.patch b/00-keep-deprecated-aether-CacheUtils.patch deleted file mode 100644 index 8c13117..0000000 --- a/00-keep-deprecated-aether-CacheUtils.patch +++ /dev/null @@ -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 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 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 r1, List r2 ) -+ { -+ if ( r1.size() != r2.size() ) -+ { -+ return false; -+ } -+ -+ for ( Iterator 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 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; -+ } -+ -+} diff --git a/maven-resolver.spec b/maven-resolver.spec index ad39339..5ab436d 100644 --- a/maven-resolver.spec +++ b/maven-resolver.spec @@ -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 " -%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 - 1:1.4.2-6 -- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 +* Tue Jun 08 2021 Mikolaj Izdebski - 1:1.6.1-5 +- Bootstrap Maven for CentOS Stream 9 + +* Tue Jun 01 2021 Mikolaj Izdebski - 1:1.6.1-4 +- Add epoch to obsoleted packages + +* Tue Jun 01 2021 Mikolaj Izdebski - 1:1.6.1-3 +- Obsolete removed subpackages + +* Mon May 17 2021 Mikolaj Izdebski - 1:1.6.1-2 +- Bootstrap build +- Non-bootstrap build * Wed Feb 17 2021 Fabio Valentini - 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 - 1:1.4.2-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild +* Fri Jan 15 2021 Marian Koncek - 1.6.1-1 +- Update to upstream version 1.6.1 + * Tue Jul 28 2020 Fedora Release Engineering - 1:1.4.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Fri Jul 10 2020 Jiri Vanek - 1:1.4.2-2 - Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 +* Fri Jun 26 2020 Marian Koncek - 1.4.2-1 +- Update to upstream version 1.4.2 + * Sat May 09 2020 Fabio Valentini - 1:1.4.2-1 - Update to version 1.4.2. * Wed Jan 29 2020 Fedora Release Engineering - 1:1.4.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild +* Sat Jan 25 2020 Mikolaj Izdebski - 1.4.1-3 +- Build with OpenJDK 8 + +* Tue Nov 05 2019 Mikolaj Izdebski - 1.4.1-2 +- Mass rebuild for javapackages-tools 201902 + * Sun Nov 03 2019 Fabio Valentini - 1:1.4.1-1 - Update to version 1.4.1. +* Wed Sep 11 2019 Marian Koncek - 1.4.1-1 +- Update to upstream version 1.4.1 + * Thu Jul 25 2019 Fedora Release Engineering - 1:1.3.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild +* Sat Jun 29 2019 Mikolaj Izdebski - 1:1.3.3-3 +- Disable unneeded transporters + +* Fri May 24 2019 Mikolaj Izdebski - 1:1.3.3-2 +- Mass rebuild for javapackages-tools 201901 + * Tue May 14 2019 Mikolaj Izdebski - 1:1.3.3-1 - Update to upstream version 1.3.3 diff --git a/sources b/sources index 4e25d98..29d5dce 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (maven-resolver-1.4.2-source-release.zip) = 5d9513333da44e5d9b6097c8681a33f273ee78f797cdf7055be5cbf4d6c161e9e1e91a610b420201667a93ecc1f5c9a0a4a60fc1af2edfddb4c4e5d33f76ab40 +SHA512 (maven-resolver-1.6.1-source-release.zip) = ab45c772e9af4061977feb4fb48e3ae9ddd8cbebe41ada40f2a762504e96fd4c0fd4a939ab707667d9888caf92ab9fa354abe0624031c7049b7a2cb133421ddd