diff --git a/jctools-2.0.2.tar.gz b/jctools-2.0.2.tar.gz deleted file mode 100644 index 8036e9b..0000000 Binary files a/jctools-2.0.2.tar.gz and /dev/null differ diff --git a/jctools-2.1.2.tar.gz b/jctools-2.1.2.tar.gz new file mode 100644 index 0000000..4cc05d9 Binary files /dev/null and b/jctools-2.1.2.tar.gz differ diff --git a/jctools.spec b/jctools.spec index ab91b1a..0eaacac 100644 --- a/jctools.spec +++ b/jctools.spec @@ -1,58 +1,68 @@ -Name: jctools -Version: 2.0.2 -Release: 5 -Summary: Java Concurrency Tools for the JVM -License: ASL 2.0 -BuildArch: noarch -URL: http://jctools.github.io/JCTools/ -Source0: https://github.com/JCTools/JCTools/archive/v2.0.2/jctools-2.0.2.tar.gz -BuildRequires: maven-local mvn(junit:junit) mvn(org.apache.felix:maven-bundle-plugin) -BuildRequires: mvn(org.hamcrest:hamcrest-all) mvn(org.ow2.asm:asm-all) -Provides: jctools-experimental = %{version}-%{release} jctools-parent = %{version}-%{release} -Obsoletes: jctools-experimental < %{version}-%{release} jctools-parent < %{version}-%{release} - +Name: jctools +Version: 2.1.2 +Release: 1 +Summary: Java Concurrency Tools for the JVM +License: Apache-2.0 +URL: https://jctools.github.io/JCTools/ +Source0: https://github.com/JCTools/JCTools/archive/v%{version}/%{name}-%{version}.tar.gz +BuildRequires: fdupes maven-local mvn(com.github.javaparser:javaparser-core) +BuildRequires: mvn(com.google.guava:guava-testlib) mvn(junit:junit) +BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) +BuildRequires: mvn(org.codehaus.mojo:exec-maven-plugin) mvn(org.hamcrest:hamcrest-all) +BuildRequires: mvn(org.ow2.asm:asm-util) +BuildArch: noarch %description -Java Concurrency Tools for the JVM. This project aims to offer some concurrent data structures currently missing from the JDK: -SPSC/MPSC/SPMC/MPMC variations for concurrent queues: -SPSC - Single Producer Single Consumer (Wait Free, bounded and unbounded) -MPSC - Multi Producer Single Consumer (Lock less, bounded and unbounded) -SPMC - Single Producer Multi Consumer (Lock less, bounded) -MPMC - Multi Producer Multi Consumer (Lock less, bounded) +This project aims to offer some concurrent data structures +currently missing from the JDK: +° SPSC/MPSC/SPMC/MPMC Bounded lock free queues +° SPSC/MPSC Unbounded lock free queues +° Alternative interfaces for queues +° Offheap concurrent ring buffer for ITC/IPC purposes +° Single Writer Map/Set implementations +° Low contention stats counters +° Executor -%package help -Summary: Help documents for jctools -Provides: jctools-javadoc = %{version}-%{release} -Obsoletes: jctools-javadoc < %{version}-%{release} +%package channels +Summary: JCTools Channel implementations +%description channels +Channel implementations for the +Java Concurrency Tools Library. -%description help -The jctools-help package conatins javadoc for jctools. +%package experimental +Summary: JCTools Experimental implementations +%description experimental +Experimental implementations for the +Java Concurrency Tools Library. + +%package javadoc +Summary: Javadoc for %{name} +%description javadoc +This package contains javadoc for %{name}. + +%package parent +Summary: JCTools Parent POM +%description parent +JCTools Parent POM. %prep -%autosetup -n JCTools-2.0.2 -p1 - -for filename in *.class *.jar;do - find . -name ${filename} -delete -done - -%pom_xpath_set pom:project/pom:version 2.0.2 -%pom_xpath_set -r pom:parent/pom:version 2.0.2 jctools-core jctools-experimental +%setup -q -n JCTools-%{version} +find . -name '*.class' -print -delete +find . -name '*.jar' -print -delete +rm jctools-core/src/test/java/org/jctools/queues/MpqSanityTestMpscCompound.java +rm jctools-core/src/test/java/org/jctools/queues/atomic/AtomicMpqSanityTestMpscCompound.java +%pom_xpath_set pom:project/pom:version %{version} +%pom_xpath_set -r pom:parent/pom:version %{version} %{name}-{build,core,channels,experimental} %pom_remove_plugin :maven-enforcer-plugin - -for pom_disable_module in jctools-benchmarks jctools-concurrency-test;do - %pom_disable_module ${pom_disable_module} -done - -%pom_remove_dep "com.google.guava:guava-testlib" jctools-experimental - -for pom_remove_plugin in cobertura-maven-plugin maven-source-plugin;do - %pom_remove_plugin :${pom_remove_plugin} jctools-core -done - -%pom_xpath_remove "pom:plugin[pom:artifactId = 'maven-javadoc-plugin']/pom:executions" jctools-core - +%pom_remove_plugin :coveralls-maven-plugin +%pom_remove_plugin :jacoco-maven-plugin +%pom_remove_plugin :maven-source-plugin %{name}-core +%pom_remove_plugin :maven-javadoc-plugin %{name}-core +%pom_disable_module %{name}-benchmarks +%pom_disable_module %{name}-concurrency-test +%pom_change_dep ":asm-all" ":asm-util" jctools-{channels,experimental} for mod in core experimental; do - %pom_xpath_set "pom:project/pom:packaging" bundle jctools-${mod} - %pom_add_plugin org.apache.felix:maven-bundle-plugin:2.3.7 jctools-${mod} ' + %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 @@ -67,20 +77,32 @@ for mod in core experimental; do true ' done +%{mvn_package} :jctools-build __noinstall %build -%mvn_build -s -f +%{mvn_build} -s -f %install %mvn_install +%fdupes -s %{buildroot}%{_javadocdir} -%files -f .mfiles-jctools-core -f .mfiles-jctools-experimental -f .mfiles-jctools-parent +%files -f .mfiles-%{name}-core %doc README.md %license LICENSE -%files help -f .mfiles-javadoc -%doc README.md +%files channels -f .mfiles-%{name}-channels + +%files experimental -f .mfiles-%{name}-experimental + +%files javadoc -f .mfiles-javadoc +%license LICENSE + +%files parent -f .mfiles-%{name}-parent +%license LICENSE %changelog +* Sat Aug 1 2020 Jeffery.Gao - 2.1.2-1 +- Package upgrade + * Mon Dec 23 2019 liujing - 2.0.2-5 - Package init diff --git a/jctools.yaml b/jctools.yaml new file mode 100644 index 0000000..5d61b09 --- /dev/null +++ b/jctools.yaml @@ -0,0 +1,5 @@ +git_url: https://github.com/JCTools/JCTools +version_control: github +src_repo: JCTools/JCTools +tag_prefix: "^v" +seperator: "."