Bootstrap Maven as non-modular packages

Resolves: rhbz#1951482
This commit is contained in:
Mikolaj Izdebski 2021-06-08 20:17:56 +02:00
parent ccee3bfd9d
commit 4084353649
3 changed files with 57 additions and 76 deletions

1
.gitignore vendored
View File

@ -26,3 +26,4 @@ httpcomponents-client-4.1-src.tar.gz
/httpcomponents-client-4.5.8-src.tar.gz
/httpcomponents-client-4.5.9-src.tar.gz
/httpcomponents-client-4.5.10-src.tar.gz
/httpcomponents-client-4.5.11-src.tar.gz

View File

@ -1,40 +1,40 @@
%bcond_with memcached
%bcond_with ehcache
# 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: httpcomponents-client
Summary: HTTP agent implementation based on httpcomponents HttpCore
Version: 4.5.10
Release: 7%{?dist}
Version: 4.5.11
Release: 4%{?dist}
License: ASL 2.0
URL: http://hc.apache.org/
Source0: http://www.apache.org/dist/httpcomponents/httpclient/source/%{name}-%{version}-src.tar.gz
Source0: https://www.apache.org/dist/httpcomponents/httpclient/source/%{name}-%{version}-src.tar.gz
BuildArch: noarch
Patch0: 0001-Use-system-copy-of-effective_tld_names.dat.patch
Patch1: 0002-Port-to-mockito-2.patch
BuildArch: noarch
BuildRequires: maven-local
BuildRequires: maven-local-openjdk8
%if %{with bootstrap}
BuildRequires: javapackages-bootstrap
%else
BuildRequires: mvn(commons-codec:commons-codec)
BuildRequires: mvn(commons-logging:commons-logging)
BuildRequires: mvn(junit:junit)
%if %{with ehcache}
BuildRequires: mvn(net.sf.ehcache:ehcache-core)
%endif
%if %{with memcached}
BuildRequires: mvn(net.spy:spymemcached)
%endif
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.httpcomponents:httpcomponents-parent:pom:)
BuildRequires: mvn(org.apache.httpcomponents:httpcore)
BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin)
BuildRequires: mvn(org.mockito:mockito-core)
%endif
%if %{without bootstrap}
BuildRequires: publicsuffix-list
%endif
Requires: publicsuffix-list
Obsoletes: %{name}-tests < 4.4
%description
HttpClient is a HTTP/1.1 compliant HTTP agent implementation based on
httpcomponents HttpCore. It also provides reusable components for
@ -43,17 +43,7 @@ management. HttpComponents Client is a successor of and replacement
for Commons HttpClient 3.x. Users of Commons HttpClient are strongly
encouraged to upgrade.
%package cache
Summary: Cache module for %{name}
%description cache
This package provides client side caching for %{name}.
%package javadoc
Summary: API documentation for %{name}
%description javadoc
%{summary}.
%{?javadoc_package}
%prep
%setup -q -n %{name}-%{version}
@ -61,11 +51,16 @@ Summary: API documentation for %{name}
%patch1 -p1
%mvn_package :::tests: __noinstall
%mvn_package :httpclient-cache cache
# Change scope of commons-logging to provided
%pom_change_dep :commons-logging :::provided httpclient
# Remove optional build deps not available in Fedora
%pom_disable_module httpclient-osgi
%pom_disable_module httpclient-win
%pom_disable_module fluent-hc
%pom_disable_module httpmime
%pom_disable_module httpclient-cache
%pom_remove_plugin :docbkx-maven-plugin
%pom_remove_plugin :clirr-maven-plugin
%pom_remove_plugin :maven-checkstyle-plugin
@ -77,12 +72,6 @@ Summary: API documentation for %{name}
# Fails due to strict crypto policy - uses DSA in test data
rm httpclient/src/test/java/org/apache/http/conn/ssl/TestSSLSocketFactory.java
# Don't compile/run httpclient-cache tests - they are incompatible with EasyMock 3.3
%pom_remove_dep org.easymock:easymockclassextension
%pom_remove_dep org.slf4j:slf4j-jcl httpclient-cache
%pom_remove_dep :::test httpclient-cache
rm -rf httpclient-cache/src/test
%pom_remove_plugin :download-maven-plugin httpclient
%pom_xpath_inject "pom:archive" "
@ -123,58 +112,28 @@ rm -rf httpclient-cache/src/test
</pluginManagement>
" httpclient
%pom_xpath_inject pom:build "
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Export-Package>*</Export-Package>
<Import-Package>net.sf.ehcache;resolution:=optional,net.spy.memcached;resolution:=optional,*</Import-Package>
<Private-Package></Private-Package>
<_nouses>true</_nouses>
</instructions>
<excludeDependencies>true</excludeDependencies>
</configuration>
</plugin>
</plugins>
</pluginManagement>" httpclient-cache
# requires network
rm httpclient/src/test/java/org/apache/http/client/config/TestRequestConfig.java
%if %{without memcached}
rm -r httpclient-cache/src/*/java/org/apache/http/impl/client/cache/memcached
%pom_remove_dep :spymemcached httpclient-cache
%endif
%if %{without ehcache}
rm -r httpclient-cache/src/*/java/org/apache/http/impl/client/cache/ehcache
%pom_remove_dep :ehcache-core httpclient-cache
%endif
%build
%mvn_file ":{*}" httpcomponents/@1
%build
%mvn_build -- -Dmaven.compiler.release=8
%mvn_build
%install
%mvn_install
%files -f .mfiles
%doc LICENSE.txt NOTICE.txt README.txt RELEASE_NOTES.txt
%files cache -f .mfiles-cache
%files javadoc -f .mfiles-javadoc
%doc LICENSE.txt NOTICE.txt
%files -n %{?module_prefix}%{name} -f .mfiles
%license LICENSE.txt NOTICE.txt
%doc README.txt RELEASE_NOTES.txt
%changelog
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 4.5.10-7
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Tue Jun 08 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.5.11-4
- Bootstrap Maven for CentOS Stream 9
* Mon May 17 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.5.11-3
- Bootstrap build
- Non-bootstrap build
* Wed Feb 17 2021 Fabio Valentini <decathorpe@gmail.com> - 4.5.10-6
- Build with -release 8 for better OpenJDK 8 compatibility.
@ -191,15 +150,36 @@ rm -r httpclient-cache/src/*/java/org/apache/http/impl/client/cache/ehcache
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.5.10-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Jan 25 2020 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.5.11-2
- Build with OpenJDK 8
* Wed Jan 22 2020 Marian Koncek <mkoncek@redhat.com> - 4.5.11-1
- Update to upstream version 4.5.11
* Tue Nov 05 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.5.10-2
- Mass rebuild for javapackages-tools 201902
* Mon Sep 16 2019 Marian Koncek <mkoncek@redhat.com> - 4.5.10-1
- Update to upstream version 4.5.10
* Mon Sep 16 2019 Marian Koncek <mkoncek@redhat.com> - 4.5.10-1
- Update to upstream version 4.5.10
* Thu Aug 29 2019 Fabio Valentini <decathorpe@gmail.com> - 4.5.7-3
- Disable memcached and ehcache support.
* Mon Jul 29 2019 Marian Koncek <mkoncek@redhat.com> - 4.5.9-1
- Update to upstream version 4.5.9
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.5.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri May 24 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.5.8-2
- Mass rebuild for javapackages-tools 201901
* Mon May 13 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.5.8-1
- Update to upstream version 4.5.8
* Mon Feb 04 2019 Marian Koncek <mkoncek@redhat.com> - 4.5.7-1
- Update to upstream version 4.5.7
- Fixes: RHBZ #1669148

View File

@ -1 +1 @@
SHA512 (httpcomponents-client-4.5.10-src.tar.gz) = 9bd1290d5947a5d84b24f18c5c138cdbb0a305a119536c3f1c35befcac6e3c4c8156b972dbe0f28169b6dbfcd0a97580b8721d5e25fad9deb12ba5a6cc74b710
SHA512 (httpcomponents-client-4.5.11-src.tar.gz) = e2f005a7866ac0cb6d8d7c1b0d9d516cd28f6f175722a48d3ec86e63d5af6ff9df633aee1e736453ea4360a12abfbdc7e1cf9e9b8b3fac5229ffcad3eebe376f