# Conditionals to help breaking olap4j <-> mondrian dependency cycle
%if 0%{?fedora}
%bcond_with mondrian
%endif
Name: olap4j
Version: 1.3.0
Release: 1%{?dist}
Summary: Open Java API for OLAP
License: ASL 2.0
URL: https://github.com/olap4j/olap4j/
Source0: https://github.com/olap4j/olap4j/archive/%{version}/%{name}-%{version}.tar.gz
BuildRequires: maven-local
BuildRequires: mvn(com.google.code.maven-replacer-plugin:replacer)
BuildRequires: mvn(com.h2database:h2)
BuildRequires: mvn(commons-collections:commons-collections)
BuildRequires: mvn(commons-dbcp:commons-dbcp)
BuildRequires: mvn(commons-logging:commons-logging)
BuildRequires: mvn(commons-pool:commons-pool)
BuildRequires: mvn(commons-vfs:commons-vfs)
BuildRequires: mvn(javax.servlet:javax.servlet-api)
BuildRequires: mvn(mysql:mysql-connector-java)
BuildRequires: mvn(org.apache.commons:commons-math3)
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-dependency-plugin)
BuildRequires: mvn(org.apache.rat:apache-rat-plugin)
BuildRequires: mvn(org.codehaus.mojo:javacc-maven-plugin)
BuildRequires: mvn(xerces:xercesImpl)
# test deps
%if %{with mondrian}
BuildRequires: mvn(junit:junit)
BuildRequires: mvn(log4j:log4j:1.2.17)
BuildRequires: mvn(org.apache.commons:commons-dbcp2:2.1)
BuildRequires: mvn(pentaho:mondrian:4.3.0.1-130)
%endif
BuildArch: noarch
%description
Olap4j is an open Java API for accessing OLAP data. It
is an extension to JDBC. For example, its
OlapConnection class extends java.sql.Connection, from
which you can create an OlapStatement, and execute to
create a CellSet (analogous to a java.sql.ResultSet).
There are also similar mechanisms for browsing metadata.
As a result, Olap4j is easy to learn if you
have JDBC experience and know a little about OLAP.
%package javadoc
Summary: Javadoc for %{name}
%description javadoc
This package contains javadoc for %{name}.
%prep
%setup -q -n %{name}-%{version}
rm -r doc foodmart xmla-cache
# Remove old Jdbc code
rm src/org/olap4j/driver/xmla/FactoryJdbc4Impl.java \
src/org/olap4j/driver/xmla/FactoryJdbc4Plus.java \
src/org/olap4j/driver/xmla/FactoryJdbc41Impl.java \
src/org/olap4j/driver/xmla/*Jdbc3*.java
%pom_remove_plugin :maven-compiler-plugin
%pom_remove_plugin :maven-source-plugin
# com.github.ekryd.sortpom:sortpom-maven-plugin:2.4.0
%pom_remove_plugin :sortpom-maven-plugin
# com.helger.maven:ph-javacc-maven-plugin:2.8.0
%pom_remove_plugin :ph-javacc-maven-plugin
%pom_add_plugin "org.codehaus.mojo:javacc-maven-plugin" . "
javacc
generate-sources
javacc
src/org/olap4j/mdx/parser/impl
"
# com.google.code.maven-replacer-plugin:maven-replacer-plugin:1.4.0
%pom_remove_plugin :maven-replacer-plugin
%pom_add_plugin "com.google.code.maven-replacer-plugin:replacer:1.6" . "
process-packageVersion
generate-sources
replace
src/resources/version/XmlaOlap4jDriverVersion.java.template
target/generated-sources/javacc/org/olap4j/driver/xmla/XmlaOlap4jDriverVersion.java
@buildtime@
\${maven.build.timestamp}
@pomversion@
\${project.version}
"
%pom_remove_dep com.sun:rt-jdk1.5
%pom_remove_dep net.java.openjdk:rt-java6
%pom_remove_dep net.java.openjdk:ctsym-java7
# pentaho:mondrian-data-foodmart:0.9-SNAPSHOT
%pom_remove_dep pentaho:mondrian-data-foodmart
%pom_change_dep :commons-math org.apache.commons:commons-math3
# javax.servlet:servlet-api:2.4
%pom_change_dep javax.servlet:servlet-api :javax.servlet-api:3.1.0
# Prepare service script
mkdir -p src/main/resources
mv src/META-INF src/main/resources
%pom_xpath_set "pom:packaging" 'bundle'
%pom_add_plugin org.apache.felix:maven-bundle-plugin . '
true
bundle-manifest
process-classes
manifest
'
%if %{with mondrian}
%pom_remove_dep org.apache.commons:commons-dbcp2
# org.olap4j:olap4j-tck
%pom_add_plugin "org.apache.maven.plugins:maven-jar-plugin" . "
test-jar
"
%mvn_package :%{name}::tests:
%mvn_alias :%{name}::tests: :%{name}-tck
%mvn_file :%{name}::tests: %{name}-tests %{name}-tck
%endif
%mvn_alias org.%{name}:%{name} :%{name}-xmla
%mvn_file :%{name} %{name} %{name}-xmla
%build
%if %{without mondrian}
opts='-f'
%endif
%mvn_build $opts
%install
%mvn_install
%files -f .mfiles
%doc HISTORY.md README.md README.txt olap4j_version_2_specification.md
%license LICENSE NOTICE
%files javadoc -f .mfiles-javadoc
%license LICENSE NOTICE
%changelog
* Fri Nov 18 2016 gil cattaneo 1.3.0-1
- initial rpm