source: apps/susidns/src/build.xml @ fd91927c

Last change on this file since fd91927c was fd91927c, checked in by zzz <zzz@…>, 10 years ago
  • Build:
    • Add includeAntRuntime=false to all javac targets
    • Add build date, mtn rev, and changed file list to all manifests
    • Add unless=uptodate to all jar and war targets (bob and dtg still todo)
  • Property mode set to 100644
File size: 6.4 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-compiler.jar" />
18        <pathelement location="${lib}/jasper-runtime.jar" />
19        <pathelement location="${lib}/javax.servlet.jar" />
20        <pathelement location="${lib}/commons-logging.jar" />
21        <pathelement location="${lib}/commons-el.jar" />
22        <pathelement location="${lib}/ant.jar" />
23        <pathelement location="../../../core/java/build/i2p.jar" />
24        </path>
25        <property name="javac.compilerargs" value="" />
26
27        <target name="compile">
28                <mkdir dir="${bin}" />
29                <javac debug="true" deprecation="on" source="1.5" target="1.5"
30                        includeAntRuntime="false"
31                        classpathref="cp" destdir="${bin}" srcdir="${src}" includes="**/*.java" >
32                        <compilerarg line="${javac.compilerargs}" />
33                </javac>
34        </target>
35
36    <target name="precompilejsp" unless="precompilejsp.uptodate">
37        <delete file="WEB-INF/web-fragment.xml" />
38        <delete file="WEB-INF/web-out.xml" />
39        <mkdir dir="${tmp}" />
40        <echo message="Ignore any warning about /WEB-INF/web.xml not found" />
41        <java classname="org.apache.jasper.JspC" fork="true" classpathref="cp" failonerror="true">
42            <arg value="-d" />
43            <arg value="${tmp}" />
44            <arg value="-v" />
45            <arg value="-p" />
46            <arg value="i2p.susi.dns.jsp" />
47            <arg value="-webinc" />
48            <arg value="WEB-INF/web-fragment.xml" />
49            <arg value="-webapp" />
50            <arg value="./jsp" />
51        </java>
52        <javac debug="true" deprecation="on" source="1.5" target="1.5" 
53               includeAntRuntime="false"
54               destdir="${bin}" srcdir="${tmp}" includes="**/*.java" classpathref="cp">
55                <compilerarg line="${javac.compilerargs}" />
56         </javac>
57        <copy file="WEB-INF/web-template.xml" tofile="WEB-INF/web-out.xml" />
58        <loadfile property="jspc.web.fragment" srcfile="WEB-INF/web-fragment.xml" />
59        <replace file="WEB-INF//web-out.xml">
60            <replacefilter token="&lt;!-- precompiled servlets --&gt;" value="${jspc.web.fragment}" />
61        </replace>
62    </target>
63
64    <uptodate property="precompilejsp.uptodate" targetfile="WEB-INF/web-out.xml">
65        <srcfiles dir= "." includes="jsp/*.jsp, WEB-INF/web-template.xml"/>
66    </uptodate>
67
68    <target name="all" depends="war"/> 
69
70    <target name="war" depends="compile, precompilejsp, bundle, warUpToDate" unless="war.uptodate" > 
71        <exec executable="mtn" outputproperty="workspace.changes" errorproperty="mtn.error2" failifexecutionfails="false" >
72            <arg value="list" />
73            <arg value="changed" />
74            <arg value="." />
75        </exec>
76        <!-- \n in an attribute value generates an invalid manifest -->
77        <exec executable="tr" inputstring="${workspace.changes}" outputproperty="workspace.changes.tr" errorproperty="mtn.error2" failifexecutionfails="false" >
78            <arg value="-s" />
79            <arg value="[:space:]" />
80            <arg value="," />
81        </exec>
82        <war destfile="${project}.war" webxml="WEB-INF/web-out.xml">
83                <fileset dir=".">
84                        <include name="WEB-INF/**/*.class"/>
85                     <!-- pulled out of the jar in 0.7.12
86                        <include name="WEB-INF/lib/*.jar"/>
87                      -->
88                        <include name="images/*.png"/>
89                        <include name="css.css"/>
90                        <include name="index.html"/>
91                        <include name="WEB-INF/classes/${project}.properties"/>
92                </fileset>
93            <manifest>
94                <attribute name="Build-Date" value="${build.timestamp}" />
95                <attribute name="Base-Revision" value="${workspace.version}" />
96                <attribute name="Workspace-Changes" value="${workspace.changes.tr}" />
97            </manifest>
98        </war>
99    </target>
100
101    <target name="warUpToDate">
102        <uptodate property="war.uptodate" targetfile="${project}.war">
103            <srcfiles dir= "." includes="WEB-INF/web-out.xml WEB-INF/**/*.class images/*.png css.css index.html WEB-INF/classes/${project}.properties" />
104        </uptodate>
105    </target>
106
107    <target name="bundle" depends="compile, precompilejsp">
108        <!-- Update the messages_*.po files.
109             We need to supply the bat file for windows, and then change the fail property to true -->
110        <exec executable="sh" osfamily="unix" failifexecutionfails="true" >
111            <arg value="./bundle-messages.sh" />
112        </exec>
113        <exec executable="sh" osfamily="mac" failifexecutionfails="true" >
114            <arg value="./bundle-messages.sh" />
115        </exec>
116        <exec executable="sh" osfamily="windows" failifexecutionfails="true" >
117            <arg value="./bundle-messages.sh" />
118        </exec>
119    </target>
120
121    <target name="poupdate" depends="compile, precompilejsp">
122        <!-- Update the messages_*.po files.  -->
123        <exec executable="sh" osfamily="unix" failifexecutionfails="true" >
124            <arg value="./bundle-messages.sh" />
125            <arg value="-p" />
126        </exec>
127        <exec executable="sh" osfamily="mac" failifexecutionfails="true" >
128            <arg value="./bundle-messages.sh" />
129            <arg value="-p" />
130        </exec>
131        <exec executable="sh" osfamily="windows" failifexecutionfails="true" >
132            <arg value="./bundle-messages.sh" />
133            <arg value="-p" />
134        </exec>
135    </target>
136
137    <target name="clean">
138      <delete file="susidns.war" />
139      <delete>
140        <fileset dir="." includes="**/*.class" />
141        <fileset dir="." includes="tmp" />
142        <fileset dir="WEB-INF" includes="web-fragment.xml, web-out.xml" />
143      </delete>
144      <delete dir="${bin}" />
145      <delete dir="${tmp}" />
146    </target>
147    <target name="distclean" depends="clean" />
148</project>
Note: See TracBrowser for help on using the repository browser.