Name: empire-db
Version: 2.4.2
Release: 1%{?dist}
Summary: A relational database abstraction layer and data persistence component
License: ASL 2.0
URL: http://empire-db.apache.org/
Source0: http://www.apache.org/dist/%{name}/%{version}/apache-%{name}-%{version}-dist.tar.gz
BuildRequires: java-devel
# Core
BuildRequires: mvn(commons-beanutils:commons-beanutils)
BuildRequires: mvn(org.slf4j:slf4j-api)
# Codegen
BuildRequires: mvn(org.apache.velocity:velocity)
BuildRequires: mvn(org.slf4j:slf4j-log4j12)
# Maven plugin
BuildRequires: mvn(log4j:log4j)
BuildRequires: mvn(commons-logging:commons-logging)
BuildRequires: mvn(org.apache.maven:maven-plugin-api)
BuildRequires: mvn(org.apache.maven:maven-project)
# Unavailable deps
%if 0
# Java Server Faces 2.x extensions
BuildRequires: mvn(com.sun.faces:jsf-api)
BuildRequires: mvn(com.sun.faces:jsf-impl)
BuildRequires: mvn(javax.servlet:servlet-api)
BuildRequires: mvn(org.apache.myfaces.core:myfaces-impl)
BuildRequires: mvn(org.apache.tomcat:el-api)
# Struts2 extensions
BuildRequires: mvn(javassist:javassist)
BuildRequires: mvn(javax.portlet:portlet-api)
BuildRequires: mvn(javax.servlet.jsp:jsp-api)
BuildRequires: mvn(org.apache.struts:struts2-core)
BuildRequires: mvn(struts2-portlet-plugin)
BuildRequires: mvn(org.apache.struts.xwork:xwork-core)
# Examples
# CXF
BuildRequires: mvn(org.apache.cxf:cxf-rt-frontend-jaxws)
BuildRequires: mvn(org.apache.cxf:cxf-rt-transports-http-jetty)
# JSF2
BuildRequires: mvn(org.apache.myfaces.core:myfaces-api)
BuildRequires: mvn(org.codehaus.mojo:sysdeo-tomcat-maven-plugin)
%endif
# Advanced
BuildRequires: mvn(postgresql:postgresql)
# Basic
BuildRequires: mvn(mysql:mysql-connector-java)
# Spring
BuildRequires: mvn(commons-dbcp:commons-dbcp)
BuildRequires: mvn(org.springframework:spring-aop)
BuildRequires: mvn(org.springframework:spring-context)
BuildRequires: mvn(org.springframework:spring-jdbc)
BuildRequires: mvn(org.springframework:spring-orm)
# Test deps
BuildRequires: mvn(com.h2database:h2)
BuildRequires: mvn(commons-io:commons-io)
%if %{?fedora} > 19
BuildRequires: mvn(hsqldb:hsqldb:1)
%else
BuildRequires: mvn(hsqldb:hsqldb)
%endif
BuildRequires: mvn(junit:junit)
BuildRequires: mvn(org.apache.derby:derby)
BuildRequires: mvn(org.mockito:mockito-core)
%if 0
BuildRequires: mvn(org.xerial:sqlite-jdbc)
%endif
#BuildRequires: exec-maven-plugin
BuildRequires: maven-local
BuildRequires: maven-plugin-bundle
BuildRequires: maven-plugin-plugin
BuildRequires: maven-remote-resources-plugin
BuildRequires: maven-site-plugin
BuildArch: noarch
%description
Apache Empire-db is an Open Source relational data persistence component
which allows database vendor independent dynamic query definition as
well as safe and simple data retrieval and updating. Compared to most other
solutions like e.g. Hibernate, TopLink, iBATIS or JPA implementations,
Empire-db takes a considerably different approach, with a special focus on
compile-time safety, reduced redundancies and improved developer productivity.
%package maven-plugin
Summary: Apache Empire-db Maven Plugin
%description maven-plugin
This package contains Maven plugin for %{name}.
%package examples
Summary: Apache Empire-db Examples
%description examples
This package contains examples for %{name}.
%package javadoc
Summary: Javadoc for %{name}
%description javadoc
This package contains javadoc for %{name}.
%package doc
Summary: Documentation for %{name}
%description doc
This package contains documentation for %{name}.
%prep
%setup -q -n apache-%{name}-%{version}
find . -name "*.jar" -print -delete
find . -name "*.class" -print -delete
mv src/* .
%pom_remove_plugin :maven-source-plugin
%pom_remove_plugin :animal-sniffer-maven-plugin
%pom_disable_module %{name}-jsf2
%pom_disable_module %{name}-struts2
%pom_disable_module %{name}-example-cxf %{name}-examples
%pom_disable_module %{name}-example-struts2 %{name}-examples
%pom_disable_module %{name}-example-struts2-cxf %{name}-examples
%pom_disable_module %{name}-example-jsf2 %{name}-examples
%if %{?fedora} > 19
%pom_xpath_set "pom:project/pom:dependencyManagement/pom:dependencies/pom:dependency[pom:artifactId = 'hsqldb']/pom:version" 1
%pom_xpath_set "pom:project/pom:dependencies/pom:dependency[pom:artifactId = 'hsqldb']/pom:version" 1 %{name}-examples/%{name}-example-codegen
for p in %{name} \
%{name}-codegen \
%{name}-examples/%{name}-example-cxf \
%{name}-examples/%{name}-example-jsf2 \
%{name}-examples/%{name}-example-spring \
%{name}-examples/%{name}-example-struts2; do
%pom_xpath_inject "pom:project/pom:dependencies/pom:dependency[pom:artifactId = 'hsqldb']" "1" ${p}
done
%pom_xpath_set "pom:project/pom:build/pom:plugins/pom:plugin[pom:artifactId = 'empire-db-maven-plugin']/pom:dependencies/pom:dependency[pom:artifactId = 'hsqldb']/pom:version" 1 %{name}-examples/%{name}-example-codegen
%endif
# Use only maven3 apis
%pom_remove_dep org.apache.maven:maven-project %{name}-maven-plugin
%pom_add_dep org.apache.maven:maven-core %{name}-maven-plugin
# Unavailable test deps
%pom_remove_dep org.xerial:sqlite-jdbc %{name}
rm -r %{name}/src/test/java/org/apache/empire/db/sqlite/DBDatabaseDriverSQLiteTest.java \
%{name}/src/test/java/org/apache/empire/db/IntegerTest.java
%build
%mvn_package ":%{name}-maven-plugin" maven-plugin
%mvn_package ":%{name}-example*" examples
%mvn_build
%install
%mvn_install
%files -f .mfiles
%dir %{_javadir}/%{name}
%doc CHANGELOG.txt LICENSE.txt NOTICE.txt README.txt
%files maven-plugin -f .mfiles-maven-plugin
%doc LICENSE.txt NOTICE.txt
%files examples -f .mfiles-examples
%doc LICENSE.txt NOTICE.txt empire-db-examples/tutorial.doc
%files javadoc -f .mfiles-javadoc
%doc LICENSE.txt NOTICE.txt
%files doc
%doc tutorial.pdf LICENSE.txt NOTICE.txt
%changelog
* Thu Oct 31 2013 gil cattaneo 2.4.2-1
- initial rpm