1
0
mirror of https://github.com/Anuken/Mindustry.git synced 2024-09-17 11:27:35 +03:00
Mindustry/build.gradle
2018-07-03 12:27:37 -04:00

210 lines
5.7 KiB
Groovy

buildscript {
repositories {
mavenLocal()
mavenCentral()
google()
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
jcenter()
}
dependencies {
classpath 'com.mobidevelop.robovm:robovm-gradle-plugin:2.3.0'
classpath 'de.richsource.gradle.plugins:gwt-gradle-plugin:0.6'
classpath 'com.android.tools.build:gradle:3.1.0'
classpath "com.badlogicgames.gdx:gdx-tools:1.9.8"
}
}
allprojects {
apply plugin: "eclipse"
apply plugin: "idea"
version = 'release'
ext {
versionNumber = '4.0'
versionType = 'alpha'
appName = 'Mindustry'
gdxVersion = '1.9.8'
roboVMVersion = '2.3.0'
aiVersion = '1.8.1'
uCoreVersion = '5f35012fef'
getVersionString = {
String buildVersion = getBuildVersion()
return "$versionNumber-$versionType-$buildVersion"
}
getBuildVersion = {
if(!project.hasProperty("buildversion")) return "custom build"
return project.getProperties()["buildversion"]
}
getPackage = {
return project.ext.mainClassName.substring(0, project.ext.mainClassName.indexOf("desktop") - 1)
}
writeVersion = {
def pfile = new File('core/assets/version.properties')
def props = new Properties()
try{
pfile.createNewFile()
}catch (Exception e){}
if(pfile.exists()) {
props.load(new FileInputStream(pfile))
String code = getBuildVersion()
props["name"] = appName
props["version"] = versionType
props["code"] = versionNumber
props["build"] = code
props.store(pfile.newWriter(), "Autogenerated file. Do not modify.")
}
}
}
repositories {
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' }
}
}
project(":desktop") {
apply plugin: "java"
dependencies {
compile project(":core")
compile project(":kryonet")
compile "com.badlogicgames.gdx:gdx-backend-lwjgl3:$gdxVersion"
compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop"
compile "com.badlogicgames.gdx:gdx-controllers-lwjgl3:$gdxVersion"
compile 'com.github.MinnDevelopment:java-discord-rpc:v2.0.0'
compile 'com.yuvimasory:orange-extensions:1.3.0'
}
}
project(":html") {
apply plugin: "gwt"
apply plugin: "war"
dependencies {
compile project(":core")
compileOnly project(":annotations")
compile "com.badlogicgames.gdx:gdx-backend-gwt:$gdxVersion"
compile "com.badlogicgames.gdx:gdx:$gdxVersion:sources"
compile "com.badlogicgames.gdx:gdx-backend-gwt:$gdxVersion:sources"
compile "com.badlogicgames.gdx:gdx-ai:$aiVersion:sources"
compile "com.badlogicgames.gdx:gdx-controllers:$gdxVersion:sources"
compile "com.badlogicgames.gdx:gdx-controllers-gwt:$gdxVersion"
compile "com.badlogicgames.gdx:gdx-controllers-gwt:$gdxVersion:sources"
compile "com.sksamuel.gwt:gwt-websockets:1.0.4"
compile "com.sksamuel.gwt:gwt-websockets:1.0.4:sources"
}
compileJava.options.compilerArgs = [
"-processor", "io.anuke.annotations.RemoteMethodAnnotationProcessor"
]
}
project(":ios") {
apply plugin: "java"
apply plugin: "robovm"
dependencies {
compile project(":core")
implementation project(":kryonet")
compile "com.mobidevelop.robovm:robovm-rt:$roboVMVersion"
compile "com.mobidevelop.robovm:robovm-cocoatouch:$roboVMVersion"
compile "com.badlogicgames.gdx:gdx-backend-robovm:$gdxVersion"
compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-ios"
}
}
project(":core") {
apply plugin: "java"
dependencies {
compileOnly project(":annotations")
boolean comp = System.properties["release"] == null || System.properties["release"] == "false"
if(!comp){
println("NOTICE: Compiling release build.")
}else{
println("Compiling DEBUG build.")
}
if(new File(projectDir.parent, '../uCore').exists() && comp){
compile project(":uCore")
}else{
compile "com.github.anuken:ucore:$uCoreVersion"
}
if(new File(projectDir.parent, '../GDXGifRecorder').exists() && comp) {
compile project(":GDXGifRecorder")
}
compile "com.badlogicgames.gdx:gdx:$gdxVersion"
compile "com.badlogicgames.gdx:gdx-controllers:$gdxVersion"
}
compileJava.options.compilerArgs = [
"-processor", "io.anuke.annotations.RemoteMethodAnnotationProcessor"
]
}
project(":server") {
apply plugin: "java"
dependencies {
compileOnly project(":annotations")
compile project(":core")
compile project(":kryonet")
compile "com.badlogicgames.gdx:gdx-backend-headless:$gdxVersion"
compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop"
}
}
project(":packer") {
apply plugin: "java"
dependencies {
compile project(":core")
}
}
project(":annotations") {
apply plugin: "java"
dependencies {
compile 'com.squareup:javapoet:1.11.0'
}
}
project(":kryonet") {
apply plugin: "java"
dependencies {
compile project(":core")
compile 'com.github.crykn:kryonet:2.22.1'
compile "org.java-websocket:Java-WebSocket:1.3.7"
}
}
tasks.eclipse.doLast {
delete ".project"
}