Blob Blame History Raw
Name:          curator
Version:       2.10.0
Release:       9%{?dist}
Summary:       A set of Java libraries that make using Apache ZooKeeper much easier
License:       ASL 2.0
URL:           http://%{name}.apache.org/
Source0:       http://archive.apache.org/dist/%{name}/%{version}/apache-%{name}-%{version}-source-release.zip
# Fix test deps
Patch0:        curator-2.10.0-commons-math3.patch
Patch1:        curator-2.10.0-jetty9.patch

BuildRequires: maven-local
BuildRequires: mvn(com.google.guava:guava)
BuildRequires: mvn(com.sun.jersey:jersey-client:1)
BuildRequires: mvn(com.sun.jersey:jersey-core:1)
BuildRequires: mvn(com.sun.jersey:jersey-server:1)
BuildRequires: mvn(com.sun.jersey:jersey-servlet:1)
BuildRequires: mvn(javax.ws.rs:jsr311-api)
BuildRequires: mvn(junit:junit)
BuildRequires: mvn(org.apache:apache:pom:)
BuildRequires: mvn(org.apache.commons:commons-math3)
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-remote-resources-plugin)
BuildRequires: mvn(org.apache.zookeeper:zookeeper)
BuildRequires: mvn(org.codehaus.jackson:jackson-mapper-asl)
BuildRequires: mvn(org.javassist:javassist)
BuildRequires: mvn(org.eclipse.jetty:jetty-server)
BuildRequires: mvn(org.eclipse.jetty:jetty-servlet)
BuildRequires: mvn(org.jboss.resteasy:resteasy-jaxrs)
BuildRequires: mvn(org.mockito:mockito-core)
BuildRequires: mvn(org.scannotation:scannotation)
BuildRequires: mvn(org.slf4j:slf4j-log4j12)
BuildRequires: mvn(org.testng:testng)

Requires: %{name}-client = %{version}-%{release}
Requires: %{name}-examples 
Requires: %{name}-framework 
Requires: %{name}-recipes 
Requires: %{name}-test 
Requires: %{name}-x-discovery 
Requires: %{name}-x-discovery-server 

BuildArch:     noarch

%description
Curator is a set of Java libraries that
make using Apache ZooKeeper much easier.

%package client
Summary:       Curator Client

%description client
Low-level API.

%package examples
Summary:       Curator Examples

%description examples
Example usages of various Curator features.

%package framework
Summary:       Curator Framework

%description framework
High-level API that greatly simplifies using ZooKeeper.

%package recipes
Summary:       Curator Recipes

%description recipes
All of the recipes listed on the ZooKeeper recipes doc
(except two phase commit).

%package test
Summary:       Curator Testing

%description test
Unit testing utilities.

%package x-discovery
Summary:       Curator Service Discovery

%description x-discovery
A service discovery recipe.

%package x-discovery-server
Summary:       Curator Service Discovery Server

%description x-discovery-server
Bridges non-Java or legacy applications with the
Curator Service Discovery.

%package javadoc
Summary:       Javadoc for %{name}

%description javadoc
This package contains javadoc for %{name}

%prep
%setup -q -n apache-%{name}-%{version}
find -name '*.class' -print -delete
find -name '*.jar' -print -delete

%patch0 -p1
%patch1 -p1

# disable cause build failure
%pom_remove_plugin :maven-license-plugin

%pom_remove_plugin :maven-site-plugin
%pom_remove_plugin -r :maven-shade-plugin
%pom_remove_plugin -r :clirr-maven-plugin

%pom_remove_plugin :apache-rat-plugin
%pom_remove_plugin :maven-dependency-plugin
%pom_remove_plugin :maven-install-plugin
%pom_remove_plugin :maven-release-plugin
%pom_remove_plugin :maven-scm-publish-plugin

# unavailable build deps
# com.facebook.swift:swift-service:0.12.0
# https://github.com/dropwizard/dropwizard
# io.dropwizard:dropwizard-configuration:0.7.0
# io.dropwizard:dropwizard-logging:0.7.0
%pom_disable_module curator-x-rpc

%pom_xpath_set "pom:properties/pom:jersey-version" 1
%pom_change_dep -r net.sf.scannotation: org.scannotation:

# remove flakey tests
rm -f curator-recipes/src/test/java/org/apache/curator/framework/recipes/nodes/TestGroupMember.java
rm -f curator-recipes/src/test/java/org/apache/curator/framework/recipes/queue/TestDistributedQueue.java
rm -f curator-recipes/src/test/java/org/apache/curator/framework/recipes/queue/TestBoundedDistributedQueue.java
rm -f curator-recipes/src/test/java/org/apache/curator/framework/recipes/queue/TestQueueSharder.java
rm -f curator-x-discovery-server/src/test/java/org/apache/curator/x/discovery/server/jetty_resteasy/TestStringsWithRestEasy.java

# AssertionError: expected [true] but found [false]
rm -f curator-recipes/src/test/java/org/apache/curator/framework/recipes/queue/TestDistributedDelayQueue.java

# Use 6.8.21 >= testng =< 6.8.8
sed -i "s/org.testng.internal.annotations.Sets/org.testng.collections.Sets/" \
 curator-recipes/src/test/java/org/apache/curator/framework/recipes/leader/TestLeaderSelector.java \
 curator-recipes/src/test/java/org/apache/curator/framework/recipes/leader/TestLeaderSelectorParticipants.java

# Missing junit dependency in POM
# https://lists.fedoraproject.org/pipermail/bigdata/2014-May/000456.html
%pom_add_dep junit:junit:4.12:test

%build

%mvn_build -s -- -DskipTests

%install
%mvn_install

%files -f .mfiles-apache-curator
%license LICENSE NOTICE

%files client -f .mfiles-curator-client
%doc README
%license LICENSE NOTICE

%files examples -f .mfiles-curator-examples
%files framework -f .mfiles-curator-framework
%files recipes -f .mfiles-curator-recipes
%files test -f .mfiles-curator-test
%license LICENSE NOTICE

%files x-discovery -f .mfiles-curator-x-discovery
%files x-discovery-server -f .mfiles-curator-x-discovery-server
%doc curator-x-discovery-server/README.txt


%files javadoc -f .mfiles-javadoc
%license LICENSE NOTICE

%changelog
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.10.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.10.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.10.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.10.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.10.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.10.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Fri Jan 20 2017 Mike Miller <milleruntime@gmail.com> - 2.10.0-3
- Fixed so curator requires subpackages

* Tue Jan 17 2017 Mike Miller <milleruntime@gmail.com> - 2.10.0-2
- Added skip tests to mvn build

* Mon Apr 04 2016 gil cattaneo <puntogil@libero.it> 2.10.0-1
- update to 2.10.0

* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Thu May 29 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.2.0-3
- Add missing junit dependency to POM

* Wed May 28 2014 Timothy St. Clair <tstclair@redhat.com> 2.2.0-2
- Rebuild for log4j12

* Thu Oct 10 2013 gil cattaneo <puntogil@libero.it> 2.2.0-1
- initial rpm