Skip to content

Commit

Permalink
Done the basic quilt gradle settings
Browse files Browse the repository at this point in the history
  • Loading branch information
BennyDioxide committed Jul 3, 2022
1 parent 1b84a36 commit 5dc4bae
Show file tree
Hide file tree
Showing 7 changed files with 178 additions and 22 deletions.
41 changes: 41 additions & 0 deletions fabric-like/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
architectury {
common(project.property("enabled_platforms").toString().split(","))
}

base.archivesName.set("${project.property("archives_base_name")}-fabric-like")

repositories {
mavenCentral()
maven {
url = uri("https://bai.jfrog.io/artifactory/maven") //ModMenu
content {
includeGroup("com.terraformersmc")
}
}
maven {
// Patchouli
url = uri("https://maven.blamejared.com")
}
}

dependencies {
modImplementation("net.fabricmc:fabric-loader:${project.property("fabric_loader_version")}")
modApi("net.fabricmc.fabric-api:fabric-api:${project.property("fabric_api_version")}")
// Remove the next line if you don't want to depend on the API
modApi("dev.architectury:architectury-fabric:${project.property("architectury_version")}")
modApi("me.shedaniel.cloth:cloth-config-fabric:${project.property("cloth_config_version")}") {
exclude(module = "fabric-api")
}

modImplementation("vazkii.patchouli:Patchouli:${project.property("patchouli_version")}-FABRIC-SNAPSHOT")

"compileClasspath"(project(path = ":common", configuration = "namedElements")) { isTransitive = false }

modImplementation("com.terraformersmc:modmenu:4.0.0")
}

val accessWidenerFile = project(":common").file("src/main/resources/rpmtw_platform_mod.accesswidener")

loom {
accessWidenerPath.set(accessWidenerFile)
}
24 changes: 4 additions & 20 deletions fabric/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,6 @@ architectury {

base.archivesName.set("${project.property("archives_base_name")}-fabric")

repositories {
mavenCentral()
maven {
url = uri("https://bai.jfrog.io/artifactory/maven") //ModMenu
content {
includeGroup("com.terraformersmc")
}
}
maven {
// Patchouli
url = uri("https://maven.blamejared.com")
}
}

val common by configurations.registering
val shadowCommon by configurations.registering // Don't use shadow from the shadow plugin because we don't want IDEA to index this.
configurations {
Expand All @@ -47,10 +33,11 @@ dependencies {
}
modApi("net.fabricmc:fabric-language-kotlin:${project.property("fabric-kotlin_version")}")

modImplementation("vazkii.patchouli:Patchouli:${project.property("patchouli_version")}-FABRIC-SNAPSHOT")

"common"(project(path = ":common", configuration = "namedElements")) { isTransitive = false }
"shadowCommon"(project(path = ":common", configuration = "transformProductionFabric")) { isTransitive = false }
"common"(project(path = ":fabric-like", configuration = "namedElements")) { isTransitive = false }
"shadowCommon"(project(path = ":fabric-like", configuration = "transformProductionFabric")) { isTransitive = false }

"shadowCommon"(
"com.github.RPMTW:RPMTW-API-Client-Kotlin:${project.property("rpmtw_api_client_version")}"
) {
Expand All @@ -60,9 +47,6 @@ dependencies {
}.let {
implementation(it)
}


modImplementation("com.terraformersmc:modmenu:4.0.0")
}

val accessWidenerFile = project(":common").file("src/main/resources/rpmtw_platform_mod.accesswidener")
Expand Down Expand Up @@ -121,7 +105,7 @@ components.getByName<AdhocComponentWithVariants>("java") {

publishing {
publications {
create<MavenPublication>("mavenCommon") {
create<MavenPublication>("mavenFabric") {
artifactId = project.property("archives_base_name").toString()
from(components["java"])
}
Expand Down
2 changes: 1 addition & 1 deletion forge/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ repositories {

publishing {
publications {
create<MavenPublication>("mavenCommon") {
create<MavenPublication>("mavenForge") {
artifactId = project.property("archives_base_name").toString()
from(components["java"])
}
Expand Down
8 changes: 7 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
org.gradle.jvmargs=-Xmx3096M
minecraft_version=1.19
enabled_platforms=fabric,forge
enabled_platforms=quilt,fabric,forge
archives_base_name=rpmtw-platform-mod-1.19
mod_version=1.4.0
maven_group=com.rpmtw.rpmtw_platform_mod
Expand All @@ -14,6 +14,12 @@ fabric-kotlin_version=1.8.1+kotlin.1.7.0
forge_version=1.19-41.0.16
kotlin_forge_version=3.6.0

# Quilt
quilt_loader_version=0.17.1-beta.4
qsl_version=2.0.0-beta.9
quilted_fabric_api_version=2.0.0-beta.3+0.57.0
quilt_kotlin_libraries=0.1.0-SNAPSHOT

# Other mod
patchouli_version=1.19-74
cloth_config_version=7.0.72
Expand Down
122 changes: 122 additions & 0 deletions quilt/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
plugins {
id("com.github.johnrengelman.shadow") version "7.1.2"
}

repositories {
maven { url = uri("https://maven.quiltmc.org/repository/release/") }
maven { url = uri("https://maven.quiltmc.org/repository/snapshot/") } // Kotlin currently is in snapshot
}

architectury {
platformSetupLoomIde()
loader("quilt")
}

base.archivesName.set("${project.property("archives_base_name")}-quilt")

val common by configurations.registering
val shadowCommon by configurations.registering // Don't use shadow from the shadow plugin because we don't want IDEA to index this.
configurations {
compileClasspath {
extendsFrom(common.get())
}

runtimeClasspath {
extendsFrom(common.get())
}

getByName("developmentQuilt").extendsFrom(common.get())
}

val accessWidenerFile = project(":common").file("src/main/resources/rpmtw_platform_mod.accesswidener")

loom {
accessWidenerPath.set(accessWidenerFile)
}

dependencies {
modImplementation("org.quiltmc:quilt-loader:${project.property("quilt_loader_version")}")
modApi("org.quiltmc.quilted-fabric-api:quilted-fabric-api:${project.property("quilted_fabric_api_version")}-${project.property("minecraft_version")}")
// Remove the next few lines if you don't want to depend on the API
modApi("dev.architectury:architectury-fabric:${project.property("architectury_version")}") {
exclude(group = "net.fabricmc")
exclude(group = "net.fabricmc.fabric-api")
}
modApi("org.quiltmc.quilt-kotlin-libraries:quilt-kotlin-libraries:${project.property("quilt_kotlin_libraries")}")

"common"(project(path = ":common", configuration = "namedElements")) { isTransitive = false }
"shadowCommon"(project(path = ":common", configuration = "transformProductionQuilt")) { isTransitive = false }
"common"(project(path = ":fabric-like", configuration = "namedElements")) { isTransitive = false }
"shadowCommon"(project(path = ":fabric-like", configuration = "transformProductionQuilt")) { isTransitive = false }

"shadowCommon"(
"com.github.RPMTW:RPMTW-API-Client-Kotlin:${project.property("rpmtw_api_client_version")}"
) {
exclude("com.google.code.gson")
exclude("org.jetbrains.kotlinx")
exclude("org.jetbrains.kotlin")
}.let {
implementation(it)
}
}

tasks {
val resourcesPath = file("src/main/resources")
// The access widener file is needed in :fabric project resources when the game is run.
val copyAccessWidener by registering(Copy::class) {
from(accessWidenerFile)
into(resourcesPath)
}

processResources {
dependsOn(copyAccessWidener)
inputs.property("group", project.group)
inputs.property("version", project.version)

filesMatching("quilt.mod.json") {
expand("group" to project.group, "version" to project.version)
}
}


shadowJar {
configurations = listOf(shadowCommon.get())
archiveClassifier.set("dev-shadow")
}

remapJar {
inputFile.set(shadowJar.get().archiveFile)
dependsOn(shadowJar)
archiveClassifier.set(null as String?)
}

jar {
archiveClassifier.set("dev")
}

sourcesJar {
val commonSources = project(":common").tasks.sourcesJar
dependsOn(commonSources)
from(commonSources.get().archiveFile.map { zipTree(it) })
exclude("rpmtw_platform_mod.accesswidener")
exclude("rpmtw_platform_mod.mixins.json")
}
}

components.getByName<AdhocComponentWithVariants>("java") {
withVariantsFromConfiguration(project.configurations.shadowRuntimeElements.get()) {
skip()
}
}

publishing {
publications {
create<MavenPublication>("mavenQuilt") {
artifactId = project.property("archives_base_name").toString()
from(components["java"])
}
}

// See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing.
repositories {}
}
1 change: 1 addition & 0 deletions quilt/gradle.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
loom.platform=quilt
2 changes: 2 additions & 0 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@ pluginManagement {
}

include("common")
include("fabric-like")
include("fabric")
include("quilt")
include("forge")

rootProject.name = "rpmtw-platform-mod"

0 comments on commit 5dc4bae

Please sign in to comment.