builds_for variable in the version.properties now works and moved the version.properties loading to settings.gradle

This commit is contained in:
coolGi
2023-02-19 21:37:43 +10:30
parent e373969b34
commit 9ac7753f04
2 changed files with 65 additions and 46 deletions
+13 -43
View File
@@ -23,16 +23,16 @@ plugins {
def writeBuildGradlePredefine(List<String> mcVers, int mcIndex) {
ArrayList<String> redefineList = new ArrayList<String>()
for (int i=0; i<mcVers.size(); i++) {
for (int i = 0; i < mcVers.size(); i++) {
String mcStr = mcVers[i].replace(".", "_")
if (mcIndex<i) {
redefineList.add("PRE_MC_"+mcStr)
if (mcIndex < i) {
redefineList.add("PRE_MC_" + mcStr)
}
if (mcIndex==i) {
redefineList.add("MC_"+mcStr)
if (mcIndex == i) {
redefineList.add("MC_" + mcStr)
}
if (mcIndex>=i) {
redefineList.add("POST_MC_"+mcStr)
if (mcIndex >= i) {
redefineList.add("POST_MC_" + mcStr)
}
}
@@ -57,44 +57,14 @@ def writeBuildGradlePredefine(List<String> 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)
+52 -3
View File
@@ -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"