From 9e48917d4a8f1df2baba25a93b2016ec9e1253eb Mon Sep 17 00:00:00 2001 From: Ampflower Date: Sat, 23 Sep 2023 00:00:27 -0500 Subject: [PATCH] Finish rebranding to QuickBench, setup publishing --- build.gradle | 74 +++++++++++++----- gradle.properties | 10 +-- libs.versions.toml | 34 ++++++++ settings.gradle | 8 ++ .../fastbench/mixin/CraftingMenuMixin.java | 3 +- .../fastbench/mixin/PlayerContainerMixin.java | 2 +- src/main/resources/assets/modid/icon.png | Bin 10535 -> 0 bytes src/main/resources/assets/quickbench/pack.png | Bin 0 -> 810 bytes src/main/resources/fabric.mod.json | 43 +++++----- ...nch.mixins.json => quickbench.mixins.json} | 0 10 files changed, 124 insertions(+), 50 deletions(-) create mode 100644 libs.versions.toml delete mode 100644 src/main/resources/assets/modid/icon.png create mode 100644 src/main/resources/assets/quickbench/pack.png rename src/main/resources/{fastbench.mixins.json => quickbench.mixins.json} (100%) diff --git a/build.gradle b/build.gradle index fee4d0d..aa3e837 100644 --- a/build.gradle +++ b/build.gradle @@ -1,36 +1,39 @@ plugins { - id 'fabric-loom' version '1.0-SNAPSHOT' + alias(libs.plugins.loom) + alias(libs.plugins.minotaur) + alias(libs.plugins.cursegradle) id 'maven-publish' } java { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 + withSourcesJar() } -version = project.minecraft_version + "-" + project.mod_version +final isPublish = System.getenv("GITHUB_EVENT_NAME") == "release" +final isRelease = System.getenv("BUILD_RELEASE")?.toBoolean() ?: false +final isActions = System.getenv("GITHUB_ACTIONS")?.toBoolean() ?: false +final baseVersion = "$projectVersion+mc.${libs.versions.minecraft.version.get()}" +version = isRelease ? baseVersion : + isActions ? "$baseVersion-build.${System.getenv("GITHUB_RUN_NUMBER")}-commit.${System.getenv("GITHUB_SHA").substring(0, 7)}-branch.${System.getenv("GITHUB_REF")?.substring(11)?.replace('/', '.') ?: "unknown"}" : + "$baseVersion-build.local" group = project.maven_group dependencies { - //to change the versions see the gradle.properties file - minecraft "com.mojang:minecraft:${project.minecraft_version}" + minecraft(libs.minecraft) mappings(loom.officialMojangMappings()) - modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" - - //modRuntime "diggusmaximus:diggusmaximus:1.3.1-1.16" - - // Fabric API. This is technically optional, but you probably want it anyway. - compileOnly "com.google.code.findbugs:jsr305:+" - - // PSA: Some older mods, compiled on Loom 0.2.1, might have outdated Maven POMs. - // You may need to force-disable transitiveness on them. + modImplementation(libs.fabric.loader) + compileOnly(libs.bundles.compile) } processResources { inputs.property "version", project.version filesMatching("fabric.mod.json") { - expand "version": project.version + expand "version": project.version, + "java": java.targetCompatibility.majorVersion, + "minecraftRequired": libs.versions.minecraft.required.get() } } @@ -39,13 +42,6 @@ tasks.withType(JavaCompile).configureEach { it.options.release = 17 } -java { - // Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task - // if it is present. - // If you remove this line, sources will not be generated. - withSourcesJar() -} - jar { from("LICENSE") { rename { "${it}_${project.archivesBaseName}"} @@ -68,3 +64,39 @@ publishing { // retrieving dependencies. } } + +import java.nio.charset.StandardCharsets + +final ref = System.getenv("GITHUB_REF") +final String _changelog = System.getenv("CHANGELOG") ?: + (ref != null && ref.startsWith("refs/tags/")) ? + "You may view the changelog at https://github.com/Modflower/music-moods/releases/tag/${URLEncoder.encode(ref.substring(10), StandardCharsets.UTF_8)}" : + "No changelog is available. Perhaps poke at https://github.com/Modflower/music-moods for a changelog?" + +final type = System.getenv("RELEASE_OVERRIDE") ?: + projectVersion?.contains("alpha") ? "alpha" : + !isRelease || projectVersion.contains('-') ? "beta" : + "release" + +final minecraftCompatible = libs.versions.minecraft.compatible.get().split(",").toList() + +curseforge { + project { + apiKey = System.getenv("CURSEFORGE_TOKEN") + id = curseforgeId + changelog = _changelog + releaseType = type + gameVersionStrings.addAll(minecraftCompatible) + mainArtifact(remapJar) + } +} + +modrinth { + token.set(System.getenv("MODRINTH_TOKEN")) + projectId.set(modrinthId) + versionType.set(type) + changelog.set(_changelog) + uploadFile.set(tasks.remapJar) + gameVersions.set(minecraftCompatible) + loaders.addAll("fabric", "quilt") +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 0ee786e..c68f32e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,11 +1,9 @@ # Done to increase the memory available to gradle. org.gradle.jvmargs=-Xmx1G -# Fabric Properties -# check these on https://fabricmc.net/versions.html -minecraft_version=1.19.2 -loader_version=0.14.10 - # Mod Properties -mod_version=3 +projectVersion=3 maven_group=gay.ampflower.mod + +curseforgeId=914551 +modrinthId=v2yISwb0 \ No newline at end of file diff --git a/libs.versions.toml b/libs.versions.toml new file mode 100644 index 0000000..73f542f --- /dev/null +++ b/libs.versions.toml @@ -0,0 +1,34 @@ +[versions] + +# Minecraft +minecraft_version = "1.19.2" +minecraft_required = "1.19" +minecraft_compatible = "1.19,1.19.1,1.19.2" + +fabric_loader = "0.14.21" + +# Libraries +annotations = "24.0.1" + +# Plugins +loom = "1.+" +minotaur = "2.+" +cursegradle = "1.4.0" + +[libraries] +# Minecraft +minecraft = { module = "com.mojang:minecraft", version.ref = "minecraft_version" } +fabric_loader = { module = "net.fabricmc:fabric-loader", version.ref = "fabric_loader" } + +# Libraries +annotations = { module = "org.jetbrains:annotations", version.ref = "annotations" } + +[bundles] +compile = ["annotations"] +mod_dependency = [] +mod_runtime = [] + +[plugins] +loom = { id = "fabric-loom", version.ref = "loom" } +minotaur = { id = "com.modrinth.minotaur", version.ref = "minotaur" } +cursegradle = { id = "com.matthewprenger.cursegradle", version.ref = "cursegradle" } diff --git a/settings.gradle b/settings.gradle index f879196..1093877 100644 --- a/settings.gradle +++ b/settings.gradle @@ -9,4 +9,12 @@ pluginManagement { } } +dependencyResolutionManagement { + versionCatalogs { + create("libs") { + from(files("libs.versions.toml")) + } + } +} + rootProject.name = "quickbench" \ No newline at end of file diff --git a/src/main/java/tfar/fastbench/mixin/CraftingMenuMixin.java b/src/main/java/tfar/fastbench/mixin/CraftingMenuMixin.java index c3c80a0..ab013ac 100644 --- a/src/main/java/tfar/fastbench/mixin/CraftingMenuMixin.java +++ b/src/main/java/tfar/fastbench/mixin/CraftingMenuMixin.java @@ -30,6 +30,7 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.*; import net.minecraft.world.item.ItemStack; +import org.jetbrains.annotations.Nullable; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Overwrite; @@ -41,8 +42,6 @@ import tfar.fastbench.MixinHooks; import tfar.fastbench.interfaces.CraftingInventoryDuck; -import javax.annotation.Nullable; - @Mixin(CraftingMenu.class) abstract class CraftingMenuMixin extends RecipeBookMenu implements CraftingInventoryDuck { diff --git a/src/main/java/tfar/fastbench/mixin/PlayerContainerMixin.java b/src/main/java/tfar/fastbench/mixin/PlayerContainerMixin.java index 43f863b..8430506 100644 --- a/src/main/java/tfar/fastbench/mixin/PlayerContainerMixin.java +++ b/src/main/java/tfar/fastbench/mixin/PlayerContainerMixin.java @@ -31,6 +31,7 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.*; import net.minecraft.world.item.ItemStack; +import org.jetbrains.annotations.Nullable; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -41,7 +42,6 @@ import tfar.fastbench.MixinHooks; import tfar.fastbench.interfaces.CraftingInventoryDuck; -import javax.annotation.Nullable; @Mixin(InventoryMenu.class) abstract class PlayerContainerMixin extends AbstractContainerMenu implements CraftingInventoryDuck { diff --git a/src/main/resources/assets/modid/icon.png b/src/main/resources/assets/modid/icon.png deleted file mode 100644 index 8c62432f42ab9074e18dee47d16ac2fee03f0c2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10535 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 diff --git a/src/main/resources/assets/quickbench/pack.png b/src/main/resources/assets/quickbench/pack.png new file mode 100644 index 0000000000000000000000000000000000000000..80e0f996cd88d09a91584e45c120cda907d48e7b GIT binary patch literal 810 zcmV+_1J(SAP)ppo|Ohh}SM z9DrNz+Kjp0|?y1hCW!fUI7vT zSO;IjhDKuRlL1sMAgQq5_{wPjKWqT1g;}xye%JswvzL4Tgc<1ocN3vnhr5YMfNR46 z(>heEPv$&88|%B)olu@>0NaGXX&tpE3t(Eu=Cm#_sipzOdegdHL?+;Dz`fxxKm{sG z7J%S392cNg=0.7.2" + "fabricloader": ">=0.7.2", + "minecraft": ">=${minecraftRequired}" }, - "suggests": { - "flamingo": "*" + "custom": { + "modmenu": { + "links": { + "modmenu.discord": "https://discord.gg/EmPS9y9" + } + } } } diff --git a/src/main/resources/fastbench.mixins.json b/src/main/resources/quickbench.mixins.json similarity index 100% rename from src/main/resources/fastbench.mixins.json rename to src/main/resources/quickbench.mixins.json