OSDN Git Service

[fixed] issue 836, encoding for java build in build-template.xml set to utf-8, thanks...
[mikumikustudio/libgdx-mikumikustudio.git] / build-template.xml
1 <!-- \r
2 template Ant build file for all projects that should go into the distribution. \r
3 Fill out the properties at the beginning of the project definition.\r
4 \r
5 The following things have to be set from the outside:\r
6 \r
7 property name="jar" value="jar-name-without-suffix" -> the name of the resulting jar file\r
8 property name="distDir" value="dist-directory" -> the output directory for the resulting jar\r
9 path id="classpath" -> the filesets defining the classpath needed to compile the project\r
10 zipfileset id="jarfiles" -> the jar files to be merged with the project's classes\r
11 -->\r
12 <project name="template" default="all" basedir=".">\r
13         <!-- default values -->\r
14         <property name="src" value="src"/>\r
15         <property name="jni" value="jni"/>\r
16         <property name="target" value="target" />\r
17         <property name="libs" value="libs" />\r
18         <path id="classpath"/>\r
19         <zipfileset id="jarfiles" dir="." excludes="**"/>\r
20         \r
21         <!-- clean output directories -->       \r
22         <target name="clean">           \r
23                 <delete dir="${target}" />\r
24         </target>\r
25 \r
26         <!-- init task, creates all necessary directories -->\r
27         <target name="init" depends="clean">\r
28                 <mkdir dir="${target}" />\r
29                 <mkdir dir="${target}/java" />\r
30                 <!-- need to copy the internal font to target if compiling the gdx core :/ -->\r
31                 <copy failonerror="false" tofile="${target}/java/com/badlogic/gdx/utils/arial-15.png" file="src/com/badlogic/gdx/utils/arial-15.png" />\r
32                 <copy failonerror="false" tofile="${target}/java/com/badlogic/gdx/utils/arial-15.fnt" file="src/com/badlogic/gdx/utils/arial-15.fnt" />\r
33                 <!-- need to copy jni headers for gdx-jnigen -->\r
34                 <copy failonerror="false" todir="${target}/java">\r
35                         <fileset dir="src">\r
36                                 <include name="**/*.h"/>\r
37                                 <include name="**/*.template"/>\r
38                         </fileset>\r
39                 </copy>\r
40                 <copy failonerror="false" todir="${target}/java">\r
41                         <fileset dir="src">\r
42                                 <include name="**/*.gwt.xml"/>\r
43                         </fileset>\r
44                 </copy>\r
45         </target>\r
46 \r
47         <!-- compiles the java code -->\r
48         <target name="compile" depends="init">\r
49                 <javac debug="on" encoding="utf-8" srcdir="${src}" destdir="${target}/java">\r
50                         <classpath>\r
51                                 <path refid="classpath"/>\r
52                                 <fileset file="${libs}/*.jar">\r
53                                         <exclude name="*-natives.jar"/>\r
54                                 </fileset>\r
55                         </classpath>\r
56                 </javac>\r
57         </target>\r
58 \r
59 \r
60         <!-- compile native code if available -->\r
61         <target name="check-natives">\r
62                 <condition property="natives-present">\r
63                         <and>\r
64                                 <available file="${jni}/build.xml"/>\r
65                                 <istrue value="${build-natives}"/>\r
66                         </and>\r
67                 </condition>\r
68         </target>\r
69         <target name="compile-natives" depends="init, check-natives" if="natives-present">\r
70                 <echo message="compiling natives code"/>\r
71                 <ant antfile="build.xml" target="clean" dir="${jni}"/>\r
72                 <ant antfile="build.xml" target="all" dir="${jni}"/>\r
73                 <!-- copy shared libs for android -->\r
74                 <copy failonerror="false" todir="${distDir}/armeabi">\r
75                         <fileset dir="${libs}/armeabi">\r
76                                 <include name="**/*.so"/>\r
77                         </fileset>\r
78                 </copy>\r
79                 <copy failonerror="false" todir="${distDir}/armeabi-v7a">\r
80                         <fileset dir="${libs}/armeabi-v7a">\r
81                                 <include name="**/*.so"/>\r
82                         </fileset>\r
83                 </copy>\r
84         </target>\r
85         \r
86         <!-- create source and class jar -->\r
87         <target name="all" depends="compile,compile-natives">\r
88                 <!-- source jar -->\r
89                 <mkdir dir="${distDir}/sources" />\r
90                 <jar destfile="${distDir}/sources/${jar}-sources.jar" basedir="${src}" />\r
91                 \r
92                 <!-- copy shared libs for desktop -->\r
93                 <copy failonerror="false" todir="${distDir}">\r
94                         <fileset dir="${libs}">\r
95                                 <include name="**/*-natives.jar"/>\r
96                                 <exclude name="**/test-natives.jar"/>\r
97                         </fileset>\r
98                 </copy>\r
99                 \r
100                 <!-- copy shared libs for android -->\r
101                 <copy failonerror="false" todir="${distDir}/armeabi">\r
102                         <fileset dir="${libs}/armeabi">\r
103                                 <include name="**/*.so"/>\r
104                         </fileset>\r
105                 </copy>\r
106                 <copy failonerror="false" todir="${distDir}/armeabi-v7a">\r
107                         <fileset dir="${libs}/armeabi-v7a">\r
108                                 <include name="**/*.so"/>\r
109                         </fileset>\r
110                 </copy>\r
111                 \r
112                 <!-- class jar -->\r
113                 <jar destfile="${distDir}/${jar}.jar">\r
114                         <fileset dir="${target}/java"/>\r
115                         <!-- merge dependencies found in libs/ folder, exclude native, debug and android/gwt jars -->\r
116                         <zipgroupfileset file="${libs}/*.jar">\r
117                                 <exclude name="*-natives.jar"/>\r
118                                 <exclude name="*-debug.jar"/>\r
119                                 <exclude name="android-*.jar"/>\r
120                                 <exclude name="gwt*.jar"/>\r
121                         </zipgroupfileset>\r
122                         <!-- merge dependencies specified in parent build.xml -->\r
123                         <zipfileset refid="jarfiles"/>\r
124                 </jar>\r
125         </target>\r
126 </project>\r