Name: gooddata-cl
Version: 1.1.4
Release: 3%{dist}
Summary: GoodData integration toolkit
Group: Applications/Internet
License: BSD
URL: http://developer.gooddata.com/gooddata-cl/
# git clone http://github.com/gooddata/GoodData-CL.git
# cd GoodData-CL
# git archive --prefix=gooddata-cl-1.1.4/ 1.1.4-beta |gzip -9 >gooddata-cl-1.1.4.tar.gz
Source0: gooddata-cl-%{version}.tar.gz
Source2: gooddata-cli
Patch1: 0001-Disable-snaplogic-we-don-t-ship-snapi.jar.patch
Patch2: 0002-Fix-xstream-group-id.patch
Patch3: 0003-Get-rid-of-assembly-plugin-we-do-not-do-bundling.patch
Patch5: 0005-Drag-in-packages-we-ship-split.patch
Patch6: 0006-Sanitize-logging-defaults.patch
Patch7: 0007-Do-not-hardwire-classpath-in-CLI.patch
Requires: java
Requires: axis
Requires: derby
Requires: ezmorph
Requires: jakarta-commons-beanutils
Requires: jakarta-commons-cli
Requires: jakarta-commons-codec
Requires: jakarta-commons-collections
Requires: jakarta-commons-httpclient
Requires: jakarta-commons-lang
Requires: jakarta-commons-logging
Requires: jakarta-commons-net
Requires: joda-time
Requires: json-lib
Requires: log4j
Requires: opencsv
Requires: xml-commons-apis
Requires: xpp3-minimal
Requires: xstream
# Older ones do not have the analysis connector
Requires: gdata-java > 1.39
BuildRequires: ezmorph
BuildRequires: jakarta-commons-codec
BuildRequires: javacc
BuildRequires: javacc-maven-plugin
BuildRequires: json-lib
BuildRequires: junit4
BuildRequires: maven2-plugin-compiler
BuildRequires: maven2-plugin-install
BuildRequires: maven2-plugin-jar
BuildRequires: maven2-plugin-resources
BuildRequires: maven-doxia-sitetools
BuildRequires: maven-shared-reporting-impl
BuildRequires: maven-surefire-maven-plugin
BuildRequires: maven-surefire-provider-junit4
BuildRequires: maven-surefire
BuildRequires: mysql-connector-java
BuildRequires: xpp3-minimal >= 1.1.3.8-3.4
BuildRequires: xstream >= 1.3.1
BuildRequires: derby
BuildRequires: opencsv
BuildRequires: gdata-java > 1.39
BuildRequires: axis >= 1.4
BuildRequires: joda-time
BuildRequires: icu4j
BuildRequires: maven-site-plugin
BuildArch: noarch
%description
This is GoodData data integration toolkit. The toolkit contains data
modeling, transformation and loading utilities that work on top of the
GoodData REST APIs.
%prep
%setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%build
MAVEN_REPO_LOCAL=$PWD/.m2/repository
mkdir -p $MAVEN_REPO_LOCAL
find -name '*.jar' -delete
# These don't ship with POMs yet.
mvninst (){ mvn-jpp -Dmaven.repo.local=$MAVEN_REPO_LOCAL \
install:install-file -Dpackaging=jar "$@"; }
mvninst -DgroupId=axis -DartifactId=axis \
-Dversion=1.4 -Dfile=$(build-classpath axis/axis)
mvninst -DgroupId=axis-jaxrpc -DartifactId=axis-jaxrpc \
-Dversion=1.4 -Dfile=$(build-classpath axis/jaxrpc)
mvninst -DgroupId=joda-time -DartifactId=joda-time \
-Dversion=1.6 -Dfile=$(build-classpath joda-time)
mvninst -DgroupId=net.sf.opencsv -DartifactId=opencsv \
-Dversion=2.1 -Dfile=$(build-classpath opencsv)
mvninst -DgroupId=com.google.gdata -DartifactId=gdata-java-core \
-Dversion=1.40.0 -Dfile=$(build-classpath gdata/gdata-core)
mvninst -DgroupId=com.google.gdata -DartifactId=gdata-java-client \
-Dversion=1.40.0 -Dfile=$(build-classpath gdata/gdata-client)
mvninst -DgroupId=com.google.gdata -DartifactId=gdata-java-analytics \
-Dversion=1.40.0 -Dfile=$(build-classpath gdata/gdata-analytics)
mvn-jpp -Dmaven.repo.local=$MAVEN_REPO_LOCAL install
%install
rm -rf $RPM_BUILD_ROOT
# Directory tree
install -d $RPM_BUILD_ROOT%{_javadir}/%{name}
install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
install -d $RPM_BUILD_ROOT%{_bindir}
# Code
for i in backend cli common connector
do
install -pm644 $i/target/gooddata-cl-$i-*.jar \
$RPM_BUILD_ROOT%{_javadir}/%{name}/$i-%{version}.jar
ln -sf $i-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/$i.jar
done
install -pm644 common/src/main/resources/log4j.configuration \
$RPM_BUILD_ROOT%{_sysconfdir}/%{name}
install -pm755 %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/gooddata-cli
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
%{_bindir}/*
%config(noreplace) %{_sysconfdir}/*
%{_javadir}/%{name}
%doc README* LICENSE.TXT
%changelog
* Fri Nov 05 2010 Lubomir Rintel (GoodData) - 1.1.4-3
- Mark log4j configuration %%config
- Remove classpath from manifest
* Thu Nov 04 2010 Lubomir Rintel (GoodData) - 1.1.4-2
- Fix BuildRequires
- Correct the URL
* Mon Sep 20 2010 Lubomir Rintel (GoodData) - 1.1.4-1
- Rebase to a later version
* Mon Jun 28 2010 Lubomir Rintel (GoodData) - 1.0-0.1.20100628git
- Update, rename to gooddata-cl
* Wed Jun 16 2010 Lubomir Rintel (GoodData) - 0.6-1.20100615git
- First cut at packaging, far from sane