source: apps/desktopgui/build.xml @ d7f5f2c

Last change on this file since d7f5f2c was d7f5f2c, checked in by walking <walking@…>, 9 years ago

multi-lang support for building is optional

  • Property mode set to 100644
File size: 4.0 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<project basedir="." default="all" name="desktopgui">
3
4        <property name="src" value="src"/>
5        <property name="build" value="build"/>
6        <property name="dist"  location="dist"/>
7        <property name="jar" value="desktopgui.jar"/>
8        <property name="resources" value="resources"/>
9    <property name="javadoc" value="javadoc"/>
10
11        <property name="javac.compilerargs" value=""/>
12
13        <target name="init">
14                <mkdir dir="${build}"/>
15        <mkdir dir="${build}/${resources}"/>
16        <mkdir dir="${build}/${javadoc}"/>
17                <mkdir dir="${dist}"/>
18        </target>
19
20        <target name="clean">
21                <delete dir="${build}"/>
22                <delete dir="${dist}"/>
23        </target>
24
25        <target name="compile" depends="init">
26                <javac debug="true" deprecation="on" source="1.5" target="1.5" 
27                       includeAntRuntime="false"
28                       srcdir="${src}" destdir="${build}">
29            <compilerarg line="${javac.compilerargs}" />
30            <classpath>
31                <pathelement location="../../core/java/build/i2p.jar" />
32                <!-- doesn't matter if we're not on win32, we just need the java classes, not the platform-dependent code -->
33                <pathelement location="../../installer/lib/wrapper/win32/wrapper.jar" />
34                <pathelement location="../../router/java/build/router.jar" />
35            </classpath>
36                </javac>
37        <copy todir="${build}/desktopgui/${resources}">
38            <fileset dir="${resources}" />
39        </copy>
40        </target>
41
42        <target name="jar" depends="compile">
43        <exec executable="sh" osfamily="unix" failifexecutionfails="true" >
44            <arg value="./bundle-messages.sh" />
45        </exec>
46        <exec executable="sh" osfamily="mac" failifexecutionfails="true" >
47            <arg value="./bundle-messages.sh" />
48        </exec>
49                <!-- multi-lang is optional -->
50        <exec executable="sh" osfamily="windows" failifexecutionfails="false" >
51            <arg value="./bundle-messages.sh" />
52        </exec>
53        <exec executable="mtn" outputproperty="workspace.changes" errorproperty="mtn.error2" failifexecutionfails="false" >
54            <arg value="list" />
55            <arg value="changed" />
56            <arg value="." />
57        </exec>
58        <!-- \n in an attribute value generates an invalid manifest -->
59        <exec executable="tr" inputstring="${workspace.changes}" outputproperty="workspace.changes.tr" errorproperty="mtn.error2" failifexecutionfails="false" >
60            <arg value="-s" />
61            <arg value="[:space:]" />
62            <arg value="," />
63        </exec>
64                <jar basedir="${build}" destfile="${dist}/${jar}">
65                        <manifest>
66                                <attribute name="Main-Class" value="net.i2p.desktopgui.Main"/>
67                                <attribute name="Build-Date" value="${build.timestamp}" />
68                                <attribute name="Base-Revision" value="${workspace.version}" />
69                                <attribute name="Workspace-Changes" value="${workspace.changes.tr}" />
70                        </manifest>
71                </jar>
72        </target>
73
74    <target name="javadoc">
75        <mkdir dir="${build}" />
76        <mkdir dir="${build}/${javadoc}" />
77        <javadoc 
78            sourcepath="${src}" destdir="${build}/${javadoc}" 
79            packagenames="*" 
80            use="true" 
81            splitindex="true" 
82            windowtitle="Desktopgui">
83            <classpath>
84                <pathelement location="../../router/java/build/router.jar" />
85                <pathelement location="../../core/java/build/i2p.jar" />
86            </classpath>
87        </javadoc>
88    </target>
89
90    <target name="poupdate">
91        <exec executable="sh" osfamily="unix" failifexecutionfails="true" >
92            <arg value="./bundle-messages.sh" />
93            <arg value="-p" />
94        </exec>
95        <exec executable="sh" osfamily="mac" failifexecutionfails="true" >
96            <arg value="./bundle-messages.sh" />
97            <arg value="-p" />
98        </exec>
99        <exec executable="sh" osfamily="windows" failifexecutionfails="true" >
100            <arg value="./bundle-messages.sh" />
101            <arg value="-p" />
102        </exec>
103    </target>
104
105        <target name="dist" depends="jar" />   
106        <target name="all" depends="jar" />
107</project>
108
Note: See TracBrowser for help on using the repository browser.