File httpcomponents-core5.spec of Package httpcomponents-core5
#
# spec file for package httpcomponents-core5
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%bcond_with tests
Name: httpcomponents-core5
Version: 5.2.4
Release: 0
Summary: Set of low level Java HTTP transport components for HTTP services
License: Apache-2.0
Group: Development/Libraries/Java
URL: https://hc.apache.org/
Source0: https://archive.apache.org/dist/httpcomponents/httpcore/source/httpcomponents-core-%{version}-src.tar.gz
BuildRequires: ant
BuildRequires: fdupes
BuildRequires: java-devel >= 1.8
BuildRequires: maven-local
BuildRequires: mvn(io.reactivex.rxjava3:rxjava)
BuildRequires: mvn(org.apache.httpcomponents:httpcomponents-parent:pom:)
BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin)
BuildRequires: mvn(org.junit:junit-bom:pom:)
BuildRequires: mvn(org.reactivestreams:reactive-streams)
BuildRequires: mvn(org.slf4j:slf4j-api)
BuildArch: noarch
%description
HttpCore is a set of low level HTTP transport components that can be
used to build custom client and server side HTTP services with a
minimal footprint. HttpCore supports two I/O models: blocking I/O
model based on the classic Java I/O and non-blocking, event driven I/O
model based on Java NIO.
The blocking I/O model may be more appropriate for data intensive, low
latency scenarios, whereas the non-blocking model may be more
appropriate for high latency scenarios where raw data throughput is
less important than the ability to handle thousands of simultaneous
HTTP connections in a resource efficient manner.
%package javadoc
Summary: API documentation for %{name}
Group: Development/Libraries/Java
%description javadoc
%{summary}.
%prep
%setup -q -c
%pom_remove_plugin :maven-checkstyle-plugin
%pom_remove_plugin :apache-rat-plugin
%pom_remove_plugin :japicmp-maven-plugin
%pom_remove_plugin :maven-javadoc-plugin
# we don't need these artifacts right now
#pom_disable_module httpcore5-reactive
#pom_disable_module httpcore5-testing
# missing dependency
%pom_remove_dep :conscrypt-openjdk-uber httpcore5-h2
rm -f \
httpcore5-h2/src/main/java/org/apache/hc/core5/http2/ssl/ConscryptClientTlsStrategy.java \
httpcore5-h2/src/main/java/org/apache/hc/core5/http2/ssl/ConscryptServerTlsStrategy.java \
httpcore5-h2/src/main/java/org/apache/hc/core5/http2/ssl/ConscryptSupport.java
%pom_remove_dep io.reactivex.rxjava2:rxjava httpcore5-testing
rm -f httpcore5-testing/src/main/java/org/apache/hc/core5/testing/reactive/ReactiveTestUtils.java
%build
%{mvn_build} -f -- \
%if %{?pkg_vcmp:%pkg_vcmp java-devel >= 9}%{!?pkg_vcmp:0}
-Dmaven.compiler.release=8 \
%endif
-Dsource=8
%install
%{mvn_package} :{*}-parent __noinstall
%mvn_install
%fdupes -s %{buildroot}%{_javadocdir}
%files -f .mfiles
%license LICENSE.txt NOTICE.txt
%doc README.md RELEASE_NOTES.txt
%files javadoc -f .mfiles-javadoc
%license LICENSE.txt NOTICE.txt
%changelog