%global with_tests 0
Name: concurrentlinkedhashmap-lru
Version: 1.3.1
Release: 1%{?dist}
Summary: A ConcurrentLinkedHashMap for Java
Group: Development/Libraries
License: ASL 2.0
Url: http://code.google.com/p/concurrentlinkedhashmap/
# svn export http://concurrentlinkedhashmap.googlecode.com/svn/tags/concurrentlinkedhashmap-lru-1.3.1
# find concurrentlinkedhashmap-lru-1.3.1 -name "*.class" -delete
# find concurrentlinkedhashmap-lru-1.3.1 -name "*.jar" -type f -delete
# tar czf concurrentlinkedhashmap-lru-1.3.1-src-svn.tar.gz concurrentlinkedhashmap-lru-1.3.1
Source0: %{name}-%{version}-src-svn.tar.gz
# concurrentlinkedhashmap-lru package don't include the license file
Source1: http://www.apache.org/licenses/LICENSE-2.0.txt
Patch0: %{name}-%{version}-remove-jvnet-wagon-svn-extension.patch
Patch1: %{name}-%{version}-split-Werror.patch
BuildRequires: java-devel
BuildRequires: jpackage-utils
BuildRequires: sonatype-oss-parent
%if %with_tests
# test deps
BuildRequires: apache-commons-lang
BuildRequires: awaitility
BuildRequires: caliper
BuildRequires: ehcache-core
BuildRequires: ehcache-parent
BuildRequires: guava
BuildRequires: high-scale-lib
BuildRequires: mockito
BuildRequires: testng
# TODO unavailable test deps
# org.hamcrest hamcrest-library 1.3.RC2
# org.cachebench cache-benchmark r7903
# lib/cache-benchmark/benchmark-fwk.jar
%endif
BuildRequires: animal-sniffer
BuildRequires: maven
BuildRequires: maven-compiler-plugin
BuildRequires: maven-enforcer-plugin
BuildRequires: maven-install-plugin
BuildRequires: maven-jar-plugin
BuildRequires: maven-javadoc-plugin
BuildRequires: maven-plugin-bundle
BuildRequires: maven-resources-plugin
BuildRequires: maven-site-plugin
BuildRequires: maven-source-plugin
BuildRequires: maven-surefire-plugin
# BuildRequires: maven-surefire-provider-junit4
# BuildRequires: maven-surefire-provider-testng
BuildRequires: mojo-signatures
Requires: java
Requires: jpackage-utils
BuildArch: noarch
%description
A high performance version of java.util.LinkedHashMap for use as a software cache.
Features:
* LRU page replacement policy (currently being upgraded to LIRS).
* Equivalent performance to ConcurrentHashMap under load.
* Can bound by the size of the values (e.g. Multimap cache).
* Can notify a listener when an entry is evicted.
%package javadoc
Group: Documentation
Summary: Javadoc for %{name}
Requires: jpackage-utils
%description javadoc
This package contains javadoc for %{name}.
%prep
%setup -q
%patch0 -p0
%pom_remove_plugin org.codehaus.mojo:findbugs-maven-plugin
%pom_remove_plugin org.codehaus.mojo:taglist-maven-plugin
%pom_remove_plugin org.codehaus.mojo:emma-maven-plugin
sed -i "s|com.google.caliper|com.google.code.caliper|" pom.xml
# http://jira.codehaus.org/browse/MCOMPILER-130
%patch1 -p0
# fix mojo-signatures aId
sed -i "s|jdk.version}-sun|jdk.version}|" pom.xml
cp -p %{SOURCE1} .
sed -i 's/\r//' LICENSE-2.0.txt
%build
# test skipped for unavailable test deps
mvn-rpmbuild -Dmaven.test.skip=true install javadoc:aggregate
%install
mkdir -p %{buildroot}%{_javadir}
install -m 644 target/%{name}-%{version}.jar %{buildroot}%{_javadir}/%{name}.jar
mkdir -p %{buildroot}%{_mavenpomdir}
install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom
%add_maven_depmap JPP-%{name}.pom %{name}.jar
mkdir -p %{buildroot}%{_javadocdir}/%{name}
cp -pr target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}
%files
%{_javadir}/%{name}.jar
%{_mavenpomdir}/JPP-%{name}.pom
%{_mavendepmapfragdir}/%{name}
%doc LICENSE-2.0.txt README
%files javadoc
%{_javadocdir}/%{name}
%doc LICENSE-2.0.txt
%changelog
* Wed Sep 26 2012 gil cattaneo 1.3.1-1
- initial rpm