source: apps/addressbook/build.xml @ 2de36ee

Last change on this file since 2de36ee was 0a2097a2, checked in by zzz <zzz@…>, 4 years ago

Addressbook: Remove static reference, hide implementation
Requires Android fix (ticket #1972)

  • Property mode set to 100644
File size: 3.8 KB
Line 
1<?xml version="1.0"?>
2<project name="addressbook" default="all" basedir=".">
3
4        <property name="src" value="java/src"/>
5        <property name="build" value="build"/>
6        <property name="dist"  location="dist"/>
7        <property name="jar" value="addressbook.jar"/>
8        <property name="war" value="addressbook.war"/>
9        <property name="javac.compilerargs" value="" />
10        <property name="javac.version" value="1.7" />
11
12        <target name="all" depends="jar, emptyWar"/> 
13       
14        <target name="init">
15                <mkdir dir="${build}"/>
16                <mkdir dir="${dist}"/>
17        </target>
18
19        <target name="clean">
20                <delete dir="${build}"/>
21                <delete dir="${dist}"/>
22        </target>
23
24        <target name="distclean" depends="clean" />
25
26        <condition property="depend.available">
27            <typefound name="depend" />
28        </condition>
29        <target name="depend" if="depend.available">
30            <depend
31                cache="../../build"
32                srcdir="${src}"
33                destdir="${build}" >
34                <!-- Depend on classes instead of jars where available -->
35                <classpath>
36                    <pathelement location="../../core/java/build/obj" />
37                </classpath>
38            </depend>
39        </target>
40
41        <target name="compile" depends="init, depend, warUpToDate">
42            <javac debug="true" deprecation="on" source="${javac.version}" target="${javac.version}" 
43                       includeAntRuntime="false"
44                       srcdir="${src}" destdir="${build}">
45            <compilerarg line="${javac.compilerargs}" />
46            <classpath>
47                <pathelement location="../../core/java/build/i2p.jar" />
48            </classpath>
49                </javac>
50        </target>
51
52        <target name="jar" depends="compile, changes">
53                <!-- set if unset -->
54                <property name="workspace.changes.tr" value="" />
55                <jar basedir="${build}" destfile="${dist}/${jar}">
56                        <manifest>
57                                <attribute name="Main-Class" value="net.i2p.addressbook.Daemon"/>
58                                <attribute name="Implementation-Version" value="${full.version}" />
59                                <attribute name="Built-By" value="${build.built-by}" />
60                                <attribute name="Build-Date" value="${build.timestamp}" />
61                                <attribute name="Base-Revision" value="${workspace.version}" />
62                                <attribute name="Workspace-Changes" value="${workspace.changes.tr}" />
63                                <attribute name="X-Compile-Source-JDK" value="${javac.version}" />
64                                <attribute name="X-Compile-Target-JDK" value="${javac.version}" />
65                        </manifest>
66                </jar>
67        </target>
68
69        <target name="emptyWar" depends="init">
70            <jar destfile="${dist}/${war}" >
71                <manifest>
72                    <attribute name="Note" value="Intentionally empty" />
73                </manifest>
74            </jar>
75        </target>
76       
77        <target name="warUpToDate">
78                <uptodate property="war.uptodate" targetfile="${dist}/${war}">
79                            <srcfiles dir= "." includes="${build}/**/*.class, web.xml"/>
80                </uptodate>
81                <condition property="shouldListChanges" >
82                    <and>
83                        <not>
84                            <isset property="war.uptodate" />
85                        </not>
86                        <isset property="mtn.available" />
87                    </and>
88                </condition>
89        </target>
90
91        <target name="changes" depends="warUpToDate" if="shouldListChanges" >
92                <exec executable="mtn" outputproperty="workspace.changes" errorproperty="mtn.error2" failifexecutionfails="false" >
93                    <arg value="list" />
94                    <arg value="changed" />
95                    <arg value="." />
96                </exec>
97                <!-- \n in an attribute value generates an invalid manifest -->
98                <exec executable="tr" inputstring="${workspace.changes}" outputproperty="workspace.changes.tr" errorproperty="mtn.error2" failifexecutionfails="false" >
99                        <arg value="-s" />
100                        <arg value="[:space:]" />
101                        <arg value="," />
102                </exec>
103        </target>
104</project>
Note: See TracBrowser for help on using the repository browser.