Skip to content

Commit

Permalink
chore(gradle): Update and improve gradle
Browse files Browse the repository at this point in the history
  • Loading branch information
TonimatasDEV committed Feb 8, 2025
1 parent eef38dc commit fe0b0c8
Show file tree
Hide file tree
Showing 7 changed files with 90 additions and 158 deletions.
76 changes: 71 additions & 5 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
import net.fabricmc.loom.api.LoomGradleExtensionAPI
import net.fabricmc.loom.task.RemapJarTask
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar

plugins {
java
id("architectury-plugin") version "3.4-SNAPSHOT"
id("dev.architectury.loom") version "1.6-SNAPSHOT" apply false
id("dev.architectury.loom") version "1.7-SNAPSHOT" apply false
id("com.gradleup.shadow") version "8.3.5" apply false
}

val minecraftVersion: String by extra
Expand All @@ -20,15 +23,17 @@ allprojects {
group = "dev.tonimatas"

repositories {
maven(url = "https://maven.blamejared.com")
maven(url = "https://maven.shedaniel.me")
maven(url = "https://maven.resourcefulbees.com/repository/maven-public")
maven("https://maven.blamejared.com")
maven("https://maven.architectury.dev")
maven("https://maven.neoforged.net/")
}
}

subprojects {
apply(plugin = "dev.architectury.loom")
apply(plugin = "java")
apply(plugin = "architectury-plugin")
apply(plugin = "dev.architectury.loom")
apply(plugin = "com.gradleup.shadow")

base {
archivesName.set("krystalcraft-" + project.name)
Expand All @@ -54,4 +59,65 @@ subprojects {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
}

if (name == "fabric") {
architectury {
platformSetupLoomIde()
fabric()
}
}

if (name == "neoforge") {
architectury {
platformSetupLoomIde()
neoForge()
}
}

if (name != "common") {
val loaderName = if (name == "fabric") "Fabric" else "NeoForge"
val architecturyVersion: String by extra

val common: Configuration by configurations.creating
val shadowCommon: Configuration by configurations.creating

configurations["compileClasspath"].extendsFrom(common)
configurations["runtimeClasspath"].extendsFrom(common)
configurations["development$loaderName"].extendsFrom(common)

dependencies {
"modApi"("dev.architectury:architectury-$name:$architecturyVersion")

common(project(path = ":common", configuration = "namedElements")) { isTransitive = false }
shadowCommon(project(path = ":common", configuration = "transformProduction$loaderName")) { isTransitive = false }
}

tasks.withType<ShadowJar> {
configurations = listOf(shadowCommon)
archiveClassifier.set("dev-shadow")
}

tasks.withType<RemapJarTask> {
val shadowTask = tasks.getByName<ShadowJar>("shadowJar")
input.set(shadowTask.archiveFile)
dependsOn(shadowTask)
archiveClassifier.set("")
}

tasks.jar {
archiveClassifier.set("dev")
}

//tasks.sourcesJar {
// val commonSources = project(":common").tasks.sourcesJar.get()
// dependsOn(commonSources)
// from(commonSources.archiveFile.map { zipTree(it) })
//}

components.getByName<AdhocComponentWithVariants>("java").apply {
withVariantsFromConfiguration(project.configurations["shadowRuntimeElements"]) {
skip()
}
}
}
}
7 changes: 2 additions & 5 deletions common/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
val minecraftVersion: String by extra
val fabricLoaderVersion: String by extra
val botariumVersion: String by extra
val resourcefullibVersion: String by extra
val architecturyVersion: String by extra
val jeiVersion: String by extra
val reiVersion: String by extra

dependencies {
modImplementation("net.fabricmc:fabric-loader:$fabricLoaderVersion")

modApi("com.teamresourceful.resourcefullib:resourcefullib-common-$minecraftVersion:$resourcefullibVersion")
//modApi("earth.terrarium.botarium:botarium-common-$minecraftVersion:$botariumVersion")
modApi("dev.architectury:architectury:$architecturyVersion")

modCompileOnly("mezz.jei:jei-$minecraftVersion-common-api:$jeiVersion")
modRuntimeOnly("mezz.jei:jei-$minecraftVersion-common:$jeiVersion")
Expand Down
61 changes: 2 additions & 59 deletions fabric/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,18 +1,3 @@
@file:Suppress("DEPRECATION")

import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
import net.fabricmc.loom.task.RemapJarTask
import org.gradle.api.component.AdhocComponentWithVariants

plugins {
id("com.github.johnrengelman.shadow") version "7.1.2"
}

architectury {
platformSetupLoomIde()
fabric()
}

loom {
accessWidenerPath.set(project(":common").loom.accessWidenerPath)
}
Expand All @@ -21,66 +6,24 @@ val minecraftVersion: String by extra
val fabricApiVersion: String by extra
val fabricLoaderVersion: String by extra
val fabricLoaderRange: String by extra
val resourcefullibVersion: String by extra
val resourcefullibRange: String by extra
val botariumVersion: String by extra
val botariumRange: String by extra
val architecturyRange: String by extra
val modVersion: String by extra

val common: Configuration by configurations.creating
val shadowCommon: Configuration by configurations.creating

configurations["compileClasspath"].extendsFrom(common)
configurations["runtimeClasspath"].extendsFrom(common)
configurations["developmentFabric"].extendsFrom(common)

dependencies {
modImplementation("net.fabricmc:fabric-loader:$fabricLoaderVersion")

modApi("com.teamresourceful.resourcefullib:resourcefullib-fabric-$minecraftVersion:$resourcefullibVersion")
//modApi("earth.terrarium.botarium:botarium-fabric-$minecraftVersion:$botariumVersion")

//modRuntimeOnly "me.shedaniel:RoughlyEnoughItems-fabric:${rei_version}"
//modCompileOnly "me.shedaniel:RoughlyEnoughItems-api-fabric:${rei_version}"
//modCompileOnly "me.shedaniel:RoughlyEnoughItems-default-plugin-fabric:${rei_version}"

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

tasks.withType<ProcessResources> {
val replaceProperties = mapOf("modVersion" to modVersion, "fabricLoaderRange" to fabricLoaderRange, "minecraftVersion" to minecraftVersion, "resourcefullibRange" to resourcefullibRange, "botariumRange" to botariumRange)
val replaceProperties = mapOf("modVersion" to modVersion, "fabricLoaderRange" to fabricLoaderRange, "minecraftVersion" to minecraftVersion, "architecturyRange" to architecturyRange)
inputs.properties(replaceProperties)

filesMatching("fabric.mod.json") {
expand(replaceProperties)
}
}

tasks.withType<ShadowJar> {
configurations = listOf(shadowCommon)
archiveClassifier.set("dev-shadow")
}

tasks.withType<RemapJarTask> {
val shadowTask = tasks.shadowJar.get()
input.set(shadowTask.archiveFile)
dependsOn(shadowTask)
archiveClassifier.set("")
}

tasks.jar {
archiveClassifier.set("dev")
}

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

components.getByName<AdhocComponentWithVariants>("java").apply {
withVariantsFromConfiguration(project.configurations["shadowRuntimeElements"]) {
skip()
}
}
3 changes: 1 addition & 2 deletions fabric/src/main/resources/fabric.mod.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
"depends": {
"fabricloader": "${fabricLoaderRange}",
"minecraft": "${minecraftVersion}",
"resourcefullib": ">=${resourcefullibRange}",
"botarium": ">=${botariumRange}"
"architectury": ">=${architecturyRange}"
}
}
18 changes: 8 additions & 10 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,20 @@ org.gradle.jvmargs=-Xmx3G
modVersion=0.0.4.4

# Dependencies
resourcefullibVersion=3.0.0
resourcefullibRange=3.0
architecturyVersion=13.0.8
architecturyRange=13.0.0

# To update
jeiVersion=19.8.2.99
botariumVersion=3.2.2
botariumRange=3
jeiVersion=19.21.0.247

# Minecraft Properties
minecraftVersion=1.21
minecraftVersion=1.21.1

# Fabric Properties
fabricLoaderVersion=0.15.7
fabricLoaderRange=>=0.14.0
fabricApiVersion=0.102.0
fabricLoaderVersion=0.16.10
fabricLoaderRange=>=0.15.0
fabricApiVersion=0.115.0

# NeoForge Properties
neoforgeVersion=21.0.5-beta
neoforgeVersion=21.1.117
neoforgeLoaderRange=0
72 changes: 4 additions & 68 deletions neoforge/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,91 +1,27 @@
@file:Suppress("DEPRECATION")

import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
import net.fabricmc.loom.task.RemapJarTask

plugins {
id("com.github.johnrengelman.shadow") version "7.1.2"
loom {
accessWidenerPath.set(project(":common").loom.accessWidenerPath)
}

val minecraftVersion: String by extra
val neoforgeVersion: String by extra
val neoforgeLoaderRange: String by extra
val modVersion: String by extra
val jeiVersion: String by extra
val resourcefullibVersion: String by extra
val resourcefullibRange: String by extra
val botariumVersion: String by extra
val botariumRange: String by extra

architectury {
platformSetupLoomIde()
neoForge()
}

loom {
accessWidenerPath.set(project(":common").loom.accessWidenerPath)
}

val common by configurations.creating
val shadowCommon by configurations.creating

configurations["compileClasspath"].extendsFrom(common)
configurations["runtimeClasspath"].extendsFrom(common)
configurations["developmentNeoForge"].extendsFrom(common)

repositories {
maven(url = "https://maven.neoforged.net/")
}
val architecturyRange: String by extra

dependencies {
neoForge("net.neoforged:neoforge:$neoforgeVersion")


modApi("com.teamresourceful.resourcefullib:resourcefullib-neoforge-$minecraftVersion:$resourcefullibVersion")
//modApi("earth.terrarium.botarium:botarium-neoforge-$minecraftVersion:$botariumVersion")

modCompileOnly("mezz.jei:jei-$minecraftVersion-neoforge-api:$jeiVersion")
modLocalRuntime("mezz.jei:jei-$minecraftVersion-forge:$jeiVersion") { isTransitive = false }

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

tasks.withType<ProcessResources> {
val replaceProperties = mapOf("neoforgeLoaderRange" to neoforgeLoaderRange, "minecraftVersion" to minecraftVersion, "modVersion" to modVersion, "resourcefullibRange" to resourcefullibRange, "botariumRange" to botariumRange)
val replaceProperties = mapOf("neoforgeLoaderRange" to neoforgeLoaderRange, "minecraftVersion" to minecraftVersion, "modVersion" to modVersion, "architecturyRange" to architecturyRange)
inputs.properties(replaceProperties)

filesMatching("META-INF/neoforge.mods.toml") {
expand(replaceProperties)
}
}

tasks.withType<ShadowJar> {
exclude("fabric.mod.json")

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

tasks.withType<RemapJarTask> {
val shadowTask = tasks.shadowJar.get()
input.set(shadowTask.archiveFile)
dependsOn(shadowTask)
archiveClassifier.set("")
}

tasks.jar {
archiveClassifier.set("dev")
}

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

components.getByName<AdhocComponentWithVariants>("java").apply {
withVariantsFromConfiguration(project.configurations["shadowRuntimeElements"]) {
skip()
}
}
11 changes: 2 additions & 9 deletions neoforge/src/main/resources/META-INF/neoforge.mods.toml
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,8 @@ All you need is to craft your tool/weapon/armor in a crafting table and upgrade
side="BOTH"

[[dependencies.krystalcraft]]
modId="resourcefullib"
modId="architectury"
mandatory=true
versionRange="[${resourcefullibRange},)"
versionRange="[${architecturyRange},)"
ordering="NONE"
side="BOTH"

[[dependencies.krystalcraft]]
modId="botarium"
mandatory=true
versionRange="[${botariumRange},)"
ordering="NONE"
side="BOTH"

0 comments on commit fe0b0c8

Please sign in to comment.