From fa1000339ca47ae3f298753cb874deeba4e36ae3 Mon Sep 17 00:00:00 2001 From: eabdullin Date: Thu, 13 Mar 2025 13:56:45 +0000 Subject: [PATCH] import CS jctools-4.0.2-12.module_el9+1171+eb38a622 --- .gitignore | 2 +- .jctools.metadata | 2 +- SPECS/jctools.spec | 230 +++++++++++++++++++++++++++++++-------------- 3 files changed, 159 insertions(+), 75 deletions(-) diff --git a/.gitignore b/.gitignore index d6dda2c..6b351ad 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/jctools-2.0.2.tar.gz +SOURCES/JCTools-4.0.2.tar.gz diff --git a/.jctools.metadata b/.jctools.metadata index e69d8c2..545a1df 100644 --- a/.jctools.metadata +++ b/.jctools.metadata @@ -1 +1 @@ -35969e3255117fcfe1b66fb601f886cad3d4b743 SOURCES/jctools-2.0.2.tar.gz +a186f3dc6b37393a0a397c165718c05e2be9ebae SOURCES/JCTools-4.0.2.tar.gz diff --git a/SPECS/jctools.spec b/SPECS/jctools.spec index 69b0ea7..7bc3e25 100644 --- a/SPECS/jctools.spec +++ b/SPECS/jctools.spec @@ -1,21 +1,26 @@ -%global namedreltag %nil -%global namedversion %{version}%{?namedreltag} +%bcond_with bootstrap +%global srcname JCTools -Name: jctools -Version: 2.0.2 -Release: 2%{?dist} -Summary: Java Concurrency Tools for the JVM -License: ASL 2.0 -URL: http://jctools.github.io/JCTools/ -Source0: https://github.com/JCTools/JCTools/archive/v%{namedversion}/%{name}-%{namedversion}.tar.gz +Name: jctools +Version: 4.0.2 +Release: 12%{?dist} +Summary: Java Concurrency Tools for the JVM +License: Apache-2.0 +URL: https://github.com/JCTools/JCTools +BuildArch: noarch +ExclusiveArch: %{java_arches} noarch -BuildRequires: maven-local -BuildRequires: mvn(junit:junit) -BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) -BuildRequires: mvn(org.hamcrest:hamcrest-all) -BuildRequires: mvn(org.ow2.asm:asm-all) +Source0: %{url}/archive/v%{version}/%{srcname}-%{version}.tar.gz -BuildArch: noarch +%if %{with bootstrap} +BuildRequires: javapackages-bootstrap +%else +BuildRequires: maven-local +BuildRequires: mvn(com.google.guava:guava-testlib) +BuildRequires: mvn(junit:junit) +BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) +BuildRequires: mvn(org.hamcrest:hamcrest-all) +%endif %description This project aims to offer some concurrent data structures @@ -29,90 +34,169 @@ currently missing from the JDK: ° Low contention stats counters ° Executor -%package experimental -Summary: JCTools Experimental implementations - -%description experimental -Experimental implementations for the -Java Concurrency Tools Library. - %package javadoc -Summary: Javadoc for %{name} +Summary: API documentation for %{name} %description javadoc -This package contains javadoc for %{name}. - -%package parent -Summary: JCTools Parent POM - -%description parent -JCTools Parent POM. +API documentation for %{name}. %prep -%setup -q -n JCTools-%{namedversion} -# Cleanup -find . -name '*.class' -print -delete -find . -name '*.jar' -print -delete +%autosetup -p1 -n %{srcname}-%{version} -%pom_xpath_set pom:project/pom:version %{namedversion} -%pom_xpath_set -r pom:parent/pom:version %{namedversion} %{name}-core %{name}-experimental +# drop some failure-prone tests (race conditions?) +rm jctools-core/src/test/java/org/jctools/queues/MpqSanityTestMpscCompound.java -# Prevent build failure +# set correct version in all pom.xml files +%pom_xpath_set pom:project/pom:version %{version} +%pom_xpath_set pom:parent/pom:version %{version} jctools-{build,core,channels,experimental} + +# remove plugins unnecessary for RPM builds +%pom_remove_plugin :coveralls-maven-plugin jctools-core +%pom_remove_plugin :jacoco-maven-plugin jctools-core %pom_remove_plugin :maven-enforcer-plugin +%pom_remove_plugin :maven-source-plugin jctools-core +%pom_remove_plugin :maven-javadoc-plugin jctools-core -# Unavailable deps -%pom_disable_module %{name}-benchmarks -%pom_disable_module %{name}-concurrency-test +# remove tests with additional kotlin dependencies +rm -r jctools-core/src/test/java/org/jctools/maps/linearizability_test/ -# This dep is unused and unneeded -%pom_remove_dep "com.google.guava:guava-testlib" jctools-experimental +# disable unused modules with unavailable dependencies +%pom_disable_module jctools-benchmarks +%pom_disable_module jctools-concurrency-test -# Not available -%pom_remove_plugin :cobertura-maven-plugin %{name}-core +# incompatible with Java 11 and unused in fedora: +# https://github.com/JCTools/JCTools/issues/254 +%pom_disable_module jctools-channels +%pom_disable_module jctools-experimental -# Useless tasks -%pom_remove_plugin :maven-source-plugin %{name}-core -%pom_xpath_remove "pom:plugin[pom:artifactId = 'maven-javadoc-plugin']/pom:executions" %{name}-core +%pom_disable_module jctools-build +%pom_remove_plugin :exec-maven-plugin jctools-core -# Add OSGi support -for mod in core experimental; do - %pom_xpath_set "pom:project/pom:packaging" bundle %{name}-${mod} - %pom_add_plugin org.apache.felix:maven-bundle-plugin:2.3.7 %{name}-${mod} ' - true - - - bundle-manifest - process-classes - - manifest - - - - - true - ' -done +# do not install internal build tools +%mvn_package :jctools-build __noinstall + +# do not install unused parent POM +%mvn_package :jctools-parent __noinstall %build - -%mvn_build -s +# Tests time out in Koji +%mvn_build -s -f %install %mvn_install -%files -f .mfiles-%{name}-core +%files -f .mfiles-jctools-core %doc README.md %license LICENSE -%files experimental -f .mfiles-%{name}-experimental - %files javadoc -f .mfiles-javadoc %license LICENSE -%files parent -f .mfiles-%{name}-parent -%license LICENSE - %changelog +* Fri Nov 29 2024 Mikolaj Izdebski - 4.0.2-9 +- Update javapackages test plan to f42 + +* Thu Jul 18 2024 Fedora Release Engineering - 4.0.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Feb 27 2024 Jiri Vanek - 4.0.2-3 +- Rebuilt for java-21-openjdk as system jdk + +* Fri Feb 23 2024 Jiri Vanek - 4.0.2-2 +- bump of release for for java-21-openjdk as system jdk + +* Thu Feb 01 2024 Mikolaj Izdebski - 4.0.2-1 +- Update to upstream version 4.0.2 + +* Wed Jan 24 2024 Fedora Release Engineering - 4.0.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jan 20 2024 Fedora Release Engineering - 4.0.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Sep 01 2023 Mikolaj Izdebski - 4.0.1-4 +- Convert License tag to SPDX format + +* Tue Aug 15 2023 Mikolaj Izdebski - 4.0.1-3 +- Build with default JDK 17 + +* Thu Jul 20 2023 Fedora Release Engineering - 4.0.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Fri Jul 14 2023 Paul Wouters - 3.3.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Jul 21 2022 Fedora Release Engineering - 3.3.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Apr 27 2022 Mikolaj Izdebski - 3.3.0-4 +- Build with OpenJDK 8 +- Disable jctools-build module + +* Sat Feb 05 2022 Jiri Vanek - 3.3.0-3 +- Rebuilt for java-17-openjdk as system jdk + +* Thu Jan 20 2022 Fedora Release Engineering - 3.3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Aug 10 2021 Sérgio Basto - 3.3.0-1 +- Update to 3.3.0 + +* Thu Jul 22 2021 Fedora Release Engineering - 3.2.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Feb 02 2021 Fabio Valentini - 3.2.0-1 +- Update to version 3.2.0. + +* Tue Jan 26 2021 Fedora Release Engineering - 3.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Fri Sep 04 2020 Mat Booth - 3.1.0-1 +- Update to latest upstream version +- Obsolete sub-packages that cannot be built on JDK 11 + +* Tue Jul 28 2020 Mat Booth - 2.1.2-10 +- Patch for javaparser API changes + +* Tue Jul 28 2020 Fedora Release Engineering - 2.1.2-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jul 10 2020 Jiri Vanek - 2.1.2-8 +- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 + +* Fri Jun 26 2020 Roland Grunberg - 2.1.2-7 +- Force Java 8 as we cannot build with Java 11 due to upstream bug. + +* Wed Jan 29 2020 Fedora Release Engineering - 2.1.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Dec 19 2019 Mat Booth - 2.1.2-5 +- Skip problematic NonBlockingHashMapTest + +* Mon Sep 09 2019 Fabio Valentini - 2.1.2-4 +- Disable another failure-prone unreliable test. + +* Mon Sep 09 2019 Fabio Valentini - 2.1.2-3 +- Disable failure-prone unreliable test. + +* Thu Jul 25 2019 Fedora Release Engineering - 2.1.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed Feb 13 2019 Mat Booth - 2.1.2-1 +- Update to latest upstream release + +* Fri Feb 01 2019 Fedora Release Engineering - 2.0.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 2.0.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 07 2018 Fedora Release Engineering - 2.0.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Sun Sep 17 2017 Mat Booth - 2.0.2-2 - Drop unneeded dep on guava-testlib