Files
distant-horizons-sharded/settings.gradle
T
Ran-Mewo 215e1d46d0 wao
2026-03-29 19:29:11 +11:00

68 lines
2.5 KiB
Groovy

// Throw an error if the core sub-project wasn't cloned
if (!file("./coreSubProjects/LICENSE.txt").exists()) {
println('''
It seems that the core sub project was not included...
please make sure that when you were cloning the repo, you were using the `--recurse-submodules` flag on git.
and if its too late now to re-clone the project, please grab the core sub project in whatever way you can from https://gitlab.com/jeseibel/distant-horizons-core.git
If you still need help with compiling, please read the Readme.md
''')
throw new GradleException("coreSubProject not found")
}
def loadVersionProperties() {
def mcVers = fileTree("versionProperties").files.collect { it.name.replaceAll("\\.properties", "") }
.sort { a, b ->
def aParts = a.tokenize('.'); def bParts = b.tokenize('.')
for (int i = 0; i < Math.min(aParts.size(), bParts.size()); i++) {
def aNum = aParts[i].isInteger() ? aParts[i].toInteger() : aParts[i]
def bNum = bParts[i].isInteger() ? bParts[i].toInteger() : bParts[i]
def compare = aNum <=> bNum
if (compare != 0) return compare
}
return aParts.size() <=> bParts.size()
}
def mcVersion = hasProperty("mcVer") ? mcVer : ""
def mcIndex = mcVers.indexOf(mcVersion)
if (mcIndex == -1) {
def defaultVersion = "1.20.1"
println "No mcVer set or invalid. Defaulting to ${defaultVersion}."
println "Tip: Use -PmcVer=\"${defaultVersion}\" to set the MC version."
mcVersion = defaultVersion
mcIndex = mcVers.indexOf(defaultVersion)
assert mcIndex != -1 : "Default MC version ${defaultVersion} not found in ${mcVers}"
}
println "Available MC versions: ${mcVers}"
println "Loading properties file: ${mcVersion}.properties"
def props = new Properties()
props.load(new FileInputStream("$rootDir/versionProperties/${mcVersion}.properties"))
props.each { key, value -> gradle.ext.set(key, value) }
gradle.ext.mcVers = mcVers
gradle.ext.mcIndex = mcIndex
}
loadVersionProperties()
// Minecraft-independent sub-projects
include("core")
project(":core").projectDir = file('coreSubProjects/core')
include("api")
project(":api").projectDir = file('coreSubProjects/api')
// Minecraft-dependent sub-projects
include("common")
((String) gradle.builds_for).split(",").each { loader ->
def loaderName = loader.trim()
println "Adding loader: ${loaderName}"
include(loaderName)
}
rootProject.name = "DistantHorizons"