Skip to content

Commit c88bac2

Browse files
committed
Automatic publishing
1 parent e190881 commit c88bac2

2 files changed

Lines changed: 63 additions & 0 deletions

File tree

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,5 @@
1010
/.idea/*
1111
/build
1212
/run
13+
14+
publishing.properties

build.gradle

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ plugins {
22
id 'dev.architectury.loom' version '1.7-SNAPSHOT' apply false
33
id 'architectury-plugin' version '3.4-SNAPSHOT'
44
id 'com.github.johnrengelman.shadow' version '8.1.1' apply false
5+
id 'me.modmuss50.mod-publish-plugin' version '1.1.0'
56
}
67

78
architectury {
@@ -81,3 +82,63 @@ subprojects {
8182
}
8283
}
8384
}
85+
86+
// Mod Publishing
87+
def publishingFile = file("publishing.properties")
88+
if (!publishingFile.exists()) {
89+
throw new InvalidUserDataException("publishing.properties could not be found.")
90+
}
91+
def publishing = new Properties()
92+
publishingFile.withInputStream { publishing.load(it) }
93+
publishing.each { k, v -> if (v != null) publishing.setProperty(k, v.toString().trim()) }
94+
95+
publishMods {
96+
changelog = file("CHANGELOG.md").exists() ? file("CHANGELOG.md").text : "Changelog not found - check the repository for updates."
97+
type = project.version.toString().toLowerCase().contains("pre") ? BETA : STABLE
98+
maxRetries = 5
99+
100+
def cfOptions = curseforgeOptions {
101+
accessToken = providers.provider({ publishing.getProperty("curseforgeToken") })
102+
projectId = publishing.getProperty("curseforgeId")
103+
minecraftVersions.add(project.minecraft_version)
104+
projectSlug = "building-but-better"
105+
}
106+
107+
def mrOptions = modrinthOptions {
108+
accessToken = providers.provider({ publishing.getProperty("modrinthToken") })
109+
projectId = publishing.getProperty("modrinthId")
110+
minecraftVersions.add(project.minecraft_version)
111+
}
112+
113+
curseforge("curseforgeFabric") {
114+
from cfOptions
115+
file project(":fabric")
116+
modLoaders.add("fabric")
117+
requires("architectury-api")
118+
displayName = "Building But Better ${project.version} (Fabric ${project.minecraft_version})"
119+
}
120+
121+
curseforge("curseforgeForge") {
122+
from cfOptions
123+
file project(":forge")
124+
modLoaders.add("forge")
125+
requires("architectury-api")
126+
displayName = "Building But Better ${project.version} (Forge ${project.minecraft_version})"
127+
}
128+
129+
modrinth("modrinthFabric") {
130+
from mrOptions
131+
file project(":fabric")
132+
modLoaders.add("fabric")
133+
requires("architectury-api")
134+
displayName = "Building But Better ${project.version} (Fabric ${project.minecraft_version})"
135+
}
136+
137+
modrinth("modrinthForge") {
138+
from mrOptions
139+
file project(":forge")
140+
modLoaders.add("forge")
141+
requires("architectury-api")
142+
displayName = "Building But Better ${project.version} (Forge ${project.minecraft_version})"
143+
}
144+
}

0 commit comments

Comments
 (0)