Name: cascading
Version: 2.7.1
Release: 1%{?dist}
Summary: Java framework for building data applications on Hadoop
License: ASL 2.0
URL: http://www.cascading.org/
Source0: https://github.com/Cascading/cascading/archive/%{version}.tar.gz
Source1: http://conjars.org/repo/cascading/cascading-core/%{version}/cascading-core-%{version}.pom
#Source2: http://conjars.org/repo/cascading/cascading-hadoop/%%{version}/cascading-hadoop-%%{version}.pom
Source3: http://conjars.org/repo/cascading/cascading-hadoop2-mr1/%{version}/cascading-hadoop2-mr1-%{version}.pom
Source4: http://conjars.org/repo/cascading/cascading-local/%{version}/cascading-local-%{version}.pom
#Source5: http://conjars.org/repo/cascading/cascading-platform/%%{version}/cascading-platform-%%{version}.pom
Source6: http://conjars.org/repo/cascading/cascading-xml/%{version}/cascading-xml-%{version}.pom
BuildRequires: maven-local
BuildRequires: mvn(com.google.guava:guava)
BuildRequires: mvn(org.apache.hadoop:hadoop-common)
BuildRequires: mvn(org.apache.hadoop:hadoop-mapreduce-client-core)
BuildRequires: mvn(org.ccil.cowan.tagsoup:tagsoup)
BuildRequires: mvn(org.codehaus.janino:janino)
BuildRequires: mvn(org.slf4j:slf4j-api)
BuildRequires: mvn(org.slf4j:slf4j-log4j12)
# https://bugzilla.redhat.com/show_bug.cgi?id=1200395
BuildRequires: mvn(riffle:riffle)
BuildRequires: mvn(thirdparty:jgrapht-jdk1.6)
%if 0
# hadoop
BuildRequires: mvn(org.apache.hadoop:hadoop-core:1.2.1)
BuildRequires: mvn(commons-io:commons-io)
# Test deps
BuildRequires: mvn(javax.ws.rs:jsr311-api)
BuildRequires: mvn(org.codehaus.jackson:jackson-core-asl)
BuildRequires: mvn(org.codehaus.jackson:jackson-mapper-asl)
BuildRequires: mvn(org.apache.hadoop:hadoop-minicluster)
BuildRequires: mvn(org.apache.hadoop:hadoop-test)
BuildRequires: mvn(log4j:log4j:1.2.17)
%endif
BuildArch: noarch
%description
Cascading is a feature rich API for defining and executing complex and
fault tolerant data processing work-flows on a Hadoop cluster.
%package hadoop2-mr1
Summary: Cascading Hadoop 2.x MapReduce support
%description hadoop2-mr1
Cascading Hadoop 2.x MapReduce mode class files.
%package local
Summary: Cascading Local in-memory support
%description local
Cascading Local in-memory support.
%package xml
Summary: Cascading XML operations support
%description xml
Cascading XML operations support.
%package javadoc
Summary: Javadoc for %{name}
%description javadoc
This package contains javadoc for %{name}.
%prep
%setup -q -n %{name}-%{version}
# cleanup
find -name "*.jar" -print -delete
find -name "*.class" -delete
# This is a dummy POM added just to ease building in the RPM platforms
cat > pom.xml << EOF
4.0.0
cascading
cascading-project
pom
%{version}
cascading-core
cascading-hadoop
cascading-hadoop2-mr1
cascading-local
cascading-platform
cascading-xml
EOF
cp -p %{SOURCE1} %{name}-core/pom.xml
#cp -p %%{SOURCE2} %%{name}-hadoop/pom.xml
cp -p %{SOURCE3} %{name}-hadoop2-mr1/pom.xml
cp -p %{SOURCE4} %{name}-local/pom.xml
#cp -p %%{SOURCE5} %%{name}-platform/pom.xml
cp -p %{SOURCE6} %{name}-xml/pom.xml
%pom_disable_module %{name}-hadoop
%pom_disable_module %{name}-platform
%pom_xpath_remove "pom:dependencies/pom:dependency[pom:scope = 'test']" %{name}-core
%pom_xpath_remove "pom:dependencies/pom:dependency[pom:scope = 'test']" %{name}-hadoop2-mr1
%pom_xpath_remove "pom:dependencies/pom:dependency[pom:scope = 'test']" %{name}-local
%pom_xpath_remove "pom:dependencies/pom:dependency[pom:scope = 'test']" %{name}-xml
# Some java source file are shared with hadoop1 module
cp -rv cascading-hadoop2-mr1/src/main/shared/cascading/* \
cascading-hadoop2-mr1/src/main/java/cascading/
rm -r cascading-hadoop2-mr1/src/main/shared
#%% mvn_alias cascading:cascading-hadoop2-mr1 cascading:cascading-hadoop
%mvn_package :%{name}-project __noinstall
%build
# Test use web connection
%mvn_build -s -f -- -Dproject.build.sourceEncoding=UTF-8
%install
%mvn_install
%files -f .mfiles-%{name}-core
%doc CHANGES.txt CONTRIBUTING.md README.md
%license apl.txt LICENSE.txt
%files hadoop2-mr1 -f .mfiles-%{name}-hadoop2-mr1
%license apl.txt LICENSE.txt
%files local -f .mfiles-%{name}-local
%license apl.txt LICENSE.txt
%files xml -f .mfiles-%{name}-xml
%license apl.txt LICENSE.txt
%files javadoc -f .mfiles-javadoc
%license apl.txt LICENSE.txt
%changelog
* Sat Nov 07 2015 gil cattaneo 2.7.1-1
- update to 2.7.1
* Tue Mar 10 2015 gil cattaneo 2.6.3-1
- update to 2.6.3
* Fri Jan 09 2015 gil cattaneo 2.6.1-1
- initial rpm