]> git.pld-linux.org Git - SPECS.git/blob - java-hamcrest.spec
SPECS updated Wed 28 Jul 14:48:01 CEST 2021
[SPECS.git] / java-hamcrest.spec
1 # TODO:
2 # - use more system packages? (jarjar, lib/integration/*)
3 # - build javadoc (now it fails)
4 # - does not build with gcj.
5 #
6 # Conditional build:
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)
11
12 %if %{with bootstrap}
13 %define         with_binary     1
14 %undefine       with_tests
15 %undefine       with_javadoc
16 %endif
17
18 %define         rel     2
19 %define         srcname hamcrest
20 Summary:        Hamcrest - a library of matchers
21 Summary(pl.UTF-8):      Hamcrest - biblioteka klas dopasowujących
22 Name:           java-hamcrest
23 Version:        1.2
24 Release:        %{bootstrap_release %rel}
25 License:        BSD
26 Group:          Libraries/Java
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/
32 %if %{without binary}
33 BuildRequires:  ant >= 1.6
34 %{?with_tests:BuildRequires:    ant-junit >= 1.6}
35 %{?with_tests:BuildRequires:    java-junit}
36 BuildRequires:  java-qdox
37 BuildRequires:  jdk
38 %endif
39 BuildRequires:  jpackage-utils
40 BuildRequires:  rpm-javaprov
41 BuildRequires:  rpmbuild(macros) >= 1.557
42 Requires:       java-qdox
43 Requires:       jpackage-utils
44 Obsoletes:      hamcrest
45 BuildArch:      noarch
46 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
47
48 %description
49 Hamcrest is a library of matchers, which can be combined in to create
50 flexible expressions of intent in tests.
51
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.
55
56 %package javadoc
57 Summary:        Javadoc manual for hamcrest
58 Summary(pl.UTF-8):      Dokumentacja javadoc do hamcresta
59 Group:          Documentation
60 Requires:       jpackage-utils
61 Obsoletes:      hamcrest-javadoc
62
63 %description javadoc
64 Javadoc manual for hamcrest.
65
66 %description javadoc -l pl.UTF-8
67 Dokumentacja javadoc do hamcresta.
68
69 %package source
70 Summary:        Source code of hamcrest
71 Summary(pl.UTF-8):      Kod źródłowy biblioteki hamcrest
72 Group:          Documentation
73 Requires:       jpackage-utils >= 1.7.5-2
74
75 %description source
76 Source code of hamcrest.
77
78 %description source -l pl.UTF-8
79 Kod źródłowy biblioteki hamcrest.
80
81 %prep
82 %setup -q -n %{srcname}-%{version}
83 %patch0 -p0
84 %patch1 -p0
85
86 %{__rm} lib/integration/junit-*.jar
87 %{__rm} lib/generator/qdox-*.jar
88
89 %if %{without binary}
90 %{__rm} *.jar
91 %endif
92
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
96
97 %build
98 export JAVA_HOME="%{java_home}"
99
100 %if %{with binary}
101 install -d build
102 cp -af *.jar build
103 %else
104 qdox_jar=$(find-jar qdox)
105 CLASSPATH=$qdox_jar
106 cat <<EOF > build.properties
107 qdox.jar=$qdox_jar
108 EOF
109
110 %ant core generator library integration \
111         -Dqdox.jar=$qdox_jar \
112         -Dversion=%{version}
113 %endif
114
115 %if %{with javadoc}
116 # doesn't build
117 %ant javadoc \
118         -Dqdox.jar=$qdox_jar \
119         -Dversion=%{version}
120 %endif
121
122 %if %{with tests}
123 %ant unit-test \
124         -Dqdox.jar=$qdox_jar \
125         -Dversion=%{version}
126 %endif
127
128 # source
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 .
133 done
134
135 %install
136 rm -rf $RPM_BUILD_ROOT
137 install -d $RPM_BUILD_ROOT%{_javadir}
138
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
142 done
143
144 %if %{with javadoc}
145 # javadoc
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
149 %endif
150
151 #source
152 install -d $RPM_BUILD_ROOT%{_javasrcdir}
153 cp -a %{srcname}.src.jar $RPM_BUILD_ROOT%{_javasrcdir}/%{srcname}.src.jar
154
155 %clean
156 rm -rf $RPM_BUILD_ROOT
157
158 %post javadoc
159 ln -nfs %{srcname}-%{version} %{_javadocdir}/%{srcname}
160
161 %files
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
172
173 %if %{with javadoc}
174 %files javadoc
175 %defattr(644,root,root,755)
176 %{_javadocdir}/%{srcname}-%{version}
177 %ghost %{_javadocdir}/%{srcname}
178 %endif
179
180 %files source
181 %defattr(644,root,root,755)
182 %{_javasrcdir}/%{srcname}.src.jar
This page took 0.106259 seconds and 3 git commands to generate.