Name: crunch Version: 0.11.0 Release: 1%{?dist} Summary: Simple and Efficient MapReduce Pipelines License: ASL 2.0 URL: http://crunch.apache.org/ Source0: http://www.apache.org/dist/crunch/crunch-%{version}/apache-%{name}-%{version}-src.tar.gz BuildRequires: maven-local BuildRequires: mvn(com.google.code.findbugs:jsr305) BuildRequires: mvn(com.google.guava:guava) BuildRequires: mvn(com.google.protobuf:protobuf-java) BuildRequires: mvn(com.h2database:h2) BuildRequires: mvn(com.twitter:parquet-avro) BuildRequires: mvn(commons-codec:commons-codec) BuildRequires: mvn(commons-httpclient:commons-httpclient) BuildRequires: mvn(commons-io:commons-io) BuildRequires: mvn(commons-lang:commons-lang) BuildRequires: mvn(commons-logging:commons-logging) BuildRequires: mvn(junit:junit) %if %{?fedora} > 20 BuildRequires: mvn(log4j:log4j:1.2.17) %else BuildRequires: mvn(log4j:log4j) %endif BuildRequires: mvn(org.apache.avro:avro) BuildRequires: mvn(org.apache.avro:avro-mapred) BuildRequires: mvn(org.apache.avro:avro-maven-plugin) BuildRequires: mvn(org.apache.avro:trevni-avro) BuildRequires: mvn(org.apache.avro:trevni-core) BuildRequires: mvn(org.apache.hbase:hbase-client) BuildRequires: mvn(org.apache.hbase:hbase-common) BuildRequires: mvn(org.apache.hbase:hbase-protocol) BuildRequires: mvn(org.apache.hbase:hbase-shell) BuildRequires: mvn(org.apache.hbase:hbase-server) BuildRequires: mvn(org.apache.hadoop:hadoop-client) BuildRequires: mvn(org.apache.hadoop:hadoop-minicluster) BuildRequires: mvn(org.apache.maven.plugins:maven-failsafe-plugin) BuildRequires: mvn(org.apache.thrift:libthrift) BuildRequires: mvn(org.codehaus.jackson:jackson-core-asl) BuildRequires: mvn(org.codehaus.jackson:jackson-mapper-asl) BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin) BuildRequires: mvn(org.hamcrest:hamcrest-all) BuildRequires: mvn(org.mockito:mockito-all) BuildRequires: mvn(org.slf4j:slf4j-api) BuildRequires: mvn(org.slf4j:slf4j-log4j12) %if 0 # Module hive BuildRequires: mvn(org.apache.hive:hive-exec) # Module spark BuildRequires: mvn(org.apache.spark:spark-core_2.10) # These deps are unavalable BuildRequires: mvn(org.apache.hbase:hbase-hadoop1-compat) BuildRequires: mvn(org.apache.hbase:hbase-testing-util) # Module scrunch BuildRequires: mvn(com.twitter:algebird-core_2.10) BuildRequires: mvn(commons-cli:commons-cli) BuildRequires: mvn(net.alchim31.maven:scala-maven-plugin) BuildRequires: mvn(org.scala-lang:scala-library) BuildRequires: mvn(org.scala-lang:scala-compiler) BuildRequires: mvn(org.scala-lang:jline) BuildRequires: mvn(org.scalatest:scalatest_2.10) %endif # Hadoop is not available on ARM ExcludeArch: %{arm} BuildArch: noarch %description Apache Crunch is a Java library for writing, testing, and running Hadoop MapReduce pipelines, based on Google's FlumeJava. Its goal is to make pipelines that are composed of many user-defined functions simple to write, easy to test, and efficient to run. %package contrib Summary: Apache Crunch Contrib %description contrib Apache Crunch Contrib. %package core Summary: Apache Crunch Core %description core Apache Crunch Core. %package examples Summary: Apache Crunch Examples %description examples Apache Crunch Examples. %package hbase Summary: Apache Crunch HBase Support %description hbase Apache Crunch HBase Support. # hive # scrunch # spark %package test Summary: Apache Crunch Test %description test Provides test dependencies and utilities. %package javadoc Summary: Javadoc for %{name} %description javadoc This package contains javadoc for %{name}. %prep %setup -q -n apache-%{name}-%{version}-src find . -name "*.jar" -print -delete find . -name "*.class" -print -delete %pom_remove_plugin :apache-rat-plugin %pom_remove_plugin :maven-assembly-plugin crunch-examples %pom_disable_module crunch-archetype %pom_disable_module crunch-dist %pom_disable_module crunch-hive %pom_disable_module crunch-scrunch %pom_disable_module crunch-spark %pom_xpath_set "pom:properties/pom:log4j.version" 1.2.17 %pom_xpath_remove "pom:dependency[pom:artifactId = 'avro-mapred']/pom:classifier" %pom_xpath_remove "pom:dependency[pom:artifactId = 'avro-mapred']/pom:classifier" crunch-core %pom_remove_dep org.apache.hbase:hbase-testing-util crunch-hbase # Use avro 1.7.7. Adds a temporary fix to use avro 1.7.5 sed -i "s|org.apache.avro.file.CodecFactory.DEFAULT_DEFLATE_LEVEL|java.util.zip.Deflater.DEFAULT_COMPRESSION|" \ crunch-core/src/main/java/org/apache/crunch/types/avro/AvroOutputFormat.java %build # ------------------------------------------------------- # T E S T S # ------------------------------------------------------- # Error occurred during initialization of VM # Error: Could not create the Java Virtual Machine. # Error: A fatal exception has occurred. Program will exit. # Could not reserve enough space for object heap %mvn_build -s -f -- -Phadoop-2 %install %mvn_install %files -f .mfiles-%{name}-parent %dir %{_javadir}/%{name} %doc README %license LICENSE NOTICE %files contrib -f .mfiles-%{name}-contrib %files core -f .mfiles-%{name}-core %files examples -f .mfiles-%{name}-examples %files hbase -f .mfiles-%{name}-hbase # hive # scrunch # spark %files test -f .mfiles-%{name}-test %files javadoc -f .mfiles-javadoc %license LICENSE NOTICE %changelog * Tue Jan 06 2015 gil cattaneo 0.11.0-1 - initial rpm