includeBuild for Arc

This commit is contained in:
Anuken
2023-10-30 14:56:40 -04:00
parent db60fcd64d
commit 695dad201f
2 changed files with 19 additions and 49 deletions

View File

@@ -5,6 +5,14 @@ buildscript{
} }
arcHash = getArcHash() arcHash = getArcHash()
localArc = !project.hasProperty("release") && new File(rootDir.parent, 'Arc').exists() && !project.hasProperty("noLocalArc")
arcModule = { String name ->
//skip to last submodule
name = name.substring(name.lastIndexOf(':') + 1)
return "com.github.Anuken${localArc ? "" : ".Arc"}:$name:$arcHash"
}
} }
repositories{ repositories{
@@ -16,8 +24,8 @@ buildscript{
} }
dependencies{ dependencies{
classpath "com.github.Anuken.Arc:packer:$arcHash" classpath arcModule(":extensions:packer")
classpath "com.github.Anuken.Arc:arc-core:$arcHash" classpath arcModule(":arc-core")
} }
} }
@@ -48,20 +56,6 @@ allprojects{
return new File(projectDir.parent, '../Mindustry-Debug').exists() && !project.hasProperty("release") && project.hasProperty("args") return new File(projectDir.parent, '../Mindustry-Debug').exists() && !project.hasProperty("release") && project.hasProperty("args")
} }
localArc = {
return !project.hasProperty("release") && !project.hasProperty("noLocalArc") && new File(projectDir.parent, '../Arc').exists()
}
arcModule = { String name ->
if(localArc()){
return project(":Arc:$name")
}else{
//skip to last submodule
if(name.contains(':')) name = name.split(':').last()
return "com.github.Anuken.Arc:$name:${getArcHash()}"
}
}
generateDeployName = { String platform -> generateDeployName = { String platform ->
if(platform == "windows"){ if(platform == "windows"){
platform += "64" platform += "64"
@@ -331,8 +325,8 @@ project(":core"){
api arcModule("extensions:fx") api arcModule("extensions:fx")
api arcModule("extensions:arcnet") api arcModule("extensions:arcnet")
api "com.github.Anuken:rhino:$rhinoVersion" api "com.github.Anuken:rhino:$rhinoVersion"
if(localArc() && debugged()) api arcModule("extensions:recorder") if(localArc && debugged()) api arcModule("extensions:recorder")
if(localArc()) api arcModule(":extensions:packer") if(localArc) api arcModule(":extensions:packer")
annotationProcessor 'com.github.Anuken:jabel:0.9.0' annotationProcessor 'com.github.Anuken:jabel:0.9.0'
compileOnly project(":annotations") compileOnly project(":annotations")

View File

@@ -33,39 +33,15 @@ if(hasSdk){
println("No Android SDK found. Skipping Android module.") println("No Android SDK found. Skipping Android module.")
} }
if(!hasProperty("release")){ if(!hasProperty("release") && !hasProperty("noLocalArc")){
if(new File(settingsDir, '../Arc').exists()){ if(new File(rootDir.parent, 'Arc').exists()){
use( println("Compiling with localArc")
':Arc', includeBuild("../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()){ if(new File(rootDir.parent, 'Mindustry-Debug').exists()){
include(":debug") include(":debug")
project(":debug").projectDir = new File(settingsDir, "../Mindustry-Debug") project(":debug").projectDir = new File(rootDir.parent, "Mindustry-Debug")
} }
}else{ }else{
println("Not including local repositories.") println("Not including local repositories.")