blob: 7166a93b6b86b16dafa97ff067fae6dbf474eb2f [file] [log] [blame]
badlogic8431b5d2015-07-10 14:15:54 +02001ext {
TomSki0f427512015-07-22 12:06:06 +01002 GROUPID = "com.badlogicgames.gdx"
badlogic4f7d9462016-04-21 14:10:34 +02003 VERSION = "1.9.3-SNAPSHOT"
4 gdxVersion = VERSION
Tom-Skia02f1d62015-11-18 01:37:28 +00005 robovmVersion = "1.9.0"
badlogic4f7d9462016-04-21 14:10:34 +02006 moeVersion = "1.0.0"
TomSki0f427512015-07-22 12:06:06 +01007 androidVersion = "4.4"
8 gwtVersion = "2.6.0"
9 jglfwVersion = "1.1"
10 lwjglVersion = "2.9.2"
Tom-Skiffa94242016-01-27 12:24:23 +000011 lwjgl3Version = "3.0.0b"
TomSki0f427512015-07-22 12:06:06 +010012 jlayerVersion = "1.0.1-gdx"
13 jorbisVersion = "0.0.17"
TomSki1e8638b2015-07-22 12:09:18 +010014 junitVersion = "4.11"
Tom-Skiffa94242016-01-27 12:24:23 +000015 appleExtensionVersion = "1.4"
badlogic8431b5d2015-07-10 14:15:54 +020016}
17
18buildscript {
Tom-Ski954436e2016-03-05 23:11:55 +000019 repositories {
20 mavenCentral()
21 jcenter()
22 }
23
TomSki0f427512015-07-22 12:06:06 +010024 dependencies {
TomSkif2a6c4c2015-07-22 19:56:27 +010025 classpath "com.android.tools.build:gradle:1.2.3"
TomSki51d75ab2015-07-22 21:16:29 +010026 classpath "org.robovm:robovm-gradle-plugin:1.5.0"
Tom-Ski954436e2016-03-05 23:11:55 +000027 classpath 'de.richsource.gradle.plugins:gwt-gradle-plugin:0.6'
TomSki0f427512015-07-22 12:06:06 +010028 }
badlogic8431b5d2015-07-10 14:15:54 +020029}
30
31// apply the following to all projects, except the
32// Android test project, that one has its own
33// build.gradle file cause Android is special...
34configure(allprojects - project(':tests:gdx-tests-android')) {
TomSki0f427512015-07-22 12:06:06 +010035 apply plugin: "eclipse"
36 apply plugin: "idea"
37 apply plugin: "java"
badlogic8431b5d2015-07-10 14:15:54 +020038
Tom-Ski379c08e2015-09-14 08:53:59 +010039 compileJava.options.encoding = 'UTF-8';
40
TomSki0f427512015-07-22 12:06:06 +010041 repositories {
badlogic4f7d9462016-04-21 14:10:34 +020042 mavenLocal()
TomSki0f427512015-07-22 12:06:06 +010043 mavenCentral()
44 maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
45 }
badlogic8431b5d2015-07-10 14:15:54 +020046
TomSki0f427512015-07-22 12:06:06 +010047 group = GROUPID
48 version = VERSION
badlogic8431b5d2015-07-10 14:15:54 +020049
TomSki0f427512015-07-22 12:06:06 +010050 // set source Java version
51 sourceCompatibility = 1.6
52 targetCompatibility = 1.6
53 sourceSets.main.java.srcDirs = ["src"]
54 sourceSets.main.resources.srcDirs = ["src"]
badlogic8431b5d2015-07-10 14:15:54 +020055
TomSki0f427512015-07-22 12:06:06 +010056 // create a custom configuration for local dependencies such as Android runtime
57 configurations {
58 optional
59 compile.extendsFrom optional
60 }
badlogic8431b5d2015-07-10 14:15:54 +020061}
62
63project(":gdx") {
TomSki0f427512015-07-22 12:06:06 +010064
65 sourceSets.test.java.srcDirs = ["test"]
66
67 dependencies {
68 optional project(":extensions:gdx-jnigen")
TomSki1e8638b2015-07-22 12:09:18 +010069 testCompile "junit:junit:$junitVersion"
TomSki0f427512015-07-22 12:06:06 +010070 }
badlogic8431b5d2015-07-10 14:15:54 +020071}
72
73project(":backends:gdx-backend-android") {
TomSki0f427512015-07-22 12:06:06 +010074 dependencies {
75 compile project(":gdx")
76 optional fileTree(dir: 'libs', include: ['*.jar'])
77 }
badlogic8431b5d2015-07-10 14:15:54 +020078}
79
80project(":backends:gdx-backend-headless") {
TomSki0f427512015-07-22 12:06:06 +010081 dependencies { compile project(":gdx") }
badlogic8431b5d2015-07-10 14:15:54 +020082}
83
84project(":backends:gdx-backend-jglfw") {
TomSki0f427512015-07-22 12:06:06 +010085 dependencies {
86 compile project(":gdx")
87 compile "com.badlogicgames.jglfw:jglfw:$jglfwVersion"
88 compile "com.badlogicgames.jglfw:jglfw-platform:$jglfwVersion:natives-desktop"
89 }
badlogic8431b5d2015-07-10 14:15:54 +020090}
91
92project(":backends:gdx-backend-lwjgl") {
TomSki0f427512015-07-22 12:06:06 +010093 dependencies {
94 compile project(":gdx")
95 compile "org.lwjgl.lwjgl:lwjgl:$lwjglVersion"
96 compile "org.lwjgl.lwjgl:lwjgl_util:$lwjglVersion"
97 compile "com.badlogicgames.jlayer:jlayer:$jlayerVersion"
98 compile "org.jcraft:jorbis:$jorbisVersion"
99 }
badlogic8431b5d2015-07-10 14:15:54 +0200100}
101
Tom-Skiffa94242016-01-27 12:24:23 +0000102project(":backends:gdx-backend-lwjgl3") {
103 dependencies {
104 compile project(":gdx")
105 compile "org.lwjgl:lwjgl:$lwjgl3Version"
106 compile "org.lwjgl:lwjgl-platform:$lwjgl3Version:natives-linux"
107 compile "org.lwjgl:lwjgl-platform:$lwjgl3Version:natives-windows"
108 compile "org.lwjgl:lwjgl-platform:$lwjgl3Version:natives-osx"
109 compile "com.apple:AppleJavaExtensions:$appleExtensionVersion"
110 compile "com.badlogicgames.jlayer:jlayer:$jlayerVersion"
111 compile "org.jcraft:jorbis:$jorbisVersion"
112 }
113}
114
badlogic8431b5d2015-07-10 14:15:54 +0200115project(":backends:gdx-backend-robovm") {
TomSki0f427512015-07-22 12:06:06 +0100116 dependencies {
117 compile project(":gdx")
118 optional "org.robovm:robovm-rt:$robovmVersion"
119 optional "org.robovm:robovm-objc:$robovmVersion"
120 optional "org.robovm:robovm-cocoatouch:$robovmVersion"
121 }
badlogic8431b5d2015-07-10 14:15:54 +0200122}
123
badlogic4f7d9462016-04-21 14:10:34 +0200124project(":backends:gdx-backend-moe") {
125 dependencies {
126 compile project(":gdx")
127 optional fileTree(dir: 'libs', include: ['*.jar'])
128 }
129}
130
badlogic8431b5d2015-07-10 14:15:54 +0200131project(":backends:gdx-backends-gwt") {
TomSki0f427512015-07-22 12:06:06 +0100132 sourceSets.main.java.exclude "**/System.java"
badlogic8431b5d2015-07-10 14:15:54 +0200133
TomSki0f427512015-07-22 12:06:06 +0100134 dependencies {
135 compile project(":gdx")
136 optional "com.google.gwt:gwt-user:$gwtVersion"
137 optional "com.google.gwt:gwt-dev:$gwtVersion"
138 }
badlogic8431b5d2015-07-10 14:15:54 +0200139
TomSki0f427512015-07-22 12:06:06 +0100140 eclipse {
141 sourceSets.main.java.srcDirs "src", "src/com/badlogic/gdx/backends/gwt/emu"
142 classpath.file.whenMerged { classpath ->
143 classpath.entries.find { it.path == 'src' }*.excludes = [
144 "com/badlogic/gdx/backends/gwt/emu/"]
145 }
146 }
badlogic8431b5d2015-07-10 14:15:54 +0200147}
148
149project(":extensions:gdx-box2d:gdx-box2d") {
TomSki0f427512015-07-22 12:06:06 +0100150 dependencies {
151 compile project(":gdx")
152 optional project(":extensions:gdx-jnigen")
153 }
badlogic8431b5d2015-07-10 14:15:54 +0200154}
155
156project(":extensions:gdx-box2d:gdx-box2d-gwt") {
TomSki0f427512015-07-22 12:06:06 +0100157 dependencies { compile project(":gdx") }
badlogic8431b5d2015-07-10 14:15:54 +0200158
TomSki0f427512015-07-22 12:06:06 +0100159 eclipse {
160 sourceSets.main.java.srcDirs "src", "src/com/badlogic/gdx/physics/box2d/gwt/emu"
161 classpath.file.whenMerged { classpath ->
162 classpath.entries.find { it.path == 'src' }*.excludes = [
163 "com/badlogic/gdx/physics/box2d/gwt/emu/"
164 ]
165 }
166 }
badlogic8431b5d2015-07-10 14:15:54 +0200167}
168
169project(":extensions:gdx-bullet") {
TomSki0f427512015-07-22 12:06:06 +0100170 sourceSets.main.java.srcDirs = [
171 "jni/swig-src/collision",
172 "jni/swig-src/dynamics",
173 "jni/swig-src/extras",
174 "jni/swig-src/linearmath",
175 "jni/swig-src/softbody",
176 "src"
177 ]
badlogic8431b5d2015-07-10 14:15:54 +0200178
TomSki0f427512015-07-22 12:06:06 +0100179 dependencies {
180 compile project(":gdx")
181 optional project(":extensions:gdx-jnigen")
182 }
badlogic8431b5d2015-07-10 14:15:54 +0200183}
184
185project(":extensions:gdx-controllers:gdx-controllers") {
TomSki0f427512015-07-22 12:06:06 +0100186 dependencies { compile project(":gdx"); }
badlogic8431b5d2015-07-10 14:15:54 +0200187}
188
189project(":extensions:gdx-controllers:gdx-controllers-android") {
TomSki0f427512015-07-22 12:06:06 +0100190 dependencies {
191 compile project(":gdx");
192 compile project(":extensions:gdx-controllers:gdx-controllers");
193 compile project(":backends:gdx-backend-android");
194 }
badlogic8431b5d2015-07-10 14:15:54 +0200195}
196
197project(":extensions:gdx-controllers:gdx-controllers-desktop") {
TomSki0f427512015-07-22 12:06:06 +0100198 dependencies {
199 compile project(":gdx");
200 compile project(":extensions:gdx-controllers:gdx-controllers");
201 compile project(":backends:gdx-backend-lwjgl");
202 optional project(":extensions:gdx-jnigen")
203 }
badlogic8431b5d2015-07-10 14:15:54 +0200204}
205
Tom-Skiffa94242016-01-27 12:24:23 +0000206project(":extensions:gdx-controllers:gdx-controllers-lwjgl3") {
207 dependencies {
208 compile project(":gdx");
209 compile project(":extensions:gdx-controllers:gdx-controllers");
210 compile project(":backends:gdx-backend-lwjgl3");
211 optional project(":extensions:gdx-jnigen")
212 }
213}
214
badlogic8431b5d2015-07-10 14:15:54 +0200215project(":extensions:gdx-controllers:gdx-controllers-gwt") {
TomSki0f427512015-07-22 12:06:06 +0100216 dependencies {
217 compile project(":gdx");
218 compile project(":extensions:gdx-controllers:gdx-controllers");
219 compile project(":backends:gdx-backends-gwt");
220 }
badlogic8431b5d2015-07-10 14:15:54 +0200221
TomSki0f427512015-07-22 12:06:06 +0100222 eclipse {
223 sourceSets.main.java.srcDirs "src", "src/com/badlogic/gdx/controllers/gwt/emu"
224 classpath.file.whenMerged { classpath ->
225 classpath.entries.find { it.path == 'src' }*.excludes = [
226 "com/badlogic/gdx/controllers/gwt/emu/"
227 ]
228 }
229 }
badlogic8431b5d2015-07-10 14:15:54 +0200230}
231
232project(":extensions:gdx-freetype") {
TomSki0f427512015-07-22 12:06:06 +0100233 dependencies { compile project(":gdx"); }
badlogic8431b5d2015-07-10 14:15:54 +0200234}
235
236project(":extensions:gdx-jnigen") {
Daniel Ludwig5f54cfd2015-12-11 12:16:13 +0100237 dependencies { compile "com.github.javaparser:javaparser-core:2.3.0" }
badlogic8431b5d2015-07-10 14:15:54 +0200238}
239
240project(":extensions:gdx-setup") {
241}
242
243
244project(":extensions:gdx-tools") {
TomSki0f427512015-07-22 12:06:06 +0100245 dependencies {
246 compile files("../../gdx/libs/gdx-natives.jar")
Tom-Ski711b91e2015-12-21 12:01:28 +0000247 compile files("../../extensions/gdx-freetype/libs/gdx-freetype-natives.jar")
TomSki0f427512015-07-22 12:06:06 +0100248 compile project(":backends:gdx-backend-lwjgl")
249 compile project(":backends:gdx-backend-headless")
Tom-Skiaa996d12015-12-21 00:43:18 +0000250 compile project(":extensions:gdx-freetype")
TomSki0f427512015-07-22 12:06:06 +0100251 optional fileTree(dir: 'libs', include: ['*.jar'])
252 }
badlogic8431b5d2015-07-10 14:15:54 +0200253}
254
255project(":tests:gdx-tests") {
TomSki0f427512015-07-22 12:06:06 +0100256 dependencies {
257 compile project(":gdx")
258 compile project(":extensions:gdx-box2d:gdx-box2d")
259 compile project(":extensions:gdx-bullet")
260 compile project(":extensions:gdx-controllers:gdx-controllers")
261 compile project(":extensions:gdx-freetype")
262 }
badlogic8431b5d2015-07-10 14:15:54 +0200263}
264
265project(":tests:gdx-tests-android") {
TomSki0f427512015-07-22 12:06:06 +0100266 apply plugin: "eclipse"
267 apply plugin: "idea"
268 apply plugin: "android"
269
270 dependencies {
271 compile project(":tests:gdx-tests")
272 compile project(":backends:gdx-backend-android")
Tom-Skie3cff1c2015-09-01 14:37:07 +0100273 compile "com.android.support:support-v4:+"
TomSki0f427512015-07-22 12:06:06 +0100274 }
badlogic8431b5d2015-07-10 14:15:54 +0200275}
276
277project(":tests:gdx-tests-gwt") {
Tom-Ski954436e2016-03-05 23:11:55 +0000278 apply plugin: "gwt"
279 apply plugin: "war"
TomSki0f427512015-07-22 12:06:06 +0100280 dependencies {
281 compile project(":tests:gdx-tests")
282 compile project(":backends:gdx-backends-gwt")
Tom-Ski954436e2016-03-05 23:11:55 +0000283 compile project(":extensions:gdx-box2d:gdx-box2d-gwt")
Tom-Ski4cf2ed42016-03-06 00:17:08 +0000284 compile project(":extensions:gdx-controllers:gdx-controllers-gwt")
TomSki0f427512015-07-22 12:06:06 +0100285 }
badlogic8431b5d2015-07-10 14:15:54 +0200286}
287
288project(":tests:gdx-tests-iosrobovm") {
TomSki0f427512015-07-22 12:06:06 +0100289 dependencies {
290 compile project(":tests:gdx-tests")
291 compile project(":backends:gdx-backend-robovm")
292 }
293
294 eclipse.project {
295 natures 'org.robovm.eclipse.RoboVMNature'
296 }
badlogic8431b5d2015-07-10 14:15:54 +0200297}
298
Tom Wojciechowski3d3ce942016-05-06 13:37:27 +0100299project("tests:gdx-tests-ios-intel") {
badlogic4f7d9462016-04-21 14:10:34 +0200300 dependencies {
301 compile project(":tests:gdx-tests")
Tom Wojciechowski3d3ce942016-05-06 13:37:27 +0100302 //compile project(":backends:gdx-backend-moe")
303 compile "com.badlogicgames.gdx:gdx-backend-moe:$gdxVersion"
304 //natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-ios"
badlogic4f7d9462016-04-21 14:10:34 +0200305 }
306
307 eclipse.project {
308 natures 'org.robovm.eclipse.RoboVMNature'
309 }
310}
311
badlogic8431b5d2015-07-10 14:15:54 +0200312project(":tests:gdx-tests-jglfw") {
TomSki0f427512015-07-22 12:06:06 +0100313 dependencies {
314 compile project(":tests:gdx-tests")
315 compile project(":backends:gdx-backend-jglfw")
316 compile files("../../gdx/libs/gdx-natives.jar")
317 compile files("../../backends/gdx-backend-jglfw/libs/gdx-backend-jglfw-natives.jar")
318 compile files("../../extensions/gdx-box2d/gdx-box2d/libs/gdx-box2d-natives.jar")
319 compile files("../../extensions/gdx-bullet/libs/gdx-bullet-natives.jar")
320 compile files("../../extensions/gdx-controllers/gdx-controllers-desktop/libs/gdx-controllers-desktop-natives.jar")
321 compile project(":extensions:gdx-controllers:gdx-controllers-desktop")
322 compile files("../../extensions/gdx-freetype/libs/gdx-freetype-natives.jar")
323 }
324
325 eclipse.project.linkedResource name: 'assets', type: '2', location: 'PARENT-1-PROJECT_LOC/gdx-tests-android/assets'
326 task afterEclipseImport(description: "Post processing after project generation", group: "IDE") {
327 doLast {
328 def classpath = new XmlParser().parse(file(".classpath"))
329 new Node(classpath, "classpathentry", [kind: 'src', path: 'assets']);
330 def writer = new FileWriter(file(".classpath"))
331 def printer = new XmlNodePrinter(new PrintWriter(writer))
332 printer.setPreserveWhitespace(true)
333 printer.print(classpath)
334 }
335 }
badlogic8431b5d2015-07-10 14:15:54 +0200336}
337
338project(":tests:gdx-tests-lwjgl") {
TomSki0f427512015-07-22 12:06:06 +0100339 dependencies {
340 compile project(":tests:gdx-tests")
341 compile project(":backends:gdx-backend-lwjgl")
342 compile files("../../gdx/libs/gdx-natives.jar")
343 compile files("../../extensions/gdx-box2d/gdx-box2d/libs/gdx-box2d-natives.jar")
344 compile files("../../extensions/gdx-bullet/libs/gdx-bullet-natives.jar")
345 compile files("../../extensions/gdx-controllers/gdx-controllers-desktop/libs/gdx-controllers-desktop-natives.jar")
346 compile project(":extensions:gdx-controllers:gdx-controllers-desktop")
347 compile files("../../extensions/gdx-freetype/libs/gdx-freetype-natives.jar")
348 }
badlogic8431b5d2015-07-10 14:15:54 +0200349
TomSki0f427512015-07-22 12:06:06 +0100350 eclipse.project.linkedResource name: 'assets', type: '2', location: 'PARENT-1-PROJECT_LOC/gdx-tests-android/assets'
351 task afterEclipseImport(description: "Post processing after project generation", group: "IDE") {
352 doLast {
353 def classpath = new XmlParser().parse(file(".classpath"))
354 new Node(classpath, "classpathentry", [kind: 'src', path: 'assets']);
355 def writer = new FileWriter(file(".classpath"))
356 def printer = new XmlNodePrinter(new PrintWriter(writer))
357 printer.setPreserveWhitespace(true)
358 printer.print(classpath)
359 }
360 }
badlogic8431b5d2015-07-10 14:15:54 +0200361}
362
Tom-Skiffa94242016-01-27 12:24:23 +0000363project(":tests:gdx-tests-lwjgl3") {
364 dependencies {
365 compile project(":tests:gdx-tests")
366 compile project(":backends:gdx-backend-lwjgl3")
367 compile files("../../gdx/libs/gdx-natives.jar")
368 compile files("../../extensions/gdx-box2d/gdx-box2d/libs/gdx-box2d-natives.jar")
369 compile files("../../extensions/gdx-bullet/libs/gdx-bullet-natives.jar")
370 compile files("../../extensions/gdx-controllers/gdx-controllers-lwjgl3/libs/gdx-controllers-desktop-natives.jar")
371 compile project(":extensions:gdx-controllers:gdx-controllers-lwjgl3")
372 compile files("../../extensions/gdx-freetype/libs/gdx-freetype-natives.jar")
373 }
374
375 eclipse.project.linkedResource name: 'assets', type: '2', location: 'PARENT-1-PROJECT_LOC/gdx-tests-android/assets'
376 task afterEclipseImport(description: "Post processing after project generation", group: "IDE") {
377 doLast {
378 def classpath = new XmlParser().parse(file(".classpath"))
379 new Node(classpath, "classpathentry", [kind: 'src', path: 'assets']);
380 def writer = new FileWriter(file(".classpath"))
381 def printer = new XmlNodePrinter(new PrintWriter(writer))
382 printer.setPreserveWhitespace(true)
383 printer.print(classpath)
384 }
385 }
386}
387
badlogic8431b5d2015-07-10 14:15:54 +0200388if (JavaVersion.current().isJava8Compatible()) {
TomSki0f427512015-07-22 12:06:06 +0100389 allprojects {
390 tasks.withType(Javadoc) {
391 options.addStringOption("Xdoclint:none", "-quiet")
392 }
393 }
Tom-Skie3cff1c2015-09-01 14:37:07 +0100394}
395
396task fetchNatives << {
397 ant.importBuild "fetch.xml"
398 fetch.execute()
Tomskif3880292015-09-01 15:02:17 +0100399 copy.execute()
Tom-Skie3cff1c2015-09-01 14:37:07 +0100400}