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 | <pathelement location="../../installer/lib/wrapper/all/wrapper.jar" /> |
---|
33 | <pathelement location="../../router/java/build/router.jar" /> |
---|
34 | </classpath> |
---|
35 | </javac> |
---|
36 | <copy todir="${build}/desktopgui/${resources}"> |
---|
37 | <fileset dir="${resources}" /> |
---|
38 | </copy> |
---|
39 | </target> |
---|
40 | |
---|
41 | <target name="bundle" > |
---|
42 | <exec executable="sh" osfamily="unix" failifexecutionfails="true" > |
---|
43 | <arg value="./bundle-messages.sh" /> |
---|
44 | </exec> |
---|
45 | <exec executable="sh" osfamily="mac" failifexecutionfails="true" > |
---|
46 | <arg value="./bundle-messages.sh" /> |
---|
47 | </exec> |
---|
48 | <!-- multi-lang is optional --> |
---|
49 | <exec executable="sh" osfamily="windows" failifexecutionfails="false" > |
---|
50 | <arg value="./bundle-messages.sh" /> |
---|
51 | </exec> |
---|
52 | </target> |
---|
53 | |
---|
54 | <target name="listChangedFiles" depends="jarUpToDate" if="shouldListChanges" > |
---|
55 | <exec executable="mtn" outputproperty="workspace.changes" errorproperty="mtn.error2" failifexecutionfails="false" > |
---|
56 | <arg value="list" /> |
---|
57 | <arg value="changed" /> |
---|
58 | <arg value="." /> |
---|
59 | </exec> |
---|
60 | <!-- \n in an attribute value generates an invalid manifest --> |
---|
61 | <exec executable="tr" inputstring="${workspace.changes}" outputproperty="workspace.changes.tr" errorproperty="mtn.error2" failifexecutionfails="false" > |
---|
62 | <arg value="-s" /> |
---|
63 | <arg value="[:space:]" /> |
---|
64 | <arg value="," /> |
---|
65 | </exec> |
---|
66 | </target> |
---|
67 | |
---|
68 | <target name="jar" depends="compile, bundle, listChangedFiles" unless="jar.uptodate" > |
---|
69 | <!-- set if unset --> |
---|
70 | <property name="workspace.changes.tr" value="" /> |
---|
71 | <jar basedir="${build}" destfile="${dist}/${jar}"> |
---|
72 | <manifest> |
---|
73 | <attribute name="Main-Class" value="net.i2p.desktopgui.Main"/> |
---|
74 | <attribute name="Build-Date" value="${build.timestamp}" /> |
---|
75 | <attribute name="Base-Revision" value="${workspace.version}" /> |
---|
76 | <attribute name="Workspace-Changes" value="${workspace.changes.tr}" /> |
---|
77 | </manifest> |
---|
78 | </jar> |
---|
79 | </target> |
---|
80 | |
---|
81 | <target name="jarUpToDate"> |
---|
82 | <uptodate property="jar.uptodate" targetfile="${dist}/${jar}" > |
---|
83 | <srcfiles dir= "." includes="build/**/*.class" /> |
---|
84 | </uptodate> |
---|
85 | <condition property="shouldListChanges" > |
---|
86 | <and> |
---|
87 | <not> |
---|
88 | <isset property="jar.uptodate" /> |
---|
89 | </not> |
---|
90 | <isset property="mtn.available" /> |
---|
91 | </and> |
---|
92 | </condition> |
---|
93 | </target> |
---|
94 | |
---|
95 | <target name="javadoc"> |
---|
96 | <mkdir dir="${build}" /> |
---|
97 | <mkdir dir="${build}/${javadoc}" /> |
---|
98 | <javadoc |
---|
99 | sourcepath="${src}" destdir="${build}/${javadoc}" |
---|
100 | packagenames="*" |
---|
101 | use="true" |
---|
102 | splitindex="true" |
---|
103 | windowtitle="Desktopgui"> |
---|
104 | <classpath> |
---|
105 | <pathelement location="../../router/java/build/router.jar" /> |
---|
106 | <pathelement location="../../core/java/build/i2p.jar" /> |
---|
107 | </classpath> |
---|
108 | </javadoc> |
---|
109 | </target> |
---|
110 | |
---|
111 | <target name="poupdate"> |
---|
112 | <exec executable="sh" osfamily="unix" failifexecutionfails="true" > |
---|
113 | <arg value="./bundle-messages.sh" /> |
---|
114 | <arg value="-p" /> |
---|
115 | </exec> |
---|
116 | <exec executable="sh" osfamily="mac" failifexecutionfails="true" > |
---|
117 | <arg value="./bundle-messages.sh" /> |
---|
118 | <arg value="-p" /> |
---|
119 | </exec> |
---|
120 | <exec executable="sh" osfamily="windows" failifexecutionfails="true" > |
---|
121 | <arg value="./bundle-messages.sh" /> |
---|
122 | <arg value="-p" /> |
---|
123 | </exec> |
---|
124 | </target> |
---|
125 | |
---|
126 | <target name="dist" depends="jar" /> |
---|
127 | <target name="all" depends="jar" /> |
---|
128 | </project> |
---|
129 | |
---|