Mindustry/settings.gradle

71 lines
2.3 KiB
Groovy

if(JavaVersion.current().ordinal() < JavaVersion.VERSION_16.ordinal()){
throw new Exception("!!! YOU MUST USE JAVA 16 OR ABOVE TO COMPILE AND RUN MINDUSTRY !!! Read the README. Your version: ${System.properties["java.version"]}")
}
include 'desktop', 'core', 'server', 'ios', 'annotations', 'tools', 'tests'
def use = { ... names ->
for(String name : names){
include(name)
project(name).projectDir = new File(settingsDir, "../${name.substring(1).replace(":", "/")}")
}
}
def hasSdk = System.getenv("ANDROID_HOME") != null
if(new File(settingsDir, 'local.properties').exists()){
def properties = new Properties()
properties.load(new File(settingsDir, 'local.properties').newDataInputStream())
if(properties.containsKey("sdk.dir")) hasSdk = true
}
if(System.getenv("JITPACK") == "true") hasSdk = false
if(hasSdk){
//hack: pretend the Android module doesn't exist when imported through IntelliJ
//why? because IntelliJ chokes on the new version of the Android plugin
if(!System.getProperty("jna.tmpdir")?.contains("JetBrains")){
include 'android'
}
}else{
println("No Android SDK found. Skipping Android module.")
}
if(!hasProperty("release")){
if(new File(settingsDir, '../Arc').exists()){
use(
':Arc',
':Arc:arc-core',
':Arc:extensions',
':Arc:extensions:freetype',
':Arc:extensions:recorder',
':Arc:extensions:arcnet',
':Arc:extensions:packer',
':Arc:extensions:g3d',
':Arc:extensions:fx',
':Arc:extensions:flabel',
':Arc:extensions:discord',
':Arc:extensions:profiling',
':Arc:natives',
':Arc:natives:natives-desktop',
':Arc:natives:natives-android',
':Arc:natives:natives-ios',
':Arc:natives:natives-freetype-desktop',
':Arc:natives:natives-freetype-android',
':Arc:natives:natives-freetype-ios',
':Arc:backends',
':Arc:backends:backend-sdl',
':Arc:backends:backend-android',
':Arc:backends:backend-robovm',
':Arc:backends:backend-headless'
)
}
if(new File(settingsDir, '../Mindustry-Debug').exists()){
include(":debug")
project(":debug").projectDir = new File(settingsDir, "../Mindustry-Debug")
}
}else{
println("Not including local repositories.")
}