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="javadoc" value="javadoc"/> |
---|
9 | <property name="javac.compilerargs" value=""/> |
---|
10 | <property name="javac.version" value="1.6" /> |
---|
11 | <property name="require.gettext" value="true" /> |
---|
12 | |
---|
13 | <condition property="no.bundle"> |
---|
14 | <isfalse value="${require.gettext}" /> |
---|
15 | </condition> |
---|
16 | |
---|
17 | <target name="init"> |
---|
18 | <mkdir dir="${build}"/> |
---|
19 | <mkdir dir="${build}/messages-src"/> |
---|
20 | <mkdir dir="${dist}"/> |
---|
21 | </target> |
---|
22 | |
---|
23 | <target name="clean"> |
---|
24 | <delete dir="${build}"/> |
---|
25 | <delete dir="${dist}"/> |
---|
26 | </target> |
---|
27 | |
---|
28 | <target name="compile" depends="init"> |
---|
29 | <javac debug="true" deprecation="on" source="${javac.version}" target="${javac.version}" |
---|
30 | includeAntRuntime="false" |
---|
31 | srcdir="${src}" destdir="${build}"> |
---|
32 | <compilerarg line="${javac.compilerargs}" /> |
---|
33 | <classpath> |
---|
34 | <pathelement location="../../core/java/build/i2p.jar" /> |
---|
35 | <pathelement location="../../installer/lib/wrapper/all/wrapper.jar" /> |
---|
36 | <pathelement location="../../router/java/build/router.jar" /> |
---|
37 | </classpath> |
---|
38 | </javac> |
---|
39 | </target> |
---|
40 | |
---|
41 | <target name="bundle" unless="no.bundle" depends="init"> |
---|
42 | <exec executable="sh" osfamily="unix" failifexecutionfails="true" failonerror="${require.gettext}" > |
---|
43 | <env key="JAVA_HOME" value="${java.home}" /> |
---|
44 | <arg value="./bundle-messages.sh" /> |
---|
45 | </exec> |
---|
46 | <exec executable="sh" osfamily="mac" failifexecutionfails="true" failonerror="${require.gettext}" > |
---|
47 | <arg value="./bundle-messages.sh" /> |
---|
48 | </exec> |
---|
49 | <exec executable="sh" osfamily="windows" failifexecutionfails="false" > |
---|
50 | <arg value="./bundle-messages.sh" /> |
---|
51 | </exec> |
---|
52 | <javac source="${javac.version}" target="${javac.version}" |
---|
53 | includeAntRuntime="false" |
---|
54 | srcdir="${build}/messages-src" destdir="${build}"> |
---|
55 | <compilerarg line="${javac.compilerargs}" /> |
---|
56 | </javac> |
---|
57 | </target> |
---|
58 | |
---|
59 | <target name="listChangedFiles" depends="jarUpToDate" if="shouldListChanges" > |
---|
60 | <exec executable="mtn" outputproperty="workspace.changes" errorproperty="mtn.error2" failifexecutionfails="false" > |
---|
61 | <arg value="list" /> |
---|
62 | <arg value="changed" /> |
---|
63 | <arg value="." /> |
---|
64 | </exec> |
---|
65 | <!-- \n in an attribute value generates an invalid manifest --> |
---|
66 | <exec executable="tr" inputstring="${workspace.changes}" outputproperty="workspace.changes.tr" errorproperty="mtn.error2" failifexecutionfails="false" > |
---|
67 | <arg value="-s" /> |
---|
68 | <arg value="[:space:]" /> |
---|
69 | <arg value="," /> |
---|
70 | </exec> |
---|
71 | </target> |
---|
72 | |
---|
73 | <target name="jar" depends="compile, bundle, listChangedFiles" unless="jar.uptodate" > |
---|
74 | <!-- set if unset --> |
---|
75 | <property name="workspace.changes.tr" value="" /> |
---|
76 | <!-- ideal for linux: 24x24, but transparency doesn't work --> |
---|
77 | <copy tofile="${build}/desktopgui/resources/images/logo.png" file="../../installer/resources/themes/console/images/itoopie_xsm.png" /> |
---|
78 | <copy todir="${build}/desktopgui/resources/images" file="images/itoopie_black_24.png" /> |
---|
79 | <copy todir="${build}/desktopgui/resources/images" file="images/itoopie_white_24.png" /> |
---|
80 | <jar basedir="${build}" excludes="messages-src/**" destfile="${dist}/${jar}"> |
---|
81 | <manifest> |
---|
82 | <attribute name="Main-Class" value="net.i2p.desktopgui.Main"/> |
---|
83 | <attribute name="Build-Date" value="${build.timestamp}" /> |
---|
84 | <attribute name="Base-Revision" value="${workspace.version}" /> |
---|
85 | <attribute name="Workspace-Changes" value="${workspace.changes.tr}" /> |
---|
86 | </manifest> |
---|
87 | </jar> |
---|
88 | </target> |
---|
89 | |
---|
90 | <target name="jarUpToDate"> |
---|
91 | <uptodate property="jar.uptodate" targetfile="${dist}/${jar}" > |
---|
92 | <srcfiles dir= "." includes="build/**/*.class" /> |
---|
93 | </uptodate> |
---|
94 | <condition property="shouldListChanges" > |
---|
95 | <and> |
---|
96 | <not> |
---|
97 | <isset property="jar.uptodate" /> |
---|
98 | </not> |
---|
99 | <isset property="mtn.available" /> |
---|
100 | </and> |
---|
101 | </condition> |
---|
102 | </target> |
---|
103 | |
---|
104 | <target name="javadoc"> |
---|
105 | <mkdir dir="${build}" /> |
---|
106 | <mkdir dir="${build}/${javadoc}" /> |
---|
107 | <javadoc |
---|
108 | sourcepath="${src}" destdir="${build}/${javadoc}" |
---|
109 | packagenames="*" |
---|
110 | use="true" |
---|
111 | splitindex="true" |
---|
112 | windowtitle="Desktopgui"> |
---|
113 | <classpath> |
---|
114 | <pathelement location="../../router/java/build/router.jar" /> |
---|
115 | <pathelement location="../../core/java/build/i2p.jar" /> |
---|
116 | </classpath> |
---|
117 | </javadoc> |
---|
118 | </target> |
---|
119 | |
---|
120 | <target name="poupdate"> |
---|
121 | <exec executable="sh" osfamily="unix" failifexecutionfails="true" failonerror="true" > |
---|
122 | <arg value="./bundle-messages.sh" /> |
---|
123 | <arg value="-p" /> |
---|
124 | </exec> |
---|
125 | <exec executable="sh" osfamily="mac" failifexecutionfails="true" failonerror="true" > |
---|
126 | <arg value="./bundle-messages.sh" /> |
---|
127 | <arg value="-p" /> |
---|
128 | </exec> |
---|
129 | <exec executable="sh" osfamily="windows" failifexecutionfails="true" failonerror="true" > |
---|
130 | <arg value="./bundle-messages.sh" /> |
---|
131 | <arg value="-p" /> |
---|
132 | </exec> |
---|
133 | </target> |
---|
134 | |
---|
135 | <target name="dist" depends="jar" /> |
---|
136 | <target name="all" depends="jar" /> |
---|
137 | </project> |
---|
138 | |
---|