blob: 7166a93b6b86b16dafa97ff067fae6dbf474eb2f [file] [log] [blame]
ext {
GROUPID = "com.badlogicgames.gdx"
VERSION = "1.9.3-SNAPSHOT"
gdxVersion = VERSION
robovmVersion = "1.9.0"
moeVersion = "1.0.0"
androidVersion = "4.4"
gwtVersion = "2.6.0"
jglfwVersion = "1.1"
lwjglVersion = "2.9.2"
lwjgl3Version = "3.0.0b"
jlayerVersion = "1.0.1-gdx"
jorbisVersion = "0.0.17"
junitVersion = "4.11"
appleExtensionVersion = "1.4"
}
buildscript {
repositories {
mavenCentral()
jcenter()
}
dependencies {
classpath "com.android.tools.build:gradle:1.2.3"
classpath "org.robovm:robovm-gradle-plugin:1.5.0"
classpath 'de.richsource.gradle.plugins:gwt-gradle-plugin:0.6'
}
}
// apply the following to all projects, except the
// Android test project, that one has its own
// build.gradle file cause Android is special...
configure(allprojects - project(':tests:gdx-tests-android')) {
apply plugin: "eclipse"
apply plugin: "idea"
apply plugin: "java"
compileJava.options.encoding = 'UTF-8';
repositories {
mavenLocal()
mavenCentral()
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}
group = GROUPID
version = VERSION
// set source Java version
sourceCompatibility = 1.6
targetCompatibility = 1.6
sourceSets.main.java.srcDirs = ["src"]
sourceSets.main.resources.srcDirs = ["src"]
// create a custom configuration for local dependencies such as Android runtime
configurations {
optional
compile.extendsFrom optional
}
}
project(":gdx") {
sourceSets.test.java.srcDirs = ["test"]
dependencies {
optional project(":extensions:gdx-jnigen")
testCompile "junit:junit:$junitVersion"
}
}
project(":backends:gdx-backend-android") {
dependencies {
compile project(":gdx")
optional fileTree(dir: 'libs', include: ['*.jar'])
}
}
project(":backends:gdx-backend-headless") {
dependencies { compile project(":gdx") }
}
project(":backends:gdx-backend-jglfw") {
dependencies {
compile project(":gdx")
compile "com.badlogicgames.jglfw:jglfw:$jglfwVersion"
compile "com.badlogicgames.jglfw:jglfw-platform:$jglfwVersion:natives-desktop"
}
}
project(":backends:gdx-backend-lwjgl") {
dependencies {
compile project(":gdx")
compile "org.lwjgl.lwjgl:lwjgl:$lwjglVersion"
compile "org.lwjgl.lwjgl:lwjgl_util:$lwjglVersion"
compile "com.badlogicgames.jlayer:jlayer:$jlayerVersion"
compile "org.jcraft:jorbis:$jorbisVersion"
}
}
project(":backends:gdx-backend-lwjgl3") {
dependencies {
compile project(":gdx")
compile "org.lwjgl:lwjgl:$lwjgl3Version"
compile "org.lwjgl:lwjgl-platform:$lwjgl3Version:natives-linux"
compile "org.lwjgl:lwjgl-platform:$lwjgl3Version:natives-windows"
compile "org.lwjgl:lwjgl-platform:$lwjgl3Version:natives-osx"
compile "com.apple:AppleJavaExtensions:$appleExtensionVersion"
compile "com.badlogicgames.jlayer:jlayer:$jlayerVersion"
compile "org.jcraft:jorbis:$jorbisVersion"
}
}
project(":backends:gdx-backend-robovm") {
dependencies {
compile project(":gdx")
optional "org.robovm:robovm-rt:$robovmVersion"
optional "org.robovm:robovm-objc:$robovmVersion"
optional "org.robovm:robovm-cocoatouch:$robovmVersion"
}
}
project(":backends:gdx-backend-moe") {
dependencies {
compile project(":gdx")
optional fileTree(dir: 'libs', include: ['*.jar'])
}
}
project(":backends:gdx-backends-gwt") {
sourceSets.main.java.exclude "**/System.java"
dependencies {
compile project(":gdx")
optional "com.google.gwt:gwt-user:$gwtVersion"
optional "com.google.gwt:gwt-dev:$gwtVersion"
}
eclipse {
sourceSets.main.java.srcDirs "src", "src/com/badlogic/gdx/backends/gwt/emu"
classpath.file.whenMerged { classpath ->
classpath.entries.find { it.path == 'src' }*.excludes = [
"com/badlogic/gdx/backends/gwt/emu/"]
}
}
}
project(":extensions:gdx-box2d:gdx-box2d") {
dependencies {
compile project(":gdx")
optional project(":extensions:gdx-jnigen")
}
}
project(":extensions:gdx-box2d:gdx-box2d-gwt") {
dependencies { compile project(":gdx") }
eclipse {
sourceSets.main.java.srcDirs "src", "src/com/badlogic/gdx/physics/box2d/gwt/emu"
classpath.file.whenMerged { classpath ->
classpath.entries.find { it.path == 'src' }*.excludes = [
"com/badlogic/gdx/physics/box2d/gwt/emu/"
]
}
}
}
project(":extensions:gdx-bullet") {
sourceSets.main.java.srcDirs = [
"jni/swig-src/collision",
"jni/swig-src/dynamics",
"jni/swig-src/extras",
"jni/swig-src/linearmath",
"jni/swig-src/softbody",
"src"
]
dependencies {
compile project(":gdx")
optional project(":extensions:gdx-jnigen")
}
}
project(":extensions:gdx-controllers:gdx-controllers") {
dependencies { compile project(":gdx"); }
}
project(":extensions:gdx-controllers:gdx-controllers-android") {
dependencies {
compile project(":gdx");
compile project(":extensions:gdx-controllers:gdx-controllers");
compile project(":backends:gdx-backend-android");
}
}
project(":extensions:gdx-controllers:gdx-controllers-desktop") {
dependencies {
compile project(":gdx");
compile project(":extensions:gdx-controllers:gdx-controllers");
compile project(":backends:gdx-backend-lwjgl");
optional project(":extensions:gdx-jnigen")
}
}
project(":extensions:gdx-controllers:gdx-controllers-lwjgl3") {
dependencies {
compile project(":gdx");
compile project(":extensions:gdx-controllers:gdx-controllers");
compile project(":backends:gdx-backend-lwjgl3");
optional project(":extensions:gdx-jnigen")
}
}
project(":extensions:gdx-controllers:gdx-controllers-gwt") {
dependencies {
compile project(":gdx");
compile project(":extensions:gdx-controllers:gdx-controllers");
compile project(":backends:gdx-backends-gwt");
}
eclipse {
sourceSets.main.java.srcDirs "src", "src/com/badlogic/gdx/controllers/gwt/emu"
classpath.file.whenMerged { classpath ->
classpath.entries.find { it.path == 'src' }*.excludes = [
"com/badlogic/gdx/controllers/gwt/emu/"
]
}
}
}
project(":extensions:gdx-freetype") {
dependencies { compile project(":gdx"); }
}
project(":extensions:gdx-jnigen") {
dependencies { compile "com.github.javaparser:javaparser-core:2.3.0" }
}
project(":extensions:gdx-setup") {
}
project(":extensions:gdx-tools") {
dependencies {
compile files("../../gdx/libs/gdx-natives.jar")
compile files("../../extensions/gdx-freetype/libs/gdx-freetype-natives.jar")
compile project(":backends:gdx-backend-lwjgl")
compile project(":backends:gdx-backend-headless")
compile project(":extensions:gdx-freetype")
optional fileTree(dir: 'libs', include: ['*.jar'])
}
}
project(":tests:gdx-tests") {
dependencies {
compile project(":gdx")
compile project(":extensions:gdx-box2d:gdx-box2d")
compile project(":extensions:gdx-bullet")
compile project(":extensions:gdx-controllers:gdx-controllers")
compile project(":extensions:gdx-freetype")
}
}
project(":tests:gdx-tests-android") {
apply plugin: "eclipse"
apply plugin: "idea"
apply plugin: "android"
dependencies {
compile project(":tests:gdx-tests")
compile project(":backends:gdx-backend-android")
compile "com.android.support:support-v4:+"
}
}
project(":tests:gdx-tests-gwt") {
apply plugin: "gwt"
apply plugin: "war"
dependencies {
compile project(":tests:gdx-tests")
compile project(":backends:gdx-backends-gwt")
compile project(":extensions:gdx-box2d:gdx-box2d-gwt")
compile project(":extensions:gdx-controllers:gdx-controllers-gwt")
}
}
project(":tests:gdx-tests-iosrobovm") {
dependencies {
compile project(":tests:gdx-tests")
compile project(":backends:gdx-backend-robovm")
}
eclipse.project {
natures 'org.robovm.eclipse.RoboVMNature'
}
}
project("tests:gdx-tests-ios-intel") {
dependencies {
compile project(":tests:gdx-tests")
//compile project(":backends:gdx-backend-moe")
compile "com.badlogicgames.gdx:gdx-backend-moe:$gdxVersion"
//natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-ios"
}
eclipse.project {
natures 'org.robovm.eclipse.RoboVMNature'
}
}
project(":tests:gdx-tests-jglfw") {
dependencies {
compile project(":tests:gdx-tests")
compile project(":backends:gdx-backend-jglfw")
compile files("../../gdx/libs/gdx-natives.jar")
compile files("../../backends/gdx-backend-jglfw/libs/gdx-backend-jglfw-natives.jar")
compile files("../../extensions/gdx-box2d/gdx-box2d/libs/gdx-box2d-natives.jar")
compile files("../../extensions/gdx-bullet/libs/gdx-bullet-natives.jar")
compile files("../../extensions/gdx-controllers/gdx-controllers-desktop/libs/gdx-controllers-desktop-natives.jar")
compile project(":extensions:gdx-controllers:gdx-controllers-desktop")
compile files("../../extensions/gdx-freetype/libs/gdx-freetype-natives.jar")
}
eclipse.project.linkedResource name: 'assets', type: '2', location: 'PARENT-1-PROJECT_LOC/gdx-tests-android/assets'
task afterEclipseImport(description: "Post processing after project generation", group: "IDE") {
doLast {
def classpath = new XmlParser().parse(file(".classpath"))
new Node(classpath, "classpathentry", [kind: 'src', path: 'assets']);
def writer = new FileWriter(file(".classpath"))
def printer = new XmlNodePrinter(new PrintWriter(writer))
printer.setPreserveWhitespace(true)
printer.print(classpath)
}
}
}
project(":tests:gdx-tests-lwjgl") {
dependencies {
compile project(":tests:gdx-tests")
compile project(":backends:gdx-backend-lwjgl")
compile files("../../gdx/libs/gdx-natives.jar")
compile files("../../extensions/gdx-box2d/gdx-box2d/libs/gdx-box2d-natives.jar")
compile files("../../extensions/gdx-bullet/libs/gdx-bullet-natives.jar")
compile files("../../extensions/gdx-controllers/gdx-controllers-desktop/libs/gdx-controllers-desktop-natives.jar")
compile project(":extensions:gdx-controllers:gdx-controllers-desktop")
compile files("../../extensions/gdx-freetype/libs/gdx-freetype-natives.jar")
}
eclipse.project.linkedResource name: 'assets', type: '2', location: 'PARENT-1-PROJECT_LOC/gdx-tests-android/assets'
task afterEclipseImport(description: "Post processing after project generation", group: "IDE") {
doLast {
def classpath = new XmlParser().parse(file(".classpath"))
new Node(classpath, "classpathentry", [kind: 'src', path: 'assets']);
def writer = new FileWriter(file(".classpath"))
def printer = new XmlNodePrinter(new PrintWriter(writer))
printer.setPreserveWhitespace(true)
printer.print(classpath)
}
}
}
project(":tests:gdx-tests-lwjgl3") {
dependencies {
compile project(":tests:gdx-tests")
compile project(":backends:gdx-backend-lwjgl3")
compile files("../../gdx/libs/gdx-natives.jar")
compile files("../../extensions/gdx-box2d/gdx-box2d/libs/gdx-box2d-natives.jar")
compile files("../../extensions/gdx-bullet/libs/gdx-bullet-natives.jar")
compile files("../../extensions/gdx-controllers/gdx-controllers-lwjgl3/libs/gdx-controllers-desktop-natives.jar")
compile project(":extensions:gdx-controllers:gdx-controllers-lwjgl3")
compile files("../../extensions/gdx-freetype/libs/gdx-freetype-natives.jar")
}
eclipse.project.linkedResource name: 'assets', type: '2', location: 'PARENT-1-PROJECT_LOC/gdx-tests-android/assets'
task afterEclipseImport(description: "Post processing after project generation", group: "IDE") {
doLast {
def classpath = new XmlParser().parse(file(".classpath"))
new Node(classpath, "classpathentry", [kind: 'src', path: 'assets']);
def writer = new FileWriter(file(".classpath"))
def printer = new XmlNodePrinter(new PrintWriter(writer))
printer.setPreserveWhitespace(true)
printer.print(classpath)
}
}
}
if (JavaVersion.current().isJava8Compatible()) {
allprojects {
tasks.withType(Javadoc) {
options.addStringOption("Xdoclint:none", "-quiet")
}
}
}
task fetchNatives << {
ant.importBuild "fetch.xml"
fetch.execute()
copy.execute()
}