source: apps/susidns/src/build.xml @ 933ad52

Last change on this file since 933ad52 was 933ad52, checked in by zzz <zzz@…>, 7 years ago
  • Console: Add missing jetty jars to classpath (ticket #952) (tested with classpath from 0.7.4 wrapper.config)
  • JettyStart?: ditto
  • Remove references to now-unused jars in build.xml files
  • Property mode set to 100644
File size: 7.2 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<project name="susidns" default="all" basedir=".">
3        <property name="jetty" value="../../jetty/" />
4        <property name="project" value="susidns" />
5        <property name="src" value="java/src" />
6        <property name="bin" value="./WEB-INF/classes" />
7        <property name="lib" value="${jetty}/jettylib" />
8        <property name="tmp" value="./tmp" />
9        <property name="jsp" value="./jsp" />
10        <path id="cp">
11                <pathelement path="${classpath}" />
12                <pathelement location="${bin}" />
13                <pathelement location="${lib}/javax.servlet.jar"/>
14                <pathelement location="${lib}/org.mortbay.jetty.jar"/>
15        <pathelement location="WEB-INF/lib/jstl.jar" />
16        <pathelement location="WEB-INF/lib/standard.jar" />
17        <pathelement location="${lib}/jasper-runtime.jar" />
18        <pathelement location="${lib}/javax.servlet.jar" />
19        <pathelement location="${lib}/commons-logging.jar" />
20        <pathelement location="${lib}/commons-el.jar" />
21        <pathelement location="${ant.home}/lib/ant.jar" />
22        <pathelement location="../../../core/java/build/i2p.jar" />
23        </path>
24        <property name="javac.compilerargs" value="" />
25    <condition property="no.bundle">
26        <isfalse value="${require.gettext}" />
27    </condition>
28        <property name="require.gettext" value="true" />
29
30        <target name="compile">
31                <mkdir dir="${bin}" />
32                <javac debug="true" deprecation="on" source="1.5" target="1.5"
33                        includeAntRuntime="false"
34                        classpathref="cp" destdir="${bin}" srcdir="${src}" includes="**/*.java" >
35                        <compilerarg line="${javac.compilerargs}" />
36                </javac>
37        </target>
38
39    <target name="precompilejsp" unless="precompilejsp.uptodate">
40        <delete file="WEB-INF/web-fragment.xml" />
41        <delete file="WEB-INF/web-out.xml" />
42        <mkdir dir="${tmp}" />
43        <echo message="Ignore any warning about /WEB-INF/web.xml not found" />
44        <java classname="org.apache.jasper.JspC" fork="true" classpathref="cp" failonerror="true">
45            <arg value="-d" />
46            <arg value="${tmp}" />
47            <arg value="-v" />
48            <arg value="-p" />
49            <arg value="i2p.susi.dns.jsp" />
50            <arg value="-webinc" />
51            <arg value="WEB-INF/web-fragment.xml" />
52            <arg value="-webapp" />
53            <arg value="./jsp" />
54        </java>
55        <javac debug="true" deprecation="on" source="1.5" target="1.5" 
56               includeAntRuntime="false"
57               destdir="${bin}" srcdir="${tmp}" includes="**/*.java" classpathref="cp">
58                <compilerarg line="${javac.compilerargs}" />
59         </javac>
60        <copy file="WEB-INF/web-template.xml" tofile="WEB-INF/web-out.xml" />
61        <loadfile property="jspc.web.fragment" srcfile="WEB-INF/web-fragment.xml" />
62        <replace file="WEB-INF//web-out.xml">
63            <replacefilter token="&lt;!-- precompiled servlets --&gt;" value="${jspc.web.fragment}" />
64        </replace>
65    </target>
66
67    <uptodate property="precompilejsp.uptodate" targetfile="WEB-INF/web-out.xml">
68        <srcfiles dir= "." includes="jsp/*.jsp, WEB-INF/web-template.xml"/>
69    </uptodate>
70
71    <target name="all" depends="war"/> 
72
73    <target name="listChangedFiles" depends="warUpToDate" if="shouldListChanges" >
74        <exec executable="mtn" outputproperty="workspace.changes" errorproperty="mtn.error2" failifexecutionfails="false" >
75            <arg value="list" />
76            <arg value="changed" />
77            <arg value="." />
78        </exec>
79        <!-- \n in an attribute value generates an invalid manifest -->
80        <exec executable="tr" inputstring="${workspace.changes}" outputproperty="workspace.changes.tr" errorproperty="mtn.error2" failifexecutionfails="false" >
81            <arg value="-s" />
82            <arg value="[:space:]" />
83            <arg value="," />
84        </exec>
85    </target>
86
87    <target name="war" depends="compile, precompilejsp, bundle, warUpToDate" unless="war.uptodate" > 
88        <!-- set if unset -->
89        <property name="workspace.changes.tr" value="" />
90        <war destfile="${project}.war" webxml="WEB-INF/web-out.xml">
91                <fileset dir=".">
92                        <include name="WEB-INF/**/*.class"/>
93                     <!-- pulled out of the jar in 0.7.12
94                        <include name="WEB-INF/lib/*.jar"/>
95                      -->
96                        <include name="images/*.png"/>
97                        <include name="css.css"/>
98                        <include name="index.html"/>
99                        <include name="WEB-INF/classes/${project}.properties"/>
100                </fileset>
101            <manifest>
102                <attribute name="Implementation-Version" value="${full.version}" />
103                <attribute name="Built-By" value="${build.built-by}" />
104                <attribute name="Build-Date" value="${build.timestamp}" />
105                <attribute name="Base-Revision" value="${workspace.version}" />
106                <attribute name="Workspace-Changes" value="${workspace.changes.tr}" />
107            </manifest>
108        </war>
109    </target>
110
111    <target name="warUpToDate">
112        <uptodate property="war.uptodate" targetfile="${project}.war">
113            <srcfiles dir= "." includes="WEB-INF/web-out.xml WEB-INF/**/*.class images/*.png css.css index.html WEB-INF/classes/${project}.properties" />
114        </uptodate>
115        <condition property="shouldListChanges" >
116            <and>
117                <not>
118                    <isset property="war.uptodate" />
119                </not>
120                <isset property="mtn.available" />
121            </and>
122        </condition>
123    </target>
124
125    <target name="bundle" depends="compile, precompilejsp" unless="no.bundle">
126        <!-- Update the messages_*.po files.
127             We need to supply the bat file for windows, and then change the fail property to true -->
128        <exec executable="sh" osfamily="unix" failifexecutionfails="true" failonerror="${require.gettext}" >
129            <arg value="./bundle-messages.sh" />
130        </exec>
131        <exec executable="sh" osfamily="mac" failifexecutionfails="true" failonerror="${require.gettext}" >
132            <arg value="./bundle-messages.sh" />
133        </exec>
134                <!-- multi-lang is optional -->
135        <exec executable="sh" osfamily="windows" failifexecutionfails="false" >
136            <arg value="./bundle-messages.sh" />
137        </exec>
138    </target>
139
140    <target name="poupdate" depends="compile, precompilejsp">
141        <!-- Update the messages_*.po files.  -->
142        <exec executable="sh" osfamily="unix" failifexecutionfails="true" failonerror="true" >
143            <arg value="./bundle-messages.sh" />
144            <arg value="-p" />
145        </exec>
146        <exec executable="sh" osfamily="mac" failifexecutionfails="true" failonerror="true" >
147            <arg value="./bundle-messages.sh" />
148            <arg value="-p" />
149        </exec>
150        <exec executable="sh" osfamily="windows" failifexecutionfails="true" failonerror="true" >
151            <arg value="./bundle-messages.sh" />
152            <arg value="-p" />
153        </exec>
154    </target>
155
156    <target name="clean">
157      <delete file="susidns.war" />
158      <delete>
159        <fileset dir="." includes="**/*.class" />
160        <fileset dir="." includes="tmp" />
161        <fileset dir="WEB-INF" includes="web-fragment.xml, web-out.xml" />
162      </delete>
163      <delete dir="${bin}" />
164      <delete dir="${tmp}" />
165    </target>
166    <target name="distclean" depends="clean" />
167</project>
Note: See TracBrowser for help on using the repository browser.