Blob Blame History Raw
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