@@ -3,60 +3,60 @@ import dev.xpple.seedmapper.buildscript.GenerateBuildInfoTask
33import net.fabricmc.loom.task.prod.ClientProductionRunTask
44
55plugins {
6- id ' net.fabricmc.fabric-loom' version " ${ fabric_loom_version} "
7- id ' maven -publish'
6+ id ' net.fabricmc.fabric-loom' version " ${ fabric_loom_version} "
7+ id ' me.modmuss50.mod -publish-plugin ' version " ${ mod_publish_plugin_version } "
88}
99
1010version = project. mod_version
1111group = project. maven_group
1212
1313base {
14- archivesName = project. archives_base_name
14+ archivesName = project. archives_base_name
1515}
1616
1717loom {
18- accessWidenerPath = file(' src/main/resources/seedmapper.aw' )
18+ accessWidenerPath = file(' src/main/resources/seedmapper.aw' )
1919}
2020
2121repositories {
22- mavenCentral()
23- maven {
24- name = ' xpple'
25- url = ' https://maven.xpple.dev/maven2'
26- }
27- maven {
28- name = ' DJtheRedstoner'
29- url = ' https://pkgs.dev.azure.com/djtheredstoner/DevAuth/_packaging/public/maven/v1'
30- }
31- maven {
32- name = ' MeteorDevelopment'
33- url = ' https://maven.meteordev.org/snapshots'
34- }
22+ mavenCentral()
23+ maven {
24+ name = ' xpple'
25+ url = ' https://maven.xpple.dev/maven2'
26+ }
27+ maven {
28+ name = ' DJtheRedstoner'
29+ url = ' https://pkgs.dev.azure.com/djtheredstoner/DevAuth/_packaging/public/maven/v1'
30+ }
31+ maven {
32+ name = ' MeteorDevelopment'
33+ url = ' https://maven.meteordev.org/snapshots'
34+ }
3535}
3636
3737dependencies {
38- minecraft " com.mojang:minecraft:${ project.minecraft_version} "
39- implementation " net.fabricmc:fabric-loader:${ project.fabric_loader_version} "
38+ minecraft " com.mojang:minecraft:${ project.minecraft_version} "
39+ implementation " net.fabricmc:fabric-loader:${ project.fabric_loader_version} "
4040
41- implementation " net.fabricmc.fabric-api:fabric-api:${ project.fabric_api_version} "
42- productionRuntimeMods " net.fabricmc.fabric-api:fabric-api:${ project.fabric_api_version} "
41+ implementation " net.fabricmc.fabric-api:fabric-api:${ project.fabric_api_version} "
42+ productionRuntimeMods " net.fabricmc.fabric-api:fabric-api:${ project.fabric_api_version} "
4343
44- include implementation(" dev.xpple:clientarguments:${ project.clientarguments_version} " )
45- include implementation(" dev.xpple:betterconfig-fabric:${ project.betterconfig_version} " )
46- include implementation(" dev.xpple:simplewaypoints:${ project.simplewaypoints_version} " )
44+ include implementation(" dev.xpple:clientarguments:${ project.clientarguments_version} " )
45+ include implementation(" dev.xpple:betterconfig-fabric:${ project.betterconfig_version} " )
46+ include implementation(" dev.xpple:simplewaypoints:${ project.simplewaypoints_version} " )
4747
48- runtimeOnly(" me.djtheredstoner:DevAuth-fabric:${ project.devauth_version} " ) {
49- exclude group : ' net.fabricmc' , module : ' fabric-loader'
50- }
51- productionRuntimeMods(" me.djtheredstoner:DevAuth-fabric:${ project.devauth_version} " ) {
52- exclude group : ' net.fabricmc' , module : ' fabric-loader'
53- }
48+ runtimeOnly(" me.djtheredstoner:DevAuth-fabric:${ project.devauth_version} " ) {
49+ exclude group : ' net.fabricmc' , module : ' fabric-loader'
50+ }
51+ productionRuntimeMods(" me.djtheredstoner:DevAuth-fabric:${ project.devauth_version} " ) {
52+ exclude group : ' net.fabricmc' , module : ' fabric-loader'
53+ }
5454
55- compileOnly " meteordevelopment:baritone:${ project.baritone_version} "
55+ compileOnly " meteordevelopment:baritone:${ project.baritone_version} "
5656
57- testImplementation platform(" org.junit:junit-bom:${ project.junit_version} " )
58- testImplementation ' org.junit.jupiter:junit-jupiter'
59- testRuntimeOnly ' org.junit.platform:junit-platform-launcher'
57+ testImplementation platform(" org.junit:junit-bom:${ project.junit_version} " )
58+ testImplementation ' org.junit.jupiter:junit-jupiter'
59+ testRuntimeOnly ' org.junit.platform:junit-platform-launcher'
6060}
6161
6262clean {
@@ -71,63 +71,92 @@ compileJava.dependsOn('createJavaBindings')
7171createJavaBindings. dependsOn(clean)
7272
7373tasks. register(' generateBuildInfo' , GenerateBuildInfoTask ) {
74- outputFile = new File (temporaryDir, " build_info.json" )
74+ outputFile = new File (temporaryDir, " build_info.json" )
7575}
7676
7777tasks. register(" prodClient" , ClientProductionRunTask ) {
78- runDir = file(" run" )
78+ runDir = file(" run" )
7979
80- jvmArgs. add(" -Ddevauth.enabled=true" )
80+ jvmArgs. add(" -Ddevauth.enabled=true" )
8181
82- javaLauncher = javaToolchains. launcherFor {
83- languageVersion = JavaLanguageVersion . of(25 )
84- }
82+ javaLauncher = javaToolchains. launcherFor {
83+ languageVersion = JavaLanguageVersion . of(25 )
84+ }
8585}
8686
8787processResources {
88- def props = [version : project. mod_version, minecraft_version_dependency : project. minecraft_version_dependency, loader_version : project. fabric_loader_version]
89- inputs. properties props
90- filteringCharset " UTF-8"
88+ def props = [version : project. mod_version, minecraft_version_dependency : project. minecraft_version_dependency, loader_version : project. fabric_loader_version]
89+ inputs. properties props
90+ filteringCharset " UTF-8"
9191
92- filesMatching(" fabric.mod.json" ) {
93- expand props
94- }
92+ filesMatching(" fabric.mod.json" ) {
93+ expand props
94+ }
9595
96- from(" LICENSE" ) {
97- rename {" ${ it} _${ project.base.archivesName.get()} " }
98- }
96+ from(" LICENSE" ) {
97+ rename {" ${ it} _${ project.base.archivesName.get()} " }
98+ }
9999
100- from(" src/main/c/cubiomes/LICENSE" ) {
101- rename {" ${ it} _cubiomes" }
102- }
100+ from(" src/main/c/cubiomes/LICENSE" ) {
101+ rename {" ${ it} _cubiomes" }
102+ }
103103
104- from(" src/main/c/cubiomes/loot/LICENSE_loot_library.h.txt" )
104+ from(" src/main/c/cubiomes/loot/LICENSE_loot_library.h.txt" )
105105
106- from generateBuildInfo
106+ from generateBuildInfo
107107}
108108
109109tasks. withType(JavaCompile ). configureEach {
110- it. options. release = 25
110+ it. options. release = 25
111111}
112112
113113java {
114- sourceCompatibility = JavaVersion . VERSION_25
115- targetCompatibility = JavaVersion . VERSION_25
114+ sourceCompatibility = JavaVersion . VERSION_25
115+ targetCompatibility = JavaVersion . VERSION_25
116116}
117117
118118test {
119- useJUnitPlatform()
119+ useJUnitPlatform()
120120}
121121
122- publishing {
123- publications {
124- mavenJava(MavenPublication ) {
125- artifactId = project. base. archivesName. get()
126- from components. java
127- }
128- }
122+ publishMods {
123+ def artifactFile = base. getLibsDirectory(). file(jar. archiveFileName)
124+ if (! artifactFile. isPresent()) {
125+ logger. lifecycle(" Artifact not present!" )
126+ return
127+ }
128+ def changeLogText = providers. fileContents(layout. projectDirectory. file(" changelog.md" )). asText
129+ if (! changeLogText. isPresent()) {
130+ logger. lifecycle(" Changelog file not found!" )
131+ return
132+ }
129133
130- repositories {
134+ displayName = " Release ${ project.mod_version} "
135+ type = STABLE
136+ modLoaders. add(' fabric' )
137+ github {
138+ changelog = changeLogText. map {" Download available [on Modrinth](https://modrinth.com/mod/seedmapper/version/${ project.mod_version} ).\n\n ${ it} " }
131139
132- }
140+ repository = ' xpple/SeedMapper'
141+ accessToken = providers. environmentVariable(" GITHUB_TOKEN" )
142+ commitish = ' master'
143+ tagName = " v${ project.mod_version} "
144+
145+ allowEmptyFiles = true
146+ }
147+ modrinth {
148+ file = artifactFile
149+ changelog = changeLogText
150+
151+ projectId = " C4GbEnuY"
152+ accessToken = providers. environmentVariable(" MODRINTH_TOKEN" )
153+ project. minecraft_version_list. split(' \\ s*,\\ s*' ). toList(). forEach {minecraftVersions. add(it)}
154+
155+ embeds {
156+ slug = ' betterconfig'
157+ }
158+ embeds {
159+ slug = ' simplewaypoints'
160+ }
161+ }
133162}
0 commit comments