Home | History | Annotate | Download | only in libgdx
      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 &copy; 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