2 # - use more system packages? (jarjar, lib/integration/*)
3 # - build javadoc (now it fails)
4 # - does not build with gcj.
7 %bcond_without javadoc # build javadoc
8 %bcond_with tests # build and run tests (tests are broken)
9 %bcond_with binary # do not compile .jars from source use bundled ones
10 %bcond_with bootstrap # break BR loop (java-junit, java-qdox)
15 %undefine with_javadoc
19 %define srcname hamcrest
20 Summary: Hamcrest - a library of matchers
21 Summary(pl.UTF-8): Hamcrest - biblioteka klas dopasowujących
24 Release: %{bootstrap_release %rel}
27 Source0: http://hamcrest.googlecode.com/files/%{srcname}-%{version}.tgz
28 # Source0-md5: b4bd43f44d082d77daf7ec564d304cdf
29 Patch0: %{srcname}-nosrc.patch
30 Patch1: javadoc-build.patch
31 URL: http://code.google.com/p/hamcrest/
33 BuildRequires: ant >= 1.6
34 %{?with_tests:BuildRequires: ant-junit >= 1.6}
35 %{?with_tests:BuildRequires: java-junit}
36 BuildRequires: java-qdox
39 BuildRequires: jpackage-utils
40 BuildRequires: rpm-javaprov
41 BuildRequires: rpmbuild(macros) >= 1.557
43 Requires: jpackage-utils
46 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
49 Hamcrest is a library of matchers, which can be combined in to create
50 flexible expressions of intent in tests.
52 %description -l pl.UTF-8
53 Hamcrest to biblioteka klas dopasowujących, które można łączyć w celu
54 utworzenia elastycznych wyrażeń do wykorzystania w testach.
57 Summary: Javadoc manual for hamcrest
58 Summary(pl.UTF-8): Dokumentacja javadoc do hamcresta
60 Requires: jpackage-utils
61 Obsoletes: hamcrest-javadoc
64 Javadoc manual for hamcrest.
66 %description javadoc -l pl.UTF-8
67 Dokumentacja javadoc do hamcresta.
70 Summary: Source code of hamcrest
71 Summary(pl.UTF-8): Kod źródłowy biblioteki hamcrest
73 Requires: jpackage-utils >= 1.7.5-2
76 Source code of hamcrest.
78 %description source -l pl.UTF-8
79 Kod źródłowy biblioteki hamcrest.
82 %setup -q -n %{srcname}-%{version}
86 %{__rm} lib/integration/junit-*.jar
87 %{__rm} lib/generator/qdox-*.jar
93 # TODO: add new property (with this default value) do be override with -D
94 # TODO: add build.properties support to build.xml
95 %{__sed} -i -e 's,lib/generator/qdox-1.6.1.jar,${qdox.jar},g' build.xml
98 export JAVA_HOME="%{java_home}"
104 qdox_jar=$(find-jar qdox)
106 cat <<EOF > build.properties
110 %ant core generator library integration \
111 -Dqdox.jar=$qdox_jar \
118 -Dqdox.jar=$qdox_jar \
124 -Dqdox.jar=$qdox_jar \
129 %jar cf %{srcname}.src.jar -C build/temp/hamcrest-library/generated-code .
130 %jar uf %{srcname}.src.jar -C build/temp/hamcrest-core/generated-code .
131 for I in examples integration library generator core; do
132 %jar uf %{srcname}.src.jar -C hamcrest-$I/src/main/java .
136 rm -rf $RPM_BUILD_ROOT
137 install -d $RPM_BUILD_ROOT%{_javadir}
139 for f in core generator integration library; do
140 cp -a build/hamcrest-$f-%{version}.jar $RPM_BUILD_ROOT%{_javadir}
141 ln -sf hamcrest-$f-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/hamcrest-$f.jar
146 install -d $RPM_BUILD_ROOT%{_javadocdir}/%{srcname}-%{version}
147 cp -a build/javadoc/* $RPM_BUILD_ROOT%{_javadocdir}/%{srcname}-%{version}
148 ln -s %{srcname}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{srcname} # ghost symlink
152 install -d $RPM_BUILD_ROOT%{_javasrcdir}
153 cp -a %{srcname}.src.jar $RPM_BUILD_ROOT%{_javasrcdir}/%{srcname}.src.jar
156 rm -rf $RPM_BUILD_ROOT
159 ln -nfs %{srcname}-%{version} %{_javadocdir}/%{srcname}
162 %defattr(644,root,root,755)
163 %doc CHANGES.txt LICENSE.txt README.txt
164 %{_javadir}/hamcrest-core-%{version}.jar
165 %{_javadir}/hamcrest-core.jar
166 %{_javadir}/hamcrest-generator-%{version}.jar
167 %{_javadir}/hamcrest-generator.jar
168 %{_javadir}/hamcrest-integration-%{version}.jar
169 %{_javadir}/hamcrest-integration.jar
170 %{_javadir}/hamcrest-library-%{version}.jar
171 %{_javadir}/hamcrest-library.jar
175 %defattr(644,root,root,755)
176 %{_javadocdir}/%{srcname}-%{version}
177 %ghost %{_javadocdir}/%{srcname}
181 %defattr(644,root,root,755)
182 %{_javasrcdir}/%{srcname}.src.jar