%global namedreltag -SNAPSHOT
%global namedversion %{version}%{?namedreltag}
Name: caliper
Version: 1.0
Release: 0.1.20120909SNAPSHOT%{?dist}
Summary: Microbenchmarking Framework for Java
Group: Development/Libraries
License: ASL 2.0
URL: http://code.google.com/p/caliper/
# svn export http://caliper.googlecode.com/svn/trunk caliper-1.0-SNAPSHOT
# rm -rf caliper-1.0-SNAPSHOT/.idea
# find caliper-1.0-SNAPSHOT/ -name '*.jar' -delete
# find caliper-1.0-SNAPSHOT/ -name '*.class' -delete
# find caliper-1.0-SNAPSHOT/ -name '*.zip' -delete
# tar czf caliper-1.0-SNAPSHOT-20120909-src-svn.tar.gz caliper-1.0-SNAPSHOT
Source0: %{name}-%{namedversion}-20120909-src-svn.tar.gz
Source1: %{name}-%{namedversion}-aggregator.pom
BuildRequires: java-devel
BuildRequires: jpackage-utils
BuildRequires: sonatype-oss-parent
BuildRequires: google-gson
BuildRequires: guava
BuildRequires: jarjar
BuildRequires: java-allocation-instrumenter
BuildRequires: jsr-305
BuildRequires: junit
BuildRequires: maven
BuildRequires: maven-compiler-plugin
BuildRequires: maven-enforcer-plugin
BuildRequires: maven-install-plugin
BuildRequires: maven-jar-plugin
BuildRequires: maven-javadoc-plugin
BuildRequires: maven-resources-plugin
BuildRequires: maven-source-plugin
BuildRequires: maven-surefire-plugin
BuildRequires: maven-surefire-provider-junit4
Requires: google-gson
Requires: guava
Requires: jarjar
Requires: java-allocation-instrumenter
Requires: jsr-305
Requires: junit
Requires: java
Requires: jpackage-utils
BuildArch: noarch
%description
Caliper is Google's open-source framework for writing,
running and viewing the results of JavaMicrobenchmarks.
%package javadoc
Group: Documentation
Summary: Javadoc for %{name}
Requires: jpackage-utils
%description javadoc
This package contains javadoc for %{name}.
%package examples
Group: Development/Libraries
Summary: Caliper Examples
Requires: %{name} = %{version}-%{release}
%description examples
Caliper Examples.
%prep
%setup -q -n %{name}-%{namedversion}
cp -p %{SOURCE1} pom.xml
%pom_xpath_inject "pom:project/pom:dependencies" '
org.jsr-305
ri
0.1-SNAPSHOT
true
' caliper
%pom_xpath_inject pom:project/pom:properties '
UTF-8' caliper
# deprecated method in com.google.common.io.Files
sed -i "s|Files.deleteRecursively(tempDir);|tempDir.delete();|" \
caliper/src/test/java/com/google/caliper/runner/ParsedOptionsTest.java
# fix non ASCII chars
for s in caliper/src/main/java/com/google/caliper/Benchmark.java\
caliper/src/main/java/com/google/caliper/util/ShortDuration.java\
examples/src/main/java/examples/BitSetBenchmark.java;do
native2ascii -encoding UTF8 ${s} ${s}
done
# this test at random fail
# Tests in error:
# testOptimizedAwayBenchmarkDoesNotTakeTooLongToRun(com.google.caliper.WarmupOverflowTest): java.util.concurrent.TimeoutException
rm -r caliper/src/test/java/com/google/caliper/WarmupOverflowTest.java
%build
mvn-rpmbuild -Dproject.build.sourceEncoding=UTF-8 install javadoc:aggregate
%install
mkdir -p %{buildroot}%{_javadir}
install -m 644 %{name}/target/%{name}-%{namedversion}.jar %{buildroot}%{_javadir}/%{name}.jar
install -m 644 examples/target/%{name}-examples-%{namedversion}.jar %{buildroot}%{_javadir}/%{name}-examples.jar
mkdir -p %{buildroot}%{_mavenpomdir}
install -pm 644 %{name}/pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom
%add_maven_depmap JPP-%{name}.pom %{name}.jar
install -pm 644 examples/pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{name}-examples.pom
%add_maven_depmap JPP-%{name}-examples.pom %{name}-examples.jar -f examples
mkdir -p %{buildroot}%{_javadocdir}/%{name}
cp -pr target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}
%jpackage_script com.google.caliper.Runner %{nil} %{nil} allocation:google-gson:guava:jarjar:jsr-305:junit:%{name} %{name}
%files
%{_bindir}/%{name}
%{_javadir}/%{name}.jar
%{_mavenpomdir}/JPP-%{name}.pom
%{_mavendepmapfragdir}/%{name}
%doc COPYING README
%files examples
%{_javadir}/%{name}-examples.jar
%{_mavenpomdir}/JPP-%{name}-examples.pom
%{_mavendepmapfragdir}/%{name}-examples
%doc COPYING
%files javadoc
%{_javadocdir}/%{name}
%doc COPYING
%changelog
* Sun Sep 09 2012 gil cattaneo 1.0-0.1.20120909SNAPSHOT
- initial rpm