实现拆分活跃版本和compat版本

This commit is contained in:
Xujiayao 2023-12-09 15:02:37 +08:00
parent deccba0f20
commit 7bfb541ecb
12 changed files with 126 additions and 10 deletions

View file

@ -4,10 +4,14 @@ plugins {
}
preprocess {
def mc1152 = createNode("1.15.2", 1_15_02, "yarn")
def mc1165 = createNode("1.16.5", 1_16_05, "yarn")
def mc1171 = createNode("1.17.1", 1_17_01, "yarn")
def mc1182 = createNode("1.18.2", 1_18_02, "yarn")
def mc1152 = createNode("compat_1.15.2", 1_15_02, "yarn")
def mc1165 = createNode("compat_1.16.5", 1_16_05, "yarn")
def mc1171 = createNode("compat_1.17.1", 1_17_01, "yarn")
def mc1182 = createNode("compat_1.18.2", 1_18_02, "yarn")
// def mc1190 = createNode("compat_1.19" , 1_19_00, "yarn")
// def mc1191 = createNode("compat_1.19.1", 1_19_01, "yarn")
// def mc1192 = createNode("1.19.2", 1_19_02, "yarn")
// def mc1193 = createNode("1.19.3", 1_19_03, "yarn")
def mc1194 = createNode("1.19.4", 1_19_04, "yarn")
def mc1201 = createNode("1.20.1", 1_20_01, "yarn")
def mc1202 = createNode("1.20.2", 1_20_02, "yarn")
@ -17,6 +21,10 @@ preprocess {
mc1165.link(mc1171, null)
mc1171.link(mc1182, null)
mc1182.link(mc1194, null)
// mc1190.link(mc1191, null)
// mc1191.link(mc1192, null)
// mc1192.link(mc1193, null)
// mc1193.link(mc1194, null)
mc1194.link(mc1201, null)
mc1201.link(mc1202, null)
mc1202.link(mc1204, null)

View file

@ -24,10 +24,14 @@ pluginManagement {
}
def versions = Arrays.asList(
"1.15.2",
"1.16.5",
"1.17.1",
"1.18.2",
"compat_1.15.2",
"compat_1.16.5",
"compat_1.17.1",
"compat_1.18.2",
// "compat_1.19" ,
// "compat_1.19.1",
// "1.19.2",
// "1.19.3",
"1.19.4",
"1.20.1",
"1.20.2",
@ -40,4 +44,10 @@ for (String version : versions) {
proj.projectDir = file("versions/$version")
proj.buildFileName = "../../common.gradle"
}
include(":wrapper")
include(":wrapper")
include(":compat")
def compat = project(":compat")
compat.projectDir = file("wrapper")
compat.buildFileName = "compat.gradle"

View file

@ -37,7 +37,7 @@ dependencies {
}
def fabric_subprojects = parent.subprojects.findAll({
it.name != "wrapper"
it.name != "wrapper" && !it.name.contains("compat")
})
remapJar {

98
wrapper/compat.gradle Normal file
View file

@ -0,0 +1,98 @@
import groovy.json.JsonBuilder
import groovy.json.JsonSlurper
apply plugin: "fabric-loom"
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
archivesBaseName = archives_base_name
version = mod_version + "-compat"
group = maven_group
dependencies {
minecraft("com.mojang:minecraft:${minecraft_version}")
mappings("net.fabricmc:yarn:${yarn_mappings}:v2")
modImplementation("net.fabricmc:fabric-loader:${loader_version}")
modImplementation("net.fabricmc.fabric-api:fabric-api:${fabric_version}")
include("net.dv8tion:JDA:5.0.0-beta.18") {
exclude module: "opus-java"
}
include("net.sf.trove4j:trove4j:3.0.3")
include("org.apache.commons:commons-collections4:4.4")
include("org.slf4j:slf4j-api:2.0.9") // 1.x is Incompatible with Quilt (#164)
include("com.neovisionaries:nv-websocket-client:2.14")
include("com.fasterxml.jackson.core:jackson-core:2.14.1")
include("com.fasterxml.jackson.core:jackson-databind:2.14.1")
include("com.fasterxml.jackson.core:jackson-annotations:2.14.1")
include("com.squareup.okhttp3:okhttp:4.11.0") // Use 4.11.0 instead of 4.10.0 for cleaner logs
include("com.squareup.okio:okio:2.10.0") // Cannot use okio-jvm (#55)
include("org.jetbrains.kotlin:kotlin-stdlib:1.6.20")
include("net.fellbaum:jemoji:1.3.3")
include("com.google.code.gson:gson:2.10.1")
}
def fabric_subprojects = parent.subprojects.findAll({
it.name.contains("compat_")
})
compileJava.dependsOn(":wrapper:jar")
processResources.dependsOn(":wrapper:jar")
remapJar {
outputs.upToDateWhen { false }
dependsOn {
fabric_subprojects.collect {
it.tasks.remapJar
}
":wrapper:remapJar"
}
doFirst {
delete fileTree("build/tmp/versions/META-INF/jars")
copy {
from {
fabric_subprojects.collect {
it.tasks.remapJar.outputs.files
}
}
into("build/tmp/versions/META-INF/jars")
}
}
from("../LICENSE") {
rename { "${it}_${archives_base_name}" }
}
from("build/tmp/versions")
}
processResources {
filesMatching("fabric.mod.json") {
expand "version": mod_version
}
doLast {
ArrayList<?> minecraft_dependency = []
ArrayList<?> jars = []
fabric_subprojects.each({
minecraft_dependency.addAll("${it.minecraft_dependency}".split(","))
jars.add(["file": "META-INF/jars/MC-Discord-Chat-${it.minecraft_version}-${mod_version}.jar"])
})
File file = file("build/resources/main/fabric.mod.json")
JsonSlurper slurper = new JsonSlurper()
JsonBuilder builder = new JsonBuilder(slurper.parse(file))
builder.content.depends.minecraft = minecraft_dependency
builder.content.jars = jars
BufferedWriter writer = file.newWriter()
writer.append(builder.toPrettyString())
writer.flush()
writer.close()
}
}