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 //UPDATE: it no longer chokes on AGP with the latest version, but instead gives a completely different error. brilliant. 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.") }