From 9ac7753f046157d0754cb58e77bf339bb4057797 Mon Sep 17 00:00:00 2001 From: coolGi Date: Sun, 19 Feb 2023 21:37:43 +1030 Subject: [PATCH] builds_for variable in the version.properties now works and moved the version.properties loading to settings.gradle --- build.gradle | 56 ++++++++++++------------------------------------- settings.gradle | 55 +++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 65 insertions(+), 46 deletions(-) diff --git a/build.gradle b/build.gradle index 2f95173ae..2828ea75c 100644 --- a/build.gradle +++ b/build.gradle @@ -23,16 +23,16 @@ plugins { def writeBuildGradlePredefine(List mcVers, int mcIndex) { ArrayList redefineList = new ArrayList() - for (int i=0; i=i) { - redefineList.add("POST_MC_"+mcStr) + if (mcIndex >= i) { + redefineList.add("POST_MC_" + mcStr) } } @@ -57,44 +57,14 @@ def writeBuildGradlePredefine(List mcVers, int mcIndex) { new File(projectDir, "build.properties").text = sb.toString() } -// Sets up the variables for Manifold in the code -def loadProperties() { - def defaultMcVersion = "1.18.2" // 1.18.2 is our current most stable version so we use that if no version was defined - def mcVersion = "" - def mcVers = fileTree("versionProperties").files.name // Get all the files in "versionProperties" - for (int i = 0; i < mcVers.size(); i++) { - mcVers[i] = mcVers[i].replaceAll(".properties", "") // As we are getting the file names, we should remove the ".properties" at the end to get the versions - } - - mcVers.sort() // Sort so it always goes from oldest to newest - - int mcIndex = -1 - println "Avalible MC versions: ${mcVers}" - if (project.hasProperty("mcVer")) { - mcVersion = mcVer - mcIndex = mcVers.indexOf(mcVer) - } - if (mcIndex == -1) { - println "No mcVer set or the set mcVer is invalid! Defaulting to ${defaultMcVersion}." - println "Tip: Use -PmcVer=\"${defaultMcVersion}\" in cmd arg to set mcVer." - mcVersion = defaultMcVersion - mcIndex = mcVers.indexOf(defaultMcVersion) - assert mcIndex != -1 - } - - println "Loading properties file at " + mcVersion + ".properties" - def props = new Properties() - props.load(new FileInputStream("$rootProject.rootDir/versionProperties/"+"$mcVersion"+".properties")) - - props.each { prop -> - rootProject.ext.set(prop.key, prop.value) - // println "Added prop [key:" + prop.key + ", value:" + prop.value + "]" - } - writeBuildGradlePredefine(mcVers, mcIndex) +// Transfers the values set in settings.gradle to the rest of the project +project.gradle.ext.getProperties().each { prop -> + rootProject.ext.set(prop.key, prop.value) +// println "Added prop [key:" + prop.key + ", value:" + prop.value + "]" } - -loadProperties() +// Sets up manifold stuff +writeBuildGradlePredefine(rootProject.mcVers, rootProject.mcIndex) diff --git a/settings.gradle b/settings.gradle index 273336f26..f4996a332 100644 --- a/settings.gradle +++ b/settings.gradle @@ -21,6 +21,51 @@ pluginManagement { } } + + +// Loads the version.properties +def loadProperties() { + def defaultMcVersion = "1.18.2" // 1.18.2 is our current most stable version so we use that if no version was defined + + def mcVersion = "" + def mcVers = fileTree("versionProperties").files.name // Get all the files in "versionProperties" + for (int i = 0; i < mcVers.size(); i++) { + mcVers[i] = mcVers[i].replaceAll(".properties", "") // As we are getting the file names, we should remove the ".properties" at the end to get the versions + } + + mcVers.sort() // Sort so it always goes from oldest to newest + + int mcIndex = -1 + println "Avalible MC versions: ${mcVers}" + if (hasProperty("mcVer")) { + mcVersion = mcVer + mcIndex = mcVers.indexOf(mcVer) + } + if (mcIndex == -1) { + println "No mcVer set or the set mcVer is invalid! Defaulting to ${defaultMcVersion}." + println "Tip: Use -PmcVer=\"${defaultMcVersion}\" in cmd arg to set mcVer." + mcVersion = defaultMcVersion + mcIndex = mcVers.indexOf(defaultMcVersion) + assert mcIndex != -1 + } + + println "Loading properties file at " + mcVersion + ".properties" + def props = new Properties() + props.load(new FileInputStream("$rootDir/versionProperties/"+"$mcVersion"+".properties")) + + props.each { prop -> + gradle.ext.set(prop.key, prop.value) + // println "Added prop [key:" + prop.key + ", value:" + prop.value + "]" + } + gradle.ext.mcVers = mcVers + gradle.ext.mcIndex = mcIndex +} + +loadProperties() + + + + // Minecraft independent sub-projects include("core") project(":core").projectDir = file('coreSubProjects/core') @@ -29,9 +74,13 @@ project(":api").projectDir = file('coreSubProjects/api') // Minecraft dependent sub-projects include("common") -include("fabric") -//include("quilt") // Just put this here for once we need it ;) -//include("forge") // FIXME: Fix forge, its just annoying +// Enables or disables the subprojects depending on whats in the version.properties +if (gradle.builds_for.contains("fabric")) + include("fabric") +if (gradle.builds_for.contains("quilt")) + include("quilt") // Just put this here for once we need it ;) +//if (gradle.builds_for.contains("forge")) +// include("forge") // FIXME: Fix forge, its just annoying rootProject.name = "DistantHorizons"