Name: awaitility
Version: 1.3.4
Release: 1%{?dist}
Summary: A small Java DSL for synchronizing asynchronous operations
Group: Development/Libraries
License: ASL 2.0
URL: http://code.google.com/p/awaitility/
# git clone git://github.com/jayway/awaitility.git awaitility-1.3.4
# (cd awaitility-1.3.4/ && git archive --format=tar --prefix=awaitility-1.3.4/ awaitility-1.3.4 | xz > ../awaitility-1.3.4-src-git.tar.xz)
Source0: %{name}-%{version}-src-git.tar.xz
# force hamcrest12 use
Source1: %{name}-%{version}-depmap
BuildRequires: java-devel
BuildRequires: jpackage-utils
BuildRequires: cglib
BuildRequires: groovy
BuildRequires: hamcrest12
BuildRequires: objenesis
# test dep
BuildRequires: junit
BuildRequires: gmaven
BuildRequires: maven
BuildRequires: maven-compiler-plugin
BuildRequires: maven-install-plugin
BuildRequires: maven-jar-plugin
BuildRequires: maven-javadoc-plugin
BuildRequires: maven-resources-plugin
BuildRequires: maven-surefire-plugin
BuildRequires: maven-surefire-provider-junit4
Requires: cglib
Requires: hamcrest12
Requires: objenesis
Requires: java
Requires: jpackage-utils
BuildArch: noarch
%description
Awaitility is a small Java-based DSL for synchronizing asynchronous operations.
It makes it easy to test asynchronous code.
%package groovy
Group: Development/Libraries
Summary: Awaitility support for Groovy
Requires: %{name} = %{version}-%{release}
Requires: groovy
%description groovy
Simplifies Awaitility usage from Groovy.
%package javadoc
Group: Documentation
Summary: Javadoc for %{name}
Requires: jpackage-utils
%description javadoc
This package contains javadoc for %{name}.
%prep
%setup -q -n %{name}-%{version}
# unvailable build tool org.scala-tools maven-scala-plugin
%pom_disable_module awaitility-scala
# don't exist ... ?
sed -i "s|1.2.1|1.2|" awaitility/pom.xml
sed -i "s|cglib-nodep|cglib|" awaitility/pom.xml
sed -i "s|groovy-all|groovy|" awaitility-groovy/pom.xml
sed -i "s|1.71.8gmaven-runtime-1.7|gmaven-runtime-1.8|" awaitility-groovy/pom.xml
# error: no suitable method found for expectMessage(Matcher) in org.junit.rules.ExpectedException
rm -r awaitility/src/test/java/com/jayway/awaitility/AwaitilityTest.java
# fix spurious executable perms
chmod 644 LICENSE README
%build
mvn-rpmbuild -Dmaven.local.depmap.file="%{SOURCE1}" install javadoc:aggregate
%install
mkdir -p %{buildroot}%{_mavenpomdir}
install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{name}-parent.pom
%add_maven_depmap JPP-%{name}-parent.pom
mkdir -p %{buildroot}%{_javadir}
install -m 644 %{name}/target/%{name}-%{version}.jar %{buildroot}%{_javadir}/%{name}.jar
install -pm 644 %{name}/pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom
%add_maven_depmap JPP-%{name}.pom %{name}.jar
# TODO scala
for m in groovy;do
install -m 644 %{name}-${m}/target/%{name}-${m}-%{version}.jar %{buildroot}%{_javadir}/%{name}-${m}.jar
install -pm 644 %{name}-${m}/pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{name}-${m}.pom
%add_maven_depmap JPP-%{name}-${m}.pom %{name}-${m}.jar -f ${m}
done
mkdir -p %{buildroot}%{_javadocdir}/%{name}
cp -rp target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}
%files
%{_javadir}/%{name}.jar
%{_mavenpomdir}/JPP-%{name}.pom
%{_mavenpomdir}/JPP-%{name}-parent.pom
%{_mavendepmapfragdir}/%{name}
%doc LICENSE README changelog.txt
%files groovy
%{_javadir}/%{name}-groovy.jar
%{_mavenpomdir}/JPP-%{name}-groovy.pom
%{_mavendepmapfragdir}/%{name}-groovy
%doc LICENSE README
%files javadoc
%{_javadocdir}/%{name}
%doc LICENSE
%changelog
* Sun Sep 09 2012 gil cattaneo 1.3.4-1
- initial rpm