Skip to content

Commit 230e087

Browse files
committed
add neoforge and update build
1 parent b938bce commit 230e087

File tree

12 files changed

+267
-121
lines changed

12 files changed

+267
-121
lines changed

.github/workflows/cf_manual.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: publish-curseforge-manual
2+
3+
on: workflow_dispatch
4+
5+
jobs:
6+
build:
7+
runs-on: ubuntu-latest
8+
9+
steps:
10+
- uses: actions/checkout@v3
11+
12+
- name: Set up Java
13+
uses: actions/setup-java@v3
14+
with:
15+
java-version: 21
16+
distribution: temurin
17+
cache: gradle
18+
19+
- name: Setup Gradle
20+
uses: gradle/gradle-build-action@v2
21+
22+
- name: Gradle Build
23+
run: /bin/sh ./gradlew assemble
24+
25+
- name: CurseForge Publish
26+
run: /bin/sh ./gradlew publishCurseForge -Pcurseforge_api_key=${{ secrets.CURSEFORGE_KEY }} --stacktrace -x test

.github/workflows/md_manual.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: publish-modrinth-manual
2+
3+
on: workflow_dispatch
4+
5+
jobs:
6+
build:
7+
runs-on: ubuntu-latest
8+
9+
steps:
10+
- uses: actions/checkout@v3
11+
12+
- name: Set up Java
13+
uses: actions/setup-java@v3
14+
with:
15+
java-version: 21
16+
distribution: temurin
17+
cache: gradle
18+
19+
- name: Setup Gradle
20+
uses: gradle/gradle-build-action@v2
21+
22+
- name: Gradle Build
23+
run: /bin/sh ./gradlew assemble
24+
25+
- name: Modrinth Publish
26+
run: /bin/sh ./gradlew modrinth -Pmodrinth_api_key=${{ secrets.MODRINTH_KEY }} --stacktrace -x test

.github/workflows/pr-ci.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: pr-ci
2+
3+
on:
4+
pull_request:
5+
6+
jobs:
7+
build:
8+
runs-on: ubuntu-latest
9+
10+
steps:
11+
- uses: actions/checkout@v3
12+
13+
- name: Set up Java
14+
uses: actions/setup-java@v3
15+
with:
16+
java-version: 21
17+
distribution: temurin
18+
cache: gradle
19+
20+
- name: Gradle Build
21+
run: /bin/sh ./gradlew build --stacktrace

.github/workflows/tag_cf.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: publish-curseforge
2+
3+
on:
4+
push:
5+
tags:
6+
- '*'
7+
8+
jobs:
9+
build:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- uses: actions/checkout@v3
14+
15+
- name: Set up Java
16+
uses: actions/setup-java@v3
17+
with:
18+
java-version: 21
19+
distribution: temurin
20+
cache: gradle
21+
22+
- name: Setup Gradle
23+
uses: gradle/gradle-build-action@v2
24+
25+
- name: Gradle Build
26+
run: /bin/sh ./gradlew assemble
27+
28+
- name: CurseForge Publish
29+
run: /bin/sh ./gradlew publishCurseForge -Pcurseforge_api_key=${{ secrets.CURSEFORGE_KEY }} --stacktrace -x test

.github/workflows/tag_md.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: publish-modrinth
2+
3+
on:
4+
push:
5+
tags:
6+
- '*'
7+
8+
jobs:
9+
build:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- uses: actions/checkout@v3
14+
15+
- name: Set up Java
16+
uses: actions/setup-java@v3
17+
with:
18+
java-version: 21
19+
distribution: temurin
20+
cache: gradle
21+
22+
- name: Setup Gradle
23+
uses: gradle/gradle-build-action@v2
24+
25+
- name: Gradle Build
26+
run: /bin/sh ./gradlew assemble
27+
28+
- name: Modrinth Publish
29+
run: /bin/sh ./gradlew modrinth -Pmodrinth_api_key=${{ secrets.MODRINTH_KEY }} --stacktrace -x test

Fabric/build.gradle

Lines changed: 61 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,16 @@ buildscript {
88
}
99

1010
dependencies {
11-
// classpath("io.github.goooler.shadow:shadow-gradle-plugin:8.1.7")
1211
classpath group: 'com.modrinth.minotaur', name: 'Minotaur', version: '2.+'
1312
}
1413
}
1514

1615
plugins {
1716
id 'fabric-loom' version '1.6-SNAPSHOT'
18-
id 'com.matthewprenger.cursegradle' version '1.4.0'
17+
id 'net.darkhax.curseforgegradle' version '1.+'
1918
id 'io.github.juuxel.loom-quiltflower' version '1.8.0'
2019
}
21-
//apply plugin: 'io.github.goooler.shadow'
20+
2221
apply plugin: "com.modrinth.minotaur"
2322
apply plugin: "maven-publish"
2423

@@ -94,22 +93,22 @@ dependencies {
9493
// modImplementation "curse.maven:journeymap-32274:${project.jourenymap_fabric_version}"
9594
compileOnly project(":Common")
9695

97-
implementation include (group: 'info.journeymap', name: 'webmap-client', version: project.journeymap_webmap_version, changing: true)
98-
implementation include (group: 'io.javalin', name: 'javalin', version: '6.1.6')
96+
implementation include(group: 'info.journeymap', name: 'webmap-client', version: project.journeymap_webmap_version, changing: true)
97+
implementation include(group: 'io.javalin', name: 'javalin', version: '6.1.6')
9998
//external libs shade
100-
compileOnly include (group: 'org.eclipse.jetty', name: 'jetty-server', version: '11.0.20')
101-
compileOnly include (group: 'org.eclipse.jetty', name: 'jetty-servlet', version: '11.0.20')
102-
compileOnly include (group: 'org.eclipse.jetty', name: 'jetty-webapp', version: '11.0.20')
103-
compileOnly include (group: 'org.eclipse.jetty', name: 'jetty-security', version: '11.0.20')
104-
compileOnly include (group: 'org.eclipse.jetty', name: 'jetty-io', version: '11.0.20')
105-
compileOnly include (group: 'org.eclipse.jetty', name: 'jetty-http', version: '11.0.20')
106-
compileOnly include (group: 'org.eclipse.jetty', name: 'jetty-util', version: '11.0.20')
107-
compileOnly include (group: 'org.eclipse.jetty', name: 'jetty-webapp', version: '11.0.20')
108-
compileOnly include (group: 'org.eclipse.jetty', name: 'jetty-xml', version: '11.0.20')
109-
compileOnly include (group: 'jakarta.servlet', name: 'jakarta.servlet-api', version: '6.1.0')
110-
compileOnly include (group: 'org.eclipse.jetty.toolchain', name: 'jetty-jakarta-servlet-api', version: '5.0.2')
111-
112-
compileOnly include (group: 'org.jetbrains.kotlin', name: 'kotlin-stdlib', version: '1.9.23')
99+
compileOnly include(group: 'org.eclipse.jetty', name: 'jetty-server', version: '11.0.20')
100+
compileOnly include(group: 'org.eclipse.jetty', name: 'jetty-servlet', version: '11.0.20')
101+
compileOnly include(group: 'org.eclipse.jetty', name: 'jetty-webapp', version: '11.0.20')
102+
compileOnly include(group: 'org.eclipse.jetty', name: 'jetty-security', version: '11.0.20')
103+
compileOnly include(group: 'org.eclipse.jetty', name: 'jetty-io', version: '11.0.20')
104+
compileOnly include(group: 'org.eclipse.jetty', name: 'jetty-http', version: '11.0.20')
105+
compileOnly include(group: 'org.eclipse.jetty', name: 'jetty-util', version: '11.0.20')
106+
compileOnly include(group: 'org.eclipse.jetty', name: 'jetty-webapp', version: '11.0.20')
107+
compileOnly include(group: 'org.eclipse.jetty', name: 'jetty-xml', version: '11.0.20')
108+
compileOnly include(group: 'jakarta.servlet', name: 'jakarta.servlet-api', version: '6.1.0')
109+
compileOnly include(group: 'org.eclipse.jetty.toolchain', name: 'jetty-jakarta-servlet-api', version: '5.0.2')
110+
111+
compileOnly include(group: 'org.jetbrains.kotlin', name: 'kotlin-stdlib', version: '1.9.23')
113112

114113
// compileOnly include (group: 'org.slf4j', name: 'slf4j-simple', version: '2.0.3')
115114
}
@@ -143,44 +142,9 @@ sourceSets {
143142
}
144143

145144
remapJar {
146-
// inputFile.set shadowJar.archiveFile
147-
// dependsOn shadowJar
148-
archiveClassifier.set("fabric")
145+
archiveClassifier.set("")
149146
}
150147

151-
//shadowJar {
152-
//// archiveName = "${baseName}-${version}-slim.${extension}".replace("-fabric", "")
153-
// archiveFileName.set("${archiveBaseName.get()}-${archiveVersion.get()}.${archiveExtension.get()}")
154-
// archiveClassifier.set("shadow")
155-
// configurations = [project.configurations.shade]
156-
// duplicatesStrategy = DuplicatesStrategy.INCLUDE
157-
// dependencies {
158-
// exclude("META-INF/maven/**")
159-
// exclude("META-INF/services/org.*")
160-
// exclude("META-INF/services/jakarta.*")
161-
// exclude("fabric-**")
162-
// exclude(dependency("org.ow2.asm:.*:.*"))
163-
// }
164-
//
165-
// minimize {
166-
// // API has utility classes that must be included
167-
// exclude(dependency("info.journeymap:.*:.*"))
168-
// exclude(dependency("org.slf4j:.*:.*"))
169-
// }
170-
//
171-
// relocate "jakarta", "info.journeymap.shaded.jakarta"
172-
// relocate "javax.servlet", "info.journeymap.shaded.org.javax.servlet"
173-
// relocate "org.intellij", "info.journeymap.shaded.org.intellij"
174-
// relocate "org.jetbrains", "info.journeymap.shaded.org.jetbrains"
175-
// relocate "org.slf4j", "info.journeymap.shaded.org.slf4j"
176-
// relocate "org.eclipse", "info.journeymap.shaded.org.eclipse"
177-
//
178-
// relocate "kotlin", "info.journeymap.shaded.kotlin.kotlin"
179-
// relocate "io.javalin", "info.journeymap.shaded.io.javalin"
180-
//
181-
// exclude 'dummyThing'
182-
// exclude 'LICENSE.txt'
183-
//}
184148

185149
// This block of code expands all the gradle properties in the specified resource targets.
186150
// It copies them into the targets and expands all the defined properties.
@@ -234,8 +198,6 @@ task processDocs(type: Copy) {
234198
into 'build/doc'
235199
}
236200

237-
//tasks.build.dependsOn reobfShadowJar
238-
239201
clean.doFirst {
240202
// Remove the Webpack bundled assets as part of the clean task
241203
delete "$projectDir/src/main/resources/assets/journeymap/web/"
@@ -258,7 +220,6 @@ jar {
258220

259221

260222
artifacts {
261-
// archives shadowJar
262223
archives remapJar
263224
}
264225

@@ -270,47 +231,62 @@ def getDate() {
270231

271232
// Automated upload to CurseForge for the win!
272233
if (!project.hasProperty("curseForgeApiKey")) {
273-
ext.curseForgeApiKey = "notset"
234+
ext.curseForgeApiKey = project.findProperty("curseforge_api_key") ?: "notset"
274235
}
275236
if (!project.hasProperty("modrinthApiKey")) {
276-
ext.modrinthApiKey = "notset"
237+
ext.modrinthApiKey = project.findProperty("modrinth_api_key") ?: "notset"
277238
}
278-
curseforge {
279-
project {
280-
id = '793035'
281-
apiKey = "${curseForgeApiKey}"
282-
changelogType = 'html'
283-
releaseType = release_type
284-
addGameVersion project.minecraft_version
285-
addGameVersion 'Fabric'
286-
addGameVersion 'Quilt'
287-
288-
relations {
289-
requiredDependency 'journeymap'
290-
}
291239

292-
mainArtifact(remapJar) {
293-
displayName = "${archivesBaseName}-${version}"
294-
changelog = file('/build/doc/changelog.html')
295-
}
296-
afterEvaluate {
297-
uploadTask.dependsOn(remapJar)
298-
}
299-
}
240+
//curseforge {
241+
// project {
242+
// id = '793035'
243+
// apiKey = "${curseForgeApiKey}"
244+
// changelogType = 'html'
245+
// releaseType = release_type
246+
// addGameVersion project.minecraft_version
247+
// addGameVersion 'Fabric'
248+
// addGameVersion 'Quilt'
249+
//
250+
// relations {
251+
// requiredDependency 'journeymap'
252+
// }
253+
//
254+
// mainArtifact(remapJar) {
255+
// displayName = "${archivesBaseName}-${version}"
256+
// changelog = file('/build/doc/changelog.html')
257+
// }
258+
// afterEvaluate {
259+
// uploadTask.dependsOn(remapJar)
260+
// }
261+
// }
262+
//}
263+
264+
task publishCurseForge(type: net.darkhax.curseforgegradle.TaskPublishCurseForge) {
265+
266+
apiToken = "${curseForgeApiKey}"
267+
def mainFile = upload(curseforge_project_id, remapJar)
268+
mainFile.displayName = "${project.mod_id}-${version}+${loaderName}"
269+
mainFile.releaseType = release_type
270+
mainFile.addModLoader("Fabric", "Quilt")
271+
mainFile.addJavaVersion("Java 21")
272+
mainFile.addGameVersion("${project.minecraft_version}")
273+
mainFile.addRelation("journeymap", "requiredDependency")
274+
mainFile.changelogType = "html"
275+
mainFile.changelog = file("$project.buildDir/doc/changelog.html")
300276
}
301277

302278
tasks.modrinth.dependsOn(tasks.build)
303279

304280
modrinth {
305281
token = "${modrinthApiKey}"
306-
projectId = "YaZ1fUTg"
307-
versionNumber = "${version}"
308-
versionName = "${archivesBaseName}-${version}"
282+
projectId = modrinth_project_id
283+
versionNumber = "${version}+${loaderName}"
284+
versionName = "${project.mod_id}-${version}+${loaderName}"
309285
versionType = release_type
310286
uploadFile = remapJar
311287
gameVersions = ["${project.minecraft_version}"]
312288
loaders = ["fabric", "quilt"]
313-
changelog = file('/build/doc/changelog.html').exists() ? file('/build/doc/changelog.html').text : null
289+
changelog = file("/build/doc/changelog.html").exists() ? file("/build/doc/changelog.html").text : null
314290
dependencies {
315291
required.project "journeymap"
316292
}
@@ -323,7 +299,7 @@ project.afterEvaluate {
323299
}
324300
}
325301

326-
tasks.withType(PublishToMavenRepository) { task -> task.dependsOn remapJar}
302+
tasks.withType(PublishToMavenRepository) { task -> task.dependsOn remapJar }
327303

328304
publishing {
329305
repositories {

0 commit comments

Comments
 (0)