1 <project name="gdx" default="all" basedir="."> 2 <description>libgdx distribution build file</description> 3 <property environment="env" /> 4 5 <!-- library version --> 6 <property name="version" value="1.5.7-SNAPSHOT"/> 7 8 <!-- define distribution/output directory --> 9 <property name="distDir" value="${basedir}/dist"/> 10 11 <!-- should we build natives? --> 12 <property name="build-natives" value="false"/> 13 14 <!-- clean distribution/output directory --> 15 <target name="clean"> 16 <delete dir="${distDir}"/> 17 </target> 18 19 <!-- build the core of the library plus all backends --> 20 <!-- gdx jnigen --> 21 <target name="gdx-jnigen"> 22 <ant antfile="../../build-template.xml" dir="extensions/gdx-jnigen"> 23 <property name="distDir" value="${distDir}/extensions/gdx-jnigen"/> 24 <property name="jar" value="gdx-jnigen"/> 25 <!-- we shouldn't build any natives --> 26 <property name="build-natives" value="false"/> 27 </ant> 28 </target> 29 30 <!-- new gdx setup, custom target --> 31 <target name="gdx-setup"> 32 <ant antfile="build.xml" dir="extensions/gdx-setup/"/> 33 <copy tofile="${distDir}/gdx-setup.jar" file="extensions/gdx-setup/gdx-setup.jar"/> 34 </target> 35 36 <!-- gdx core --> 37 <target name="gdx-core" depends="gdx-jnigen"> 38 <path id="classpath"> 39 <pathelement location="${distDir}/extensions/gdx-jnigen/gdx-jnigen.jar"/> 40 </path> 41 <fileset id="resourcefiles" dir="gdx/src"> 42 <include name="com/badlogic/gdx/graphics/g3d/particles/particles.fragment.glsl"/> 43 <include name="com/badlogic/gdx/graphics/g3d/particles/particles.vertex.glsl"/> 44 <include name="com/badlogic/gdx/graphics/g3d/shaders/default.fragment.glsl"/> 45 <include name="com/badlogic/gdx/graphics/g3d/shaders/default.vertex.glsl"/> 46 <include name="com/badlogic/gdx/graphics/g3d/shaders/depth.fragment.glsl"/> 47 <include name="com/badlogic/gdx/graphics/g3d/shaders/depth.vertex.glsl"/> 48 <include name="com/badlogic/gdx/utils/arial-15.png"/> 49 <include name="com/badlogic/gdx/utils/arial-15.fnt"/> 50 </fileset> 51 <ant antfile="../build-template.xml" dir="gdx"> 52 <property name="jar" value="gdx"/> 53 <reference refid="classpath"/> 54 <reference refid="resourcefiles"/> 55 </ant> 56 </target> 57 58 <!-- gdx headless backend --> 59 <target name="gdx-backend-headless" depends="gdx-core"> 60 <path id="classpath"> 61 <pathelement location="${distDir}/gdx.jar"/> 62 </path> 63 <ant antfile="../../build-template.xml" dir="backends/gdx-backend-headless"> 64 <property name="jar" value="gdx-backend-headless"/> 65 <reference refid="classpath"/> 66 <reference refid="jarfiles"/> 67 </ant> 68 </target> 69 70 71 <!-- gdx lwjgl backend --> 72 <target name="gdx-backend-lwjgl" depends="gdx-core"> 73 <path id="classpath"> 74 <pathelement location="${distDir}/gdx.jar"/> 75 </path> 76 <ant antfile="../../build-template.xml" dir="backends/gdx-backend-lwjgl"> 77 <property name="jar" value="gdx-backend-lwjgl"/> 78 <reference refid="classpath"/> 79 </ant> 80 </target> 81 82 <!-- gdx lwjgl3 backend --> 83 <target name="gdx-backend-lwjgl3" depends="gdx-core"> 84 <path id="classpath"> 85 <pathelement location="${distDir}/gdx.jar"/> 86 </path> 87 <ant antfile="../../build-template.xml" dir="backends/gdx-backend-lwjgl3"> 88 <property name="jar" value="gdx-backend-lwjgl3"/> 89 <reference refid="classpath"/> 90 </ant> 91 </target> 92 93 <!-- gdx jglfw backend --> 94 <target name="gdx-backend-jglfw" depends="gdx-core"> 95 <mkdir dir="backends/gdx-backend-jglfw/libs"/> 96 <get src="http://libgdx.badlogicgames.com/jglfw/nightlies/dist/jglfw.jar" dest="backends/gdx-backend-jglfw/libs/jglfw.jar"/> 97 <get src="http://libgdx.badlogicgames.com/jglfw/nightlies/dist/jglfw-natives.jar" dest="backends/gdx-backend-jglfw/libs/gdx-backend-jglfw-natives.jar"/> 98 <path id="classpath"> 99 <pathelement location="${distDir}/gdx.jar"/> 100 </path> 101 <ant antfile="../../build-template.xml" dir="backends/gdx-backend-jglfw"> 102 <property name="jar" value="gdx-backend-jglfw"/> 103 <reference refid="classpath"/> 104 </ant> 105 </target> 106 107 <!-- gdx android backend --> 108 <target name="gdx-backend-android" depends="gdx-core"> 109 <path id="classpath"> 110 <pathelement location="${distDir}/gdx.jar"/> 111 </path> 112 <ant antfile="../../build-template.xml" dir="backends/gdx-backend-android"> 113 <property name="jar" value="gdx-backend-android"/> 114 <reference refid="classpath"/> 115 </ant> 116 </target> 117 118 <!-- gdx gwt backend --> 119 <target name="gdx-backend-gwt" depends="gdx-core"> 120 <path id="classpath"> 121 <pathelement location="${distDir}/gdx.jar"/> 122 </path> 123 <ant antfile="../../build-template.xml" dir="backends/gdx-backends-gwt"> 124 <property name="jar" value="gdx-backend-gwt"/> 125 <reference refid="classpath"/> 126 </ant> 127 </target> 128 129 <!-- gdx robovm backend --> 130 <target name="gdx-backend-robovm" depends="gdx-core"> 131 <path id="classpath"> 132 <pathelement location="${distDir}/gdx.jar"/> 133 </path> 134 <ant antfile="fetch.xml"> 135 <target name="fetch-robovm"/> 136 </ant> 137 <ant antfile="../../build-template.xml" dir="backends/gdx-backend-robovm"> 138 <property name="jar" value="gdx-backend-robovm"/> 139 <reference refid="classpath"/> 140 </ant> 141 </target> 142 143 <!-- build the extensions --> 144 <!-- gdx tools --> 145 <target name="gdx-tools" depends="gdx-core,gdx-backend-lwjgl,gdx-backend-lwjgl,gdx-backend-headless,gdx-freetype"> 146 <path id="classpath"> 147 <pathelement location="${distDir}/gdx.jar"/> 148 <pathelement location="${distDir}/gdx-backend-lwjgl.jar"/> 149 <pathelement location="${distDir}/gdx-backend-headless.jar"/> 150 <pathelement location="${distDir}/extensions/gdx-freetype/gdx-freetype.jar"/> 151 </path> 152 <fileset id="resourcefiles" dir="extensions/gdx-tools/assets"/> 153 <ant antfile="../../build-template.xml" dir="extensions/gdx-tools"> 154 <property name="distDir" value="${distDir}/extensions/gdx-tools"/> 155 <property name="jar" value="gdx-tools"/> 156 <reference refid="classpath"/> 157 <reference refid="resourcefiles"/> 158 </ant> 159 </target> 160 161 <!-- gdx box2d --> 162 <target name="gdx-box2d" depends="gdx-core"> 163 <path id="classpath"> 164 <pathelement location="${distDir}/gdx.jar"/> 165 <pathelement location="${distDir}/extensions/gdx-jnigen/gdx-jnigen.jar"/> 166 </path> 167 <ant antfile="../../../build-template.xml" dir="extensions/gdx-box2d/gdx-box2d"> 168 <property name="distDir" value="${distDir}/extensions/gdx-box2d/"/> 169 <property name="jar" value="gdx-box2d"/> 170 <reference refid="classpath"/> 171 </ant> 172 </target> 173 174 <target name="gdx-box2d-gwt" depends="gdx-core,gdx-backend-gwt,gdx-box2d"> 175 <path id="classpath"> 176 <pathelement location="${distDir}/gdx.jar"/> 177 <pathelement location="${distDir}/gdx-backend-gwt.jar"/> 178 <pathelement location="${distDir}/extensions/gdx-box2d/gdx-box2d.jar"/> 179 <pathelement location="${basedir}/backends/gdx-backends-gwt/libs/gwt-dev.jar"/> 180 <pathelement location="${basedir}/backends/gdx-backends-gwt/libs/gwt-user.jar"/> 181 </path> 182 <ant antfile="../../../build-template.xml" dir="extensions/gdx-box2d/gdx-box2d-gwt"> 183 <property name="distDir" value="${distDir}/extensions/gdx-box2d"/> 184 <property name="jar" value="gdx-box2d-gwt"/> 185 <reference refid="classpath"/> 186 </ant> 187 </target> 188 189 <!-- gdx controllers --> 190 <target name="gdx-controllers" depends="gdx-core"> 191 <path id="classpath"> 192 <pathelement location="${distDir}/gdx.jar"/> 193 </path> 194 <ant antfile="../../../build-template.xml" dir="extensions/gdx-controllers/gdx-controllers"> 195 <property name="distDir" value="${distDir}/extensions/gdx-controllers"/> 196 <property name="jar" value="gdx-controllers"/> 197 <reference refid="classpath"/> 198 </ant> 199 </target> 200 201 <target name="gdx-controllers-desktop" depends="gdx-core,gdx-jnigen,gdx-controllers"> 202 <path id="classpath"> 203 <pathelement location="${distDir}/gdx.jar"/> 204 <pathelement location="${distDir}/extensions/gdx-jnigen/gdx-jnigen.jar"/> 205 <pathelement location="${distDir}/extensions/gdx-controllers/gdx-controllers.jar"/> 206 </path> 207 <ant antfile="../../../build-template.xml" dir="extensions/gdx-controllers/gdx-controllers-desktop"> 208 <property name="distDir" value="${distDir}/extensions/gdx-controllers/"/> 209 <property name="jar" value="gdx-controllers-desktop"/> 210 <reference refid="classpath"/> 211 </ant> 212 </target> 213 214 <target name="gdx-controllers-lwjgl3" depends="gdx-core,gdx-controllers,gdx-backend-lwjgl3"> 215 <path id="classpath"> 216 <pathelement location="${distDir}/gdx.jar"/> 217 <pathelement location="${distDir}/gdx-backend-lwjgl3.jar"/> 218 <pathelement location="${distDir}/extensions/gdx-controllers/gdx-controllers.jar"/> 219 </path> 220 <ant antfile="../../../build-template.xml" dir="extensions/gdx-controllers/gdx-controllers-lwjgl3"> 221 <property name="distDir" value="${distDir}/extensions/gdx-controllers/"/> 222 <property name="jar" value="gdx-controllers-lwjgl3"/> 223 <reference refid="classpath"/> 224 </ant> 225 </target> 226 227 <target name="gdx-controllers-android" depends="gdx-core,gdx-backend-android,gdx-controllers"> 228 <path id="classpath"> 229 <pathelement location="${distDir}/gdx.jar"/> 230 <pathelement location="${distDir}/gdx-backend-android.jar"/> 231 <pathelement location="${distDir}/extensions/gdx-controllers/gdx-controllers.jar"/> 232 <pathelement location="${basedir}/backends/gdx-backend-android/libs/android-4.4.jar"/> 233 </path> 234 <ant antfile="../../../build-template.xml" dir="extensions/gdx-controllers/gdx-controllers-android"> 235 <property name="distDir" value="${distDir}/extensions/gdx-controllers"/> 236 <property name="jar" value="gdx-controllers-android"/> 237 <reference refid="classpath"/> 238 </ant> 239 </target> 240 241 <target name="gdx-controllers-gwt" depends="gdx-core,gdx-backend-gwt,gdx-controllers"> 242 <path id="classpath"> 243 <pathelement location="${distDir}/gdx.jar"/> 244 <pathelement location="${distDir}/gdx-backend-gwt.jar"/> 245 <pathelement location="${distDir}/extensions/gdx-controllers/gdx-controllers.jar"/> 246 <pathelement location="${basedir}/backends/gdx-backends-gwt/libs/gwt-dev.jar"/> 247 <pathelement location="${basedir}/backends/gdx-backends-gwt/libs/gwt-user.jar"/> 248 </path> 249 <ant antfile="../../../build-template.xml" dir="extensions/gdx-controllers/gdx-controllers-gwt"> 250 <property name="distDir" value="${distDir}/extensions/gdx-controllers"/> 251 <property name="jar" value="gdx-controllers-gwt"/> 252 <reference refid="classpath"/> 253 </ant> 254 </target> 255 256 <!-- gdx freetype --> 257 <target name="gdx-freetype" depends="gdx-core"> 258 <path id="classpath"> 259 <pathelement location="${distDir}/gdx.jar"/> 260 <pathelement location="${distDir}/extensions/gdx-jnigen/gdx-jnigen.jar"/> 261 </path> 262 <ant antfile="../../build-template.xml" dir="extensions/gdx-freetype"> 263 <property name="distDir" value="${distDir}/extensions/gdx-freetype"/> 264 <property name="jar" value="gdx-freetype"/> 265 <reference refid="classpath"/> 266 </ant> 267 </target> 268 269 <!-- gdx bullet --> 270 <target name="gdx-bullet" depends="gdx-core"> 271 <path id="classpath"> 272 <pathelement location="${distDir}/gdx.jar"/> 273 <pathelement location="${distDir}/extensions/gdx-jnigen/gdx-jnigen.jar"/> 274 </path> 275 <path id="src"> 276 <pathelement location="extensions/gdx-bullet/src"/> 277 <pathelement location="extensions/gdx-bullet/jni/swig-src"/> 278 </path> 279 <ant antfile="../../build-template.xml" dir="extensions/gdx-bullet"> 280 <property name="distDir" value="${distDir}/extensions/gdx-bullet"/> 281 <property name="jar" value="gdx-bullet"/> 282 <reference refid="classpath"/> 283 <reference refid="src"/> 284 </ant> 285 </target> 286 287 <!-- generates the javadoc for the core api and the application implementations --> 288 <target name="docs" depends="clean"> 289 <javadoc destdir="${distDir}/docs/api" author="true" version="true" use="true" 290 windowtitle="libgdx API" doctitle="libgdx API" footer="libgdx API" useexternalfile="true"> 291 <header><![CDATA[ 292 libgdx API 293 <style> 294 body, td, th { font-family:Helvetica, Tahoma, Arial, sans-serif; font-size:10pt } 295 pre, code, tt { font-size:9pt; font-family:Lucida Console, Courier New, sans-serif } 296 h1, h2, h3, .FrameTitleFont, .FrameHeadingFont, .TableHeadingColor font { font-size:105%; font-weight:bold } 297 .TableHeadingColor { background:#EEEEFF; } 298 a { text-decoration:none } 299 a:hover { text-decoration:underline } 300 a:link, a:visited { color:blue } 301 table { border:0px } 302 .TableRowColor td:first-child { border-left:1px solid black } 303 .TableRowColor td { border:0px; border-bottom:1px solid black; border-right:1px solid black } 304 hr { border:0px; border-bottom:1px solid #333366; } 305 </style> 306 ]]></header> 307 <bottom><![CDATA[ 308 <div style="font-size:9pt"><i> 309 Copyright © 2010-2013 Mario Zechner (contact (a] badlogicgames.com), Nathan Sweet (admin (a] esotericsoftware.com) 310 </i></div> 311 ]]></bottom> 312 <fileset dir="gdx/src" defaultexcludes="yes"> 313 <include name="com/badlogic/gdx/**" /> 314 <exclude name="com/badlogic/gdx/**/*.glsl"/> 315 <exclude name="com/badlogic/gdx/utils/arial-15.fnt" /> 316 <exclude name="com/badlogic/gdx/utils/arial-15.png" /> 317 <exclude name="com/badlogic/gdx/utils/XmlReader.rl" /> 318 <exclude name="com/badlogic/gdx/utils/JsonReader.rl" /> 319 </fileset> 320 <fileset dir="backends" includes="gdx-backend-jglfw/src/com/badlogic/gdx/backends/jglfw/JglfwApplication.java"/> 321 <fileset dir="backends" includes="gdx-backend-lwjgl/src/com/badlogic/gdx/backends/lwjgl/LwjglApplication.java"/> 322 <fileset dir="backends" includes="gdx-backend-lwjgl/src/com/badlogic/gdx/backends/lwjgl/LwjglApplicationConfiguration.java"/> 323 <fileset dir="backends" includes="gdx-backend-lwjgl/src/com/badlogic/gdx/backends/lwjgl/LwjglCanvas.java"/> 324 <fileset dir="backends" includes="gdx-backend-android/src/com/badlogic/gdx/backends/android/AndroidApplication.java"/> 325 <fileset dir="backends" includes="gdx-backend-android/src/com/badlogic/gdx/backends/android/AndroidApplicationConfiguration.java"/> 326 <fileset dir="backends" includes="gdx-backends-gwt/src/com/badlogic/gdx/backends/gwt/GwtApplication.java"/> 327 <fileset dir="backends" includes="gdx-backends-gwt/src/com/badlogic/gdx/backends/gwt/GwtApplicationConfiguration.java"/> 328 <fileset dir="backends" includes="gdx-backend-robovm/src/com/badlogic/gdx/backends/iosrobovm/IOSApplication.java"/> 329 <fileset dir="backends" includes="gdx-backend-robovm/src/com/badlogic/gdx/backends/iosrobovm/IOSApplicationConfiguration.java"/> 330 <fileset dir="extensions" includes="gdx-box2d/gdx-box2d/src/com/badlogic/gdx/physics/box2d/**"/> 331 </javadoc> 332 </target> 333 334 <target name="jars" 335 depends="clean,gdx-setup,gdx-core,gdx-backend-lwjgl,gdx-backend-lwjgl3,gdx-backend-jglfw,gdx-backend-headless,gdx-backend-android,gdx-backend-gwt,gdx-backend-robovm,gdx-tools,gdx-box2d,gdx-box2d-gwt,gdx-controllers,gdx-controllers-desktop,gdx-controllers-lwjgl3,gdx-controllers-android,gdx-controllers-gwt,gdx-freetype,gdx-bullet"/> 336 337 <target name="all" depends="jars,docs"> 338 <!-- copy distribution files (licences etc.) --> 339 <copy tofile="${distDir}/README" file="README.md"/> 340 <copy tofile="${distDir}/LICENSE" file="LICENSE"/> 341 <copy tofile="${distDir}/CC-LICENSE" file="CC-LICENSE"/> 342 <copy tofile="${distDir}/AUTHORS" file="AUTHORS"/> 343 <copy tofile="${distDir}/CONTRIBUTORS" file="CONTRIBUTORS"/> 344 345 <!-- zip dist dir --> 346 <zip destfile="libgdx-${version}.zip" basedir="${distDir}"/> 347 <checksum file="libgdx-${version}.zip" forceOverwrite="yes" /> 348 </target> 349 </project> 350