]> git.pld-linux.org Git - packages/tomcat.git/blame - tomcat.spec
- some old changes from my laptop, plz review and keep or remove
[packages/tomcat.git] / tomcat.spec
CommitLineData
4f9f35cf
ER
1# TODO
2# - packages for *.renametojar files (-cgi and -ssi in server/lib)
3#
eca62e60 4# Conditional build:
eca62e60
ER
5%bcond_without javadoc # skip building javadocs
6#
7Summary: Apache Servlet/JSP Engine, RI for Servlet 2.4/JSP 2.0 API
f045ab88 8Summary(pl.UTF-8): Silnik Servlet/JSP Apache będący wzorcową implementacją API Servlet 2.4/JSP 2.0
51bcbcd2 9Name: apache-tomcat
f9d6e42f 10Version: 5.5.27
1669e8ae 11Release: 0.2
802a649b 12License: Apache
623f0978 13Group: Development/Languages/Java
51bcbcd2 14Source0: http://www.apache.org/dist/tomcat/tomcat-5/v%{version}/src/%{name}-%{version}-src.tar.gz
f9d6e42f 15# Source0-md5: eb3f196013550b9b1684e4ff18593a8e
9ba83a1b 16Source1: %{name}.init
f93b3a59 17Source2: %{name}.sysconfig
3e2cdbf3 18Source10: %{name}-context-ROOT.xml
19Source11: %{name}-context-balancer.xml
20Source12: %{name}-context-jsp-examples.xml
21Source13: %{name}-context-tomcat-docs.xml
22Source14: %{name}-context-webdav.xml
51bcbcd2
ER
23Patch0: %{name}-skip-servletapi.patch
24Patch1: %{name}-nsis.patch
25Patch2: %{name}-native.patch
26Patch3: %{name}-skip-jdt.patch
d61c5134 27Patch4: %{name}-no-connectors.patch
f9d6e42f 28Patch5: %{name}-dbcp.patch
7cf40cc1 29# this patch is needed for struts >= 1.3
30Patch6: %{name}-struts.patch
aef723ef 31URL: http://tomcat.apache.org/
498e9275 32BuildRequires: ant >= 1.5.3
7ea1b4e7
ER
33BuildRequires: ant-trax
34BuildRequires: eclipse-jdt
6c0937ca 35BuildRequires: jaas
ac4a959f 36BuildRequires: jakarta-regexp >= 0:1.3
5d4d27d1 37BuildRequires: java-commons-beanutils >= 1.7
38BuildRequires: java-commons-collections >= 0:3.1
39BuildRequires: java-commons-collections-tomcat5 >= 0:3.1
40BuildRequires: java-commons-daemon >= 1.0
41BuildRequires: java-commons-dbcp >= 0:1.2.1
42BuildRequires: java-commons-dbcp-tomcat5 >= 0:1.2.1
43BuildRequires: java-commons-digester >= 0:1.7
44BuildRequires: java-commons-el >= 0:1.0
45BuildRequires: java-commons-fileupload >= 0:1.0
a567480f 46BuildRequires: java-commons-httpclient
5d4d27d1 47BuildRequires: java-commons-io >= 1.4
48BuildRequires: java-commons-launcher >= 0:0.9
49BuildRequires: java-commons-logging >= 0:1.0.4
50BuildRequires: java-commons-modeler >= 2.0
51BuildRequires: java-commons-pool >= 0:1.2
52BuildRequires: java-commons-pool-tomcat5 >= 0:1.2
b3ca1c9e 53BuildRequires: java-servletapi5 = %{version}
a567480f 54#BuildRequires: java-struts >= 0:1.2.7
55BuildRequires: java-struts >= 1.0.2
ac4a959f
ER
56BuildRequires: javamail >= 0:1.3.1
57BuildRequires: jaxp_parser_impl >= 0:2.7.1
58BuildRequires: jdbc-stdext >= 0:2.0
7ea1b4e7 59BuildRequires: jdk >= 1.5
a97a4eb2 60BuildRequires: jmx
ac4a959f 61BuildRequires: jndi >= 0:1.2.1
7ea1b4e7 62BuildRequires: jpackage-utils
ac4a959f
ER
63BuildRequires: jsse >= 0:1.0.3
64BuildRequires: jta >= 0:1.0.1
65BuildRequires: junit >= 0:3.8.1
7ea1b4e7 66BuildRequires: logging-log4j
7ea1b4e7
ER
67BuildRequires: puretls
68BuildRequires: rpmbuild(macros) >= 1.300
ac4a959f 69BuildRequires: xerces-j >= 0:2.7.1
f271c61b 70BuildRequires: xml-commons
ac4a959f 71#BuildRequires: xml-commons >= 1.3
8129909e
ER
72Requires(post,postun): /sbin/ldconfig
73Requires(post,preun): /sbin/chkconfig
74Requires(postun): /usr/sbin/groupdel
75Requires(postun): /usr/sbin/userdel
76Requires(pre): /bin/id
77Requires(pre): /usr/bin/getgid
78Requires(pre): /usr/sbin/groupadd
79Requires(pre): /usr/sbin/useradd
55a9c77b 80Requires: %{name}-jasper = %{version}-%{release}
8129909e 81Requires: jaas
7ea1b4e7 82#Requires: jaf >= 1.0.1
a0446376 83Requires: jakarta-regexp
5d4d27d1 84#Requires: java-commons-beanutils
85#Requires: java-commons-collections
86#Requires: java-commons-dbcp-tomcat5
87#Requires: java-commons-digester
88Requires: java-commons-el
89#Requires: java-commons-fileupload
90#Requires: java-commons-logging
fbf473d1 91Requires: java-servletapi5 = %{version}
8129909e
ER
92Requires: javamail >= 1.2
93Requires: jaxp_parser_impl
a0446376 94Requires: jdbc-stdext >= 2.0
a0446376 95Requires: jndi >= 1.2.1
8129909e 96Requires: jre >= 1.2
a0446376
JB
97Requires: jsse >= 1.0.2
98Requires: jta >= 1.0.1
eca62e60 99Requires: rc-scripts
f271c61b 100Requires: xml-commons
201f6baa 101Provides: group(tomcat)
a567480f 102Provides: java-servlet-container
201f6baa 103Provides: user(tomcat)
51bcbcd2 104Obsoletes: jakarta-tomcat
623f0978 105BuildArch: noarch
106BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
107
a97a4eb2 108%define _tomcatdir %{_datadir}/tomcat
623f0978 109%define _logdir %{_var}/log
a0446376 110%define _vardir %{_var}/lib/tomcat
a97a4eb2 111%define _sysconfdir /etc/tomcat
623f0978 112
113%description
eca62e60
ER
114Tomcat is the servlet container that is used in the official Reference
115Implementation for the Java Servlet and JavaServer Pages technologies.
116The Java Servlet and JavaServer Pages specifications are developed by
117Sun under the Java Community Process.
623f0978 118
eca62e60
ER
119Tomcat is developed in an open and participatory environment and
120released under the Apache Software License. Tomcat is intended to be a
121collaboration of the best-of-breed developers from around the world.
122We invite you to participate in this open development project.
123
f045ab88
JB
124%description -l pl.UTF-8
125Tomcat to kontener serwletowy używany przez oficjalną implementację
126wzorcową technologii Java Servlet i JavaServer Pages. Specyfikacje
51bcbcd2
ER
127Java Servlet i JavaServer Pages są rozwijane przez Suna zgodnie z Java
128Community Process.
623f0978 129
130%package doc
51bcbcd2 131Summary: The Apache Tomcat Servlet/JSP Container documentation
152e6062 132Summary(pl.UTF-8): Dokumentacja do Tomcata - kontenera Servlet/JSP
623f0978 133Group: Development/Languages/Java
51bcbcd2 134Obsoletes: jakarta-tomcat-doc
623f0978 135
136%description doc
e1f70dd8
JB
137The Tomcat Servlet/JSP Container documentation.
138
f045ab88 139%description doc -l pl.UTF-8
152e6062 140Dokumentacja do Tomcata - kontenera Servlet/JSP.
623f0978 141
d4ae229e 142%package jasper
55a9c77b 143Summary: JSP compiler
144Summary(pl.UTF-8): Kompilator JSP
d4ae229e 145Group: Libraries/Java
15b32f14 146Requires: jpackage-utils
d4ae229e
SP
147
148%description jasper
55a9c77b 149Jasper is Java ServerPages compiler used by Apache Tomcat servlet
150container.
151
152%description jasper -l pl.UTF-8
153Jasper jest kompilatorem Java ServerPages używanym przez kontener
154servletów Apache Tomcat.
d4ae229e 155
623f0978 156%prep
51bcbcd2 157%setup -q -n %{name}-%{version}-src
7bfc9a0d
ER
158%patch0 -p1
159%patch1 -p1
160%patch2 -p1
161%patch3 -p1
d61c5134 162%patch4 -p1
e40b89eb 163%patch5 -p1
7cf40cc1 164%patch6 -p1
7bfc9a0d 165
d61c5134 166# servletapi built from jakarta-servletapi5.spec
7bfc9a0d 167rm -rf servletapi
eca62e60
ER
168
169# Remove pre-built jars
170find -name '*.jar' | xargs rm -fv
623f0978 171
172%build
eca62e60
ER
173TOPDIR=$(pwd)
174
7bfc9a0d
ER
175%if 0
176# build jasper javadocs
177cd jasper
178CLASSPATH=$(build-classpath xml-commons-apis)
4f9f35cf 179# building jasper needs eclipse classes
eca62e60 180cat > build.properties <<EOF
4f9f35cf
ER
181ant.jar=$(find-jar ant)
182servlet-api.jar=$(find-jar servlet-api)
183jsp-api.jar=$(find-jar jsp-api)
eca62e60 184tools.jar=%{java_home}/lib/tools.jar
4f9f35cf
ER
185xercesImpl.jar=$(find-jar jaxp_parser_impl)
186xmlParserAPIs.jar=$(find-jar xml-commons-apis)
187commons-collections.jar=$(find-jar commons-collections)
188commons-logging.jar=$(find-jar commons-logging)
189commons-daemon.jar=$(find-jar commons-daemon)
190junit.jar=$(find-jar junit)
191commons-el.jar=$(find-jar commons-el)
eca62e60 192EOF
7bfc9a0d
ER
193#%ant dist
194
195%if %{with javadoc}
196%ant javadoc \
197 -Dcompile.source=1.4 \
198 -Dbuild.compiler=modern \
199
200%endif
201cd -
202%endif
eca62e60
ER
203
204# build tomcat 5.5
7bfc9a0d 205cat > build.properties <<EOF
a48f26fe 206commons-beanutils.jar=$(find-jar commons-beanutils-core)
4f9f35cf
ER
207commons-launcher.jar=$(find-jar commons-launcher)
208commons-daemon.jar=$(find-jar commons-daemon)
209commons-digester.jar=$(find-jar commons-digester)
210commons-el.jar=$(find-jar commons-el)
211commons-logging-api.jar=$(find-jar commons-logging-api)
212commons-logging.jar=$(find-jar commons-logging)
213commons-modeler.jar=$(find-jar commons-modeler)
214xercesImpl.jar=$(find-jar jaxp_parser_impl)
215xml-apis.jar=$(find-jar xml-commons-apis)
216jdt.jar=$(find-jar org.eclipse.jdt.core)
c2e39bad 217jasper-compiler-jdt.home=$TOPDIR/tomcat-deps
4f9f35cf
ER
218commons-httpclient.jar=$(find-jar commons-httpclient)
219commons-collections.jar=$(find-jar commons-collections)
220commons-fileupload.jar=$(find-jar commons-fileupload)
9e94226b 221commons-io.jar=$(find-jar commons-io)
4f9f35cf
ER
222jmx.jar=$(find-jar jmx)
223jmx-tools.jar=$(find-jar jmx)
224junit.jar=$(find-jar junit)
a48f26fe 225struts.jar=$(find-jar struts-core)
226struts-core.jar=$(find-jar struts-core)
227struts-taglib.jar=$(find-jar struts-taglib)
4f9f35cf
ER
228jcert.jar=$(find-jar jcert)
229jnet.jar=$(find-jar jnet)
230jsse.jar=$(find-jar jsse)
231jta.jar=$(find-jar jta)
232puretls.jar=$(find-jar puretls)
233servlet-api.jar=$(find-jar servlet-api)
7bfc9a0d 234servletapi.build.notrequired=true
4f9f35cf 235jsp-api.jar=$(find-jar jsp-api)
7bfc9a0d 236jspapi.build.notrequired=true
4f9f35cf 237log4j.jar=$(find-jar log4j)
a48f26fe 238tomcat-dbcp.jar=$(find-jar commons-dbcp-tomcat5)
d4ae229e 239struts.lib=%{_javadir}-struts
eca62e60
ER
240EOF
241
d61c5134
ER
242%ant \
243 -Dcompile.source=1.4
eca62e60 244
623f0978 245%install
246rm -rf $RPM_BUILD_ROOT
a97a4eb2
ER
247cd build/build
248TOMCATDIR=$RPM_BUILD_ROOT%{_tomcatdir}
249CATALINADIR=$RPM_BUILD_ROOT/var/lib/tomcat
623f0978 250
a97a4eb2
ER
251# we don't need dos scripts
252rm -f bin/*.bat
f271c61b 253
a97a4eb2 254randpw=$(echo $RANDOM$$ | md5sum | cut -c 1-15)
4f9f35cf 255%{__sed} -i -e "s:SHUTDOWN:${randpw}:" conf/{server,server-minimal}.xml
a97a4eb2
ER
256
257install -d $TOMCATDIR/bin \
258 $TOMCATDIR/common/{lib,classes,endorsed} \
259 $TOMCATDIR/server/{lib,classes} \
260 $TOMCATDIR/webapps \
a0446376 261 $RPM_BUILD_ROOT%{_logdir}/tomcat \
98133f85 262 $RPM_BUILD_ROOT%{_vardir}/webapps \
a0446376 263 $RPM_BUILD_ROOT%{_vardir}/work \
98133f85 264 $RPM_BUILD_ROOT%{_vardir}/conf \
125df118 265 $RPM_BUILD_ROOT/etc/sysconfig \
a0446376 266 $RPM_BUILD_ROOT/etc/rc.d/init.d
389e46b9 267
a97a4eb2 268install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
f93b3a59 269install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/tomcat
623f0978 270
98133f85 271cp -pR conf/* $CATALINADIR/conf
3e2cdbf3 272install %{SOURCE10} $CATALINADIR/conf/Catalina/localhost/ROOT.xml
273install %{SOURCE11} $CATALINADIR/conf/Catalina/localhost/balancer.xml
274install %{SOURCE12} $CATALINADIR/conf/Catalina/localhost/jsp-examples.xml
275install %{SOURCE13} $CATALINADIR/conf/Catalina/localhost/tomcat-docs.xml
276install %{SOURCE14} $CATALINADIR/conf/Catalina/localhost/webdav.xml
a97a4eb2 277cp -HR bin common server $TOMCATDIR
eca62e60 278
4f9f35cf
ER
279cp -rf server/webapps $TOMCATDIR/server
280cp -rf webapps $TOMCATDIR
281cp -rf shared $TOMCATDIR
80cbd8b8 282cp -rf temp $CATALINADIR
a97a4eb2 283
98133f85 284ln -sf %{_logdir}/tomcat $CATALINADIR/logs
4f9f35cf 285ln -sf %{_vardir}/work $TOMCATDIR/work
98133f85 286ln -sf %{_vardir}/conf $TOMCATDIR/conf
287ln -sf %{_vardir}/conf $RPM_BUILD_ROOT%{_sysconfdir}
a97a4eb2
ER
288
289# symlinks instead of copies
4f9f35cf
ER
290ln -sf $(find-jar commons-el) $TOMCATDIR/common/lib/commons-el.jar
291ln -sf $(find-jar jakarta-commons-dbcp-tomcat5) $TOMCATDIR/common/lib/jakarta-commons-dbcp-tomcat5.jar
292ln -sf $(find-jar servlet-api) $TOMCATDIR/common/lib/servlet-api.jar
6378940b 293ln -sf $(find-jar jsp-api) $TOMCATDIR/common/lib/jsp-api.jar
4f9f35cf
ER
294
295ln -sf $(find-jar commons-modeler) $TOMCATDIR/server/lib/commons-modeler.jar
296
6378940b
ER
297ln -sf $(find-jar jaxp_parser_impl) $TOMCATDIR/common/endorsed/jaxp_parser_impl.jar
298ln -sf $(find-jar xml-commons-apis) $TOMCATDIR/common/endorsed/xml-commons-apis.jar
299ln -sf $(find-jar struts) $TOMCATDIR/server/webapps/admin/WEB-INF/lib/struts.jar
300
4f9f35cf
ER
301%if 0
302# do not make these symlinks as ant didn't do
303ln -sf $(find-jar commons-daemon) $TOMCATDIR/bin/commons-daemon.jar
304ln -sf $(find-jar activation) $TOMCATDIR/common/lib/activation.jar
305ln -sf $(find-jar ant) $TOMCATDIR/common/lib/ant.jar
306ln -sf $(find-jar commons-collections) $TOMCATDIR/common/lib/commons-collections.jar
307ln -sf $(find-jar commons-dbcp) $TOMCATDIR/common/lib/commons-dbcp.jar
308ln -sf $(find-jar commons-logging-api) $TOMCATDIR/common/lib/commons-logging-api.jar
309ln -sf $(find-jar commons-pool) $TOMCATDIR/common/lib/commons-pool.jar
310ln -sf $(find-jar servlet) $TOMCATDIR/common/lib/servlet.jar
311ln -sf $(find-jar servlet) $TOMCATDIR/common/lib/servletapi4.jar
312ln -sf $(find-jar jdbc-stdext) $TOMCATDIR/common/lib/jdbc-stdext.jar
313ln -sf jdbc-stdext.jar $TOMCATDIR/common/lib/jdbc2_0-stdext.jar
314ln -sf jdbc-stdext.jar $TOMCATDIR/common/lib/jdbc-stdext-2.0.jar
315ln -sf $(find-jar jmxri) $TOMCATDIR/common/lib/jmxri.jar
316ln -sf $(find-jar jndi) $TOMCATDIR/common/lib/jndi.jar
317ln -sf $(find-jar jta) $TOMCATDIR/common/lib/jta.jar
318ln -sf $(find-jar mail) $TOMCATDIR/common/lib/mail.jar
319ln -sf $(find-jar jsse) $TOMCATDIR/common/lib/jsse.jar
320ln -sf $(find-jar junit) $TOMCATDIR/common/lib/junit.jar
321ln -sf $(find-jar mailapi) $TOMCATDIR/common/lib/mailapi.jar
322ln -sf $(find-jar pop3) $TOMCATDIR/common/lib/pop3.jar
323ln -sf pop3.jar $TOMCATDIR/common/lib/pop.jar
324ln -sf $(find-jar smtp) $TOMCATDIR/common/lib/smtp.jar
325ln -sf $(find-jar imap) $TOMCATDIR/common/lib/imap.jar
326ln -sf $(find-jar commons-beanutils) $TOMCATDIR/server/lib/commons-beanutils.jar
327ln -sf $(find-jar commons-digester) $TOMCATDIR/server/lib/commons-digester.jar
328ln -sf $(find-jar commons-fileupload) $TOMCATDIR/server/lib/commons-fileupload.jar
329ln -sf $(find-jar commons-logging) $TOMCATDIR/server/lib/commons-logging.jar
330ln -sf $(find-jar jaas) $TOMCATDIR/server/lib/jaas.jar
4f9f35cf
ER
331ln -sf $(find-jar regexp) $TOMCATDIR/server/lib/regexp.jar
332ln -sf $(find-jar regexp) $TOMCATDIR/server/lib/jakarta-regexp-1.2.jar
333ln -sf $(find-jar regexp) $TOMCATDIR/server/lib/regexp-1.2.jar
334%endif
335
336ln -sf $(find-jar jaxp_parser_impl) $TOMCATDIR/common/endorsed/jaxp_parser_impl.jar
337ln -sf $(find-jar xml-commons-apis) $TOMCATDIR/common/endorsed/xml-commons-apis.jar
a48f26fe 338ln -sf $(find-jar struts-core) $TOMCATDIR/server/webapps/admin/WEB-INF/lib/struts-core.jar
a0446376 339
d4ae229e
SP
340install -d $RPM_BUILD_ROOT%{_javadir}
341mv $TOMCATDIR/common/lib/jasper* $RPM_BUILD_ROOT%{_javadir}
342ln -sf %{_javadir}/jasper-compiler-jdt.jar $TOMCATDIR/common/lib/
343ln -sf %{_javadir}/jasper-compiler.jar $TOMCATDIR/common/lib/
75e1b618 344ln -sf %{_javadir}/jasper-runtime.jar $TOMCATDIR/common/lib/
d4ae229e 345
623f0978 346%clean
347rm -rf $RPM_BUILD_ROOT
348
2b56d949 349%pre
bc75997d 350%groupadd -g 234 -r -f tomcat
351%useradd -u 234 -r -d /var/lib/tomcat -s /bin/false -c "Tomcat User" -g tomcat tomcat
2b56d949 352
353%post
354/sbin/chkconfig --add tomcat
6c0937ca 355%service tomcat restart
2b56d949 356
357%preun
358if [ "$1" = "0" ]; then
6c0937ca 359 %service tomcat stop
2b56d949 360 /sbin/chkconfig --del tomcat
361fi
362
363%postun
364if [ "$1" = "0" ]; then
201f6baa 365 %userremove tomcat
366 %groupremove tomcat
2b56d949 367fi
368
623f0978 369%files
370%defattr(644,root,root,755)
a97a4eb2 371%doc build/{RELEASE-NOTES,RUNNING.txt}
a97a4eb2 372%attr(754,root,root) /etc/rc.d/init.d/tomcat
ab574f59 373%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/tomcat
98133f85 374%{_sysconfdir}
a0446376 375%dir %{_tomcatdir}
98133f85 376%dir %{_tomcatdir}/conf
a0446376 377%dir %{_tomcatdir}/bin
a97a4eb2
ER
378%{_tomcatdir}/bin/catalina-tasks.xml
379%{_tomcatdir}/bin/jkstatus-tasks.xml
380%{_tomcatdir}/bin/jmxaccessor-tasks.xml
389e46b9 381%attr(755,root,root) %{_tomcatdir}/bin/*.sh
389e46b9 382%{_tomcatdir}/bin/*.jar
a0446376
JB
383%dir %{_tomcatdir}/common
384%dir %{_tomcatdir}/common/classes
2b56d949 385%dir %{_tomcatdir}/common/endorsed
a97a4eb2 386%dir %{_tomcatdir}/common/i18n
f271c61b 387%{_tomcatdir}/common/endorsed/*.jar
a97a4eb2
ER
388%{_tomcatdir}/common/i18n/tomcat-i18n-en.jar
389%lang(es) %{_tomcatdir}/common/i18n/tomcat-i18n-es.jar
390%lang(fr) %{_tomcatdir}/common/i18n/tomcat-i18n-fr.jar
391%lang(ja) %{_tomcatdir}/common/i18n/tomcat-i18n-ja.jar
623f0978 392%{_tomcatdir}/common/lib
a0446376
JB
393%dir %{_tomcatdir}/server
394%dir %{_tomcatdir}/server/classes
623f0978 395%{_tomcatdir}/server/lib
2b56d949 396%{_tomcatdir}/server/webapps
a0446376
JB
397%{_tomcatdir}/webapps
398%{_tomcatdir}/work
2b56d949 399%{_tomcatdir}/shared
a0446376 400%dir %{_vardir}
98133f85 401# tomcat config has to be writeable because of tomacta-users.xml file and
402# Catalina dir
201f6baa 403%config(noreplace) %attr(775,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf
404%dir %attr(1730,root,tomcat) %{_vardir}/work
405%dir %attr(775,root,tomcat) %{_vardir}/webapps
406%dir %attr(775,root,tomcat) %{_vardir}/temp
407%dir %attr(775,root,tomcat) %{_logdir}/tomcat
9e1e98ce 408%{_vardir}/logs
623f0978 409
a97a4eb2 410%if 0
623f0978 411%files doc
ff740076 412%defattr(644,root,root,755)
623f0978 413%doc catalina/docs/*
a97a4eb2 414%endif
d4ae229e
SP
415
416%files jasper
7e500426 417%defattr(644,root,root,755)
d4ae229e
SP
418%{_javadir}/jasper-compiler-jdt.jar
419%{_javadir}/jasper-compiler.jar
420%{_javadir}/jasper-runtime.jar
This page took 0.162668 seconds and 4 git commands to generate.