From 8d7123ca435da2f343bf18449e336b806ae8d971 Mon Sep 17 00:00:00 2001 From: Martin Prokoph Date: Mon, 3 Mar 2025 10:42:26 +0100 Subject: [PATCH] feat: unified publishing --- build.gradle | 56 +++++++++++++++++++ gradle.properties | 7 ++- settings.gradle | 2 +- .../motschen/decorative/DecorativeMain.java | 4 +- .../decorative/config/DecorativeConfig.java | 2 +- .../decorative/util/RegistryUtil.java | 7 +-- 6 files changed, 67 insertions(+), 11 deletions(-) diff --git a/build.gradle b/build.gradle index b876854..f8e45f5 100755 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,7 @@ plugins { id 'fabric-loom' version '1.7-SNAPSHOT' id 'maven-publish' + id "me.shedaniel.unified-publishing" version "0.1.+" } sourceCompatibility = JavaVersion.VERSION_21 @@ -123,3 +124,58 @@ publishing { // retrieving dependencies. } } +ext { + releaseChangelog = { + def changes = new StringBuilder() + changes << "## Decorative v$project.version for $project.minecraft_version\n[View the changelog](https://www.github.com/TeamMidnightDust/Decorative/commits/)" + def proc = "git log --max-count=1 --pretty=format:%s".execute() + proc.in.eachLine { line -> + def processedLine = line.toString() + if (!processedLine.contains("New translations") && !processedLine.contains("Merge") && !processedLine.contains("branch")) { + changes << "\n- ${processedLine.capitalize()}" + } + } + proc.waitFor() + return changes.toString() + } +} + +unifiedPublishing { + project { + displayName = "Decorative v$project.version - Fabric $project.minecraft_version" + releaseType = "$project.release_type" + changelog = releaseChangelog() + gameVersions = [] + gameLoaders = ["fabric","quilt"] + mainPublication remapJar + relations { + includes { + curseforge = "midnightlib" + modrinth = "midnightlib" + } + includes { + curseforge = "polymer" + modrinth = "polymer" + } + } + + var CURSEFORGE_TOKEN = project.findProperty("CURSEFORGE_TOKEN") ?: System.getenv("CURSEFORGE_TOKEN") + if (CURSEFORGE_TOKEN != null) { + curseforge { + token = CURSEFORGE_TOKEN + id = rootProject.curseforge_id + gameVersions.addAll "Java 21", project.minecraft_version + } + } + + var MODRINTH_TOKEN = project.findProperty("MODRINTH_TOKEN") ?: System.getenv("MODRINTH_TOKEN") + if (MODRINTH_TOKEN != null) { + modrinth { + token = MODRINTH_TOKEN + id = rootProject.modrinth_id + version = "$project.version" + gameVersions.addAll project.minecraft_version + } + } + } +} diff --git a/gradle.properties b/gradle.properties index 6d27955..1f95165 100755 --- a/gradle.properties +++ b/gradle.properties @@ -8,14 +8,17 @@ org.gradle.jvmargs=-Xmx2G loader_version=0.15.11 # Mod Properties - mod_version = 5.0.0-pre.2 + mod_version = 5.0.0-alpha.1 maven_group = eu.midnightdust.motschen archives_base_name = decorative + release_type=release + curseforge_id=394007 + modrinth_id=O7pXTXac # Dependencies # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api fabric_version=0.100.7+1.21 - midnightlib_version=1.5.7-fabric + midnightlib_version=1.6.9+1.21-fabric patchouli_version=1.18.2-67-FABRIC polymer_version=0.9.12+1.21.1 factorytools_version=0.3.1+1.21 diff --git a/settings.gradle b/settings.gradle index 5b60df3..009dc65 100755 --- a/settings.gradle +++ b/settings.gradle @@ -1,6 +1,6 @@ pluginManagement { repositories { - jcenter() + maven { url "https://maven.architectury.dev/" } maven { name = 'Fabric' url = 'https://maven.fabricmc.net/' diff --git a/src/main/java/eu/midnightdust/motschen/decorative/DecorativeMain.java b/src/main/java/eu/midnightdust/motschen/decorative/DecorativeMain.java index 4cb2299..6e715f8 100755 --- a/src/main/java/eu/midnightdust/motschen/decorative/DecorativeMain.java +++ b/src/main/java/eu/midnightdust/motschen/decorative/DecorativeMain.java @@ -77,8 +77,6 @@ public class DecorativeMain implements ModInitializer { GardenGroup = createGroup(id("garden"), LogsWithAxes.TYPES::getFirst); PoolGroup = createGroup(id("pool"), () -> Pool.BEACH_BALL_ITEM); - - // Traffic // registerTraffic(id("rocky_asphalt"), RockyAsphalt); registerTraffic(id("road"), Road); @@ -130,7 +128,7 @@ public class DecorativeMain implements ModInitializer { })).build(); PolymerItemGroupUtils.registerPolymerItemGroup(id, group); // } else { -// group = FabricItemGroup.builder().displayName(name).icon(() -> new ItemStack(icon)).entries(((displayContext, entries) -> { +// group = FabricItemGroup.builder().displayName(name).icon(() -> new ItemStack(icon.get())).entries(((displayContext, entries) -> { // List groupItems = new ArrayList<>(); // RegistryUtil.groupItems.stream().filter(itemEntry -> itemEntry.groupName() == name).forEach(itemEntry -> groupItems.add(itemEntry.stack())); // entries.addAll(groupItems); diff --git a/src/main/java/eu/midnightdust/motschen/decorative/config/DecorativeConfig.java b/src/main/java/eu/midnightdust/motschen/decorative/config/DecorativeConfig.java index f82611c..9e7fc44 100755 --- a/src/main/java/eu/midnightdust/motschen/decorative/config/DecorativeConfig.java +++ b/src/main/java/eu/midnightdust/motschen/decorative/config/DecorativeConfig.java @@ -6,7 +6,7 @@ import java.util.TimeZone; public class DecorativeConfig extends MidnightConfig { @Entry public static TimeFormat timeFormat = TimeZone.getDefault().useDaylightTime() ? TimeFormat.h12 : TimeFormat.h24; - @Entry public static boolean polymerIntegration = false; + @Entry public static boolean polymerIntegration = true; @Entry(min = 0, max = 200, isSlider = true) public static int viewDistance = 100; public enum TimeFormat { diff --git a/src/main/java/eu/midnightdust/motschen/decorative/util/RegistryUtil.java b/src/main/java/eu/midnightdust/motschen/decorative/util/RegistryUtil.java index 660052c..97f674f 100644 --- a/src/main/java/eu/midnightdust/motschen/decorative/util/RegistryUtil.java +++ b/src/main/java/eu/midnightdust/motschen/decorative/util/RegistryUtil.java @@ -47,12 +47,11 @@ public class RegistryUtil { } public static Item blockItem(Block block) { - //if (DecorativeConfig.polymerIntegration) { + if (DecorativeConfig.polymerIntegration) { if (block instanceof PolymerBlock) return new FactoryBlockItem((Block & PolymerBlock) block, new Item.Settings()); else System.out.println(block); - //} - return null; - //return new BlockItem(block, new Item.Settings()); + } + return new BlockItem(block, new Item.Settings()); } public static void registerItem(Identifier id, Item item, ItemGroup group) {