buildscript { ext.kotlinVersion = '1.3.50' repositories { // Chinese mirrors for quicker loading for chinese devs maven{ url 'https://maven.aliyun.com/repository/jcenter'} maven{ url 'https://maven.aliyun.com/repository/google'} maven{ url 'https://maven.aliyun.com/repository/gradle-plugin'} maven{ url 'https://maven.aliyun.com/repository/public'} google() mavenLocal() mavenCentral() maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } jcenter() maven{ url 'https://jitpack.io' } // for the anuken packr } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" classpath 'de.richsource.gradle.plugins:gwt-gradle-plugin:0.6' classpath 'com.android.tools.build:gradle:3.5.3' classpath 'com.mobidevelop.robovm:robovm-gradle-plugin:2.3.1' // This is for wrapping the .jar file into a standalone executable classpath "com.github.anuken:packr:-SNAPSHOT" } } allprojects { apply plugin: "eclipse" apply plugin: "idea" version = '1.0.1' ext { appName = "Unciv" gdxVersion = '1.9.10' roboVMVersion = '2.3.1' box2DLightsVersion = '1.4' ashleyVersion = '1.7.0' aiVersion = '1.8.0' } repositories { // Chinese mirrors for quicker loading for chinese devs maven{ url 'https://maven.aliyun.com/repository/jcenter'} maven{ url 'https://maven.aliyun.com/repository/google'} maven{ url 'https://maven.aliyun.com/repository/gradle-plugin'} maven{ url 'https://maven.aliyun.com/repository/public'} google() jcenter() mavenLocal() mavenCentral() maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } maven { url "https://oss.sonatype.org/content/repositories/releases/" } maven{ url 'https://jitpack.io' } // for java-discord-rpc } } project(":desktop") { apply plugin: "kotlin" dependencies { implementation project(":core") implementation "com.badlogicgames.gdx:gdx-backend-lwjgl:$gdxVersion" implementation "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop" implementation "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-desktop" implementation "com.badlogicgames.gdx:gdx-tools:$gdxVersion" // This is for the TexturePacker class implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion" // This iss so the JAR works with Kotlin implementation 'com.github.MinnDevelopment:java-discord-rpc:v2.0.1' } } project(":android") { apply plugin: "android" //apply plugin: "kotlin-android" // This seems to have problems in Gradle 4.6 configurations { natives } dependencies { implementation project(":core") implementation "com.badlogicgames.gdx:gdx-backend-android:$gdxVersion" natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi" natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi-v7a" natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-arm64-v8a" natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86" natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86_64" implementation "com.badlogicgames.gdx:gdx-box2d:$gdxVersion" natives "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-armeabi" natives "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-armeabi-v7a" natives "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-arm64-v8a" natives "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-x86" natives "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-x86_64" // Freetype implementation "com.badlogicgames.gdx:gdx-freetype:$gdxVersion" natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-armeabi" natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-armeabi-v7a" natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-arm64-v8a" natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-x86" natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-x86_64" } } project(":ios") { apply plugin: "kotlin" apply plugin: "robovm" dependencies { implementation project(":core") implementation "com.mobidevelop.robovm:robovm-rt:$roboVMVersion" implementation "com.mobidevelop.robovm:robovm-cocoatouch:$roboVMVersion" implementation "com.badlogicgames.gdx:gdx-backend-robovm:$gdxVersion" implementation "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-ios" implementation "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-ios" } } project(":core") { apply plugin: "kotlin" dependencies { implementation "com.badlogicgames.gdx:gdx:$gdxVersion" implementation "com.badlogicgames.gdx:gdx-box2d:$gdxVersion" implementation "com.badlogicgames.gdx:gdx-freetype:$gdxVersion" implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion" } // Taken from https://github.com/TomGrill/gdx-testing project(":tests") { apply plugin: "java" test{ workingDir= file("../android/assets") } sourceSets.test.java.srcDirs = ["src/"] dependencies { /** * If you do have some classes to test in os specific code you may want to uncomment * some of these lines. * * BUT: I recommend to create seperate test sub projects for each platform. Trust me :) * */ implementation project(":core") implementation "junit:junit:4.12" implementation "org.mockito:mockito-all:1.9.5" implementation "com.badlogicgames.gdx:gdx-backend-headless:$gdxVersion" implementation "com.badlogicgames.gdx:gdx:$gdxVersion" testImplementation 'junit:junit:4.12' testImplementation "org.mockito:mockito-all:1.9.5" testImplementation "com.badlogicgames.gdx:gdx-backend-headless:$gdxVersion" testCompile "com.badlogicgames.gdx:gdx:$gdxVersion" testCompile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop" } }} tasks.eclipse.doLast { delete ".project" }