Name: asynchbase Version: 1.7.2 Release: 1%{?dist} Summary: An alternative HBase client library # ASL 2.0 protobuf/*.proto License: ASL 2.0 and BSD URL: http://opentsdb.net/ Source0: https://github.com/OpenTSDB/asynchbase/archive/v%{version}/%{name}-%{version}.tar.gz # Move to Protobuf 3.1 Patch0: https://github.com/OpenTSDB/asynchbase/commit/a91355b320367318e6a3f30399b22e245bc0762b.patch BuildRequires: maven-local BuildRequires: mvn(com.google.guava:guava) BuildRequires: mvn(com.google.protobuf:protobuf-java) BuildRequires: mvn(com.stumbleupon:async) BuildRequires: mvn(io.netty:netty:3) BuildRequires: mvn(junit:junit) BuildRequires: mvn(org.apache.ant:ant) BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin) BuildRequires: mvn(org.apache.zookeeper:zookeeper) BuildRequires: mvn(org.hamcrest:hamcrest-core) BuildRequires: mvn(org.javassist:javassist) BuildRequires: mvn(org.mockito:mockito-all) BuildRequires: mvn(org.objenesis:objenesis) BuildRequires: mvn(org.powermock:powermock-api-mockito) BuildRequires: mvn(org.powermock:powermock-module-junit4) BuildRequires: mvn(org.slf4j:log4j-over-slf4j) BuildRequires: mvn(org.slf4j:slf4j-api) BuildRequires: mvn(org.sonatype.oss:oss-parent:pom:) BuildRequires: protobuf-compiler # protobuf/*.proto Provides: bundled(hbase) = 0.98.0 BuildArch: noarch %description An alternative HBase client library for applications requiring fully asynchronous, non-blocking and thread-safe HBase connectivity. %package javadoc Summary: Javadoc for %{name} %description javadoc This package contains javadoc for %{name}. %prep %setup -q -n %{name}-%{version} %patch0 -p1 %pom_xpath_remove pom:build/pom:extensions pom.xml.in # Cleanup rm -r .mvn-compat find . -name "*.class" -print -delete find . -name "*.jar" -print -delete find . -name "*.md5" -print -delete # Use netty compat version sed -i "s|3.9.4.Final|3|" third_party/netty/include.mk # Fix non standard source location %pom_xpath_set pom:build/pom:sourceDirectory src pom.xml.in # Unwanted %pom_remove_plugin :maven-dependency-plugin pom.xml.in %pom_remove_plugin :maven-gpg-plugin pom.xml.in %pom_remove_plugin :maven-javadoc-plugin pom.xml.in %pom_remove_plugin :maven-source-plugin pom.xml.in %pom_remove_plugin :nexus-staging-maven-plugin pom.xml.in # Not available plugin org.xolstice.maven.plugins:protobuf-maven-plugin:0.5.0 %pom_remove_plugin :protobuf-maven-plugin pom.xml.in %pom_remove_plugin :maven-antrun-plugin pom.xml.in %pom_add_plugin org.apache.maven.plugins:maven-antrun-plugin pom.xml.in ' generate-sources generate-sources target/generated-sources run ' # Fix manifest entries %pom_add_plugin org.apache.maven.plugins:maven-jar-plugin pom.xml.in " false true true " # Use jvm apis rm -r src/jsr166e find ./src -name "*.java" -exec sed -i "s/org.hbase.async.jsr166e/java.util.concurrent.atomic/g" {} + # java.lang.Exception: Test class should have public zero-argument constructor rm -r test/auth/TestLogin.java \ test/TestGetRequest.java \ test/TestMETALookup.java \ test/TestNSREs.java \ test/TestPutRequest.java # cglib < - > {powermock-api-,}mokito issues # java.lang.RuntimeException: Unable to set MockitoNamingPolicy on cglib generator which creates FastClasses rm -r test/TestDeleteRequest.java \ test/TestHBaseRpc.java \ test/TestRegionClient.java \ test/TestRegionClientDecode.java \ test/TestRegionClientSendRpc.java \ test/TestZKClient.java # java.lang.LinkageError: loader constraint violation in interface itable initialization: # when resolving method "$java.security.Principal$$EnhancerByMockitoWithCGLIB$$73abe37a.implies(Ljavax/security/auth/Subject;)Z" the # class loader (instance of org/powermock/core/classloader/MockClassLoader) of the # current class, $java/security/Principal$$EnhancerByMockitoWithCGLIB$$73abe37a, and the # class loader (instance of ) for interface java/security/Principal have different Class objects for the # type javax/security/auth/Subject used in the signature rm -r test/auth/TestKerberosClientAuthProvider.java # java.lang.AssertionError: expected:<...> but was:<...> rm -r test/TestHBaseClientLocateRegion.java %mvn_file : %{name} %build # Generate POM file make %{?_smp_mflags} pom.xml %mvn_build %install %mvn_install %files -f .mfiles %doc AUTHORS HACKING NEWS README THANKS protobuf/README.txt %license COPYING protobuf/LICENSE.txt %files javadoc -f .mfiles-javadoc %license COPYING protobuf/LICENSE.txt %changelog * Thu Oct 06 2016 gil cattaneo 1.7.2-1 - update to 1.7.2 * Sun Nov 08 2015 gil cattaneo 1.7.0-1 - update to 1.7.0 * Mon Jul 20 2015 gil cattaneo 1.6.0-1 - update to 1.6.0 * Mon Nov 25 2013 gil cattaneo 1.4.1-1 - initial rpm