Skip to content

Commit 23bb40f

Browse files
authored
Merge pull request #40 from way-zer/3.0
* support put new key into ObjectMap * ⬆️ Kotlin 2.1.10 * ⬆️ Gradle 8.14 * ⬆️ Mindustry v149
2 parents c99fc0a + 3a28d47 commit 23bb40f

12 files changed

Lines changed: 81 additions & 64 deletions

File tree

.github/workflows/build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ jobs:
1313
runs-on: ubuntu-latest
1414

1515
steps:
16-
- uses: actions/checkout@v2
16+
- uses: actions/checkout@v4
1717

1818
- name: build MOD
1919
run: |
2020
export VERSION="beta-$GITHUB_RUN_NUMBER"
2121
./gradlew dist
2222
- name: Upload MOD JAR
23-
uses: actions/upload-artifact@v2
23+
uses: actions/upload-artifact@v4
2424
with:
2525
path: build/dist/*

.github/workflows/changeLog.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
runs-on: ubuntu-latest
1414

1515
steps:
16-
- uses: actions/checkout@v2
16+
- uses: actions/checkout@v4
1717

1818
- uses: release-drafter/release-drafter@v5
1919
env:

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
runs-on: ubuntu-latest
1414

1515
steps:
16-
- uses: actions/checkout@v2
16+
- uses: actions/checkout@v4
1717

1818
- name: Set env
1919
env:
@@ -24,6 +24,6 @@ jobs:
2424
run: ./gradlew dist
2525

2626
- name: upload artifacts
27-
uses: softprops/action-gh-release@v1
27+
uses: softprops/action-gh-release@v2
2828
with:
2929
files: build/dist/*

.idea/kotlinc.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build.gradle.kts

Lines changed: 32 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
22

33
plugins {
4-
kotlin("jvm") version "1.9.0"
4+
kotlin("jvm") version "2.1.10"
55
id("com.github.johnrengelman.shadow") version "8.1.1"
66
`maven-publish`
77
}
@@ -16,8 +16,8 @@ repositories {
1616

1717
dependencies {
1818
implementation(kotlin("stdlib"))
19-
compileOnly("com.github.Anuken.Arc:arc-core:v146")
20-
compileOnly("com.github.anuken.mindustryjitpack:core:v145") {
19+
compileOnly("com.github.Anuken.Arc:arc-core:v149")
20+
compileOnly("com.github.anuken.mindustry:core:v149") {
2121
exclude(group = "com.github.Anuken.Arc")
2222
}
2323
}
@@ -51,44 +51,47 @@ val shadowTask: ShadowJar = tasks.withType(ShadowJar::class.java) {
5151
minimize()
5252
}.first()
5353

54-
val jarAndroid = tasks.create("jarAndroid") {
54+
val jarAndroid by tasks.registering(Exec::class) {
5555
dependsOn(shadowTask)
5656
val inFile = shadowTask.archiveFile.get().asFile
5757
val outFile = inFile.resolveSibling("${shadowTask.archiveBaseName.get()}-Android.jar")
5858
outputs.file(outFile)
59-
doLast {
60-
val sdkRoot = System.getenv("ANDROID_HOME") ?: System.getenv("ANDROID_SDK_ROOT")
61-
if (sdkRoot == null || !File(sdkRoot).exists()) throw GradleException("No valid Android SDK found. Ensure that ANDROID_HOME is set to your Android SDK directory.")
62-
63-
val d8Tool = File("$sdkRoot/build-tools/").listFiles()?.sortedDescending()
64-
?.flatMap { dir -> (dir.listFiles().orEmpty()).filter { it.name.startsWith("d8") } }?.firstOrNull()
65-
?: throw GradleException("No d8 found. Ensure that you have an Android platform installed.")
66-
val platformRoot = File("$sdkRoot/platforms/").listFiles()?.sortedDescending()?.firstOrNull { it.resolve("android.jar").exists() }
67-
?: throw GradleException("No android.jar found. Ensure that you have an Android platform installed.")
68-
69-
//collect dependencies needed for desugaring
70-
val dependencies = (configurations.compileClasspath.get() + configurations.runtimeClasspath.get() + platformRoot.resolve("android.jar"))
71-
.joinToString(" ") { "--classpath ${it.path}" }
72-
exec {
73-
commandLine("$d8Tool $dependencies --min-api 14 --output $outFile $inFile".split(" "))
74-
workingDir(inFile.parentFile)
75-
standardOutput = System.out
76-
errorOutput = System.err
77-
}.assertNormalExitValue()
78-
}
59+
60+
61+
val sdkRoot = System.getenv("ANDROID_HOME") ?: System.getenv("ANDROID_SDK_ROOT")
62+
if (sdkRoot == null || !File(sdkRoot).exists()) throw GradleException("No valid Android SDK found. Ensure that ANDROID_HOME is set to your Android SDK directory.")
63+
64+
val buildToolsDir = File(sdkRoot, "build-tools")
65+
val d8Tool = buildToolsDir.listFiles()?.sortedDescending()
66+
?.flatMap { dir -> dir.listFiles()?.filter { it.name == "d8" || it.name == "d8.bat" } ?: emptyList() }
67+
?.firstOrNull()
68+
?: throw GradleException("No d8 found. Ensure that you have an Android build-tools installed (>= 28.0.0).")
69+
val platformRoot = File(sdkRoot, "platforms").listFiles()
70+
?.sortedDescending()
71+
?.firstOrNull { File(it, "android.jar").exists() }
72+
?: throw GradleException("No android.jar found. Ensure that you have an Android platform installed.")
73+
val androidJar = File(platformRoot, "android.jar")
74+
val dependencies = (configurations.getByName("compileClasspath") +
75+
configurations.getByName("runtimeClasspath") + files(androidJar)).files
76+
val classpathArgs = dependencies.flatMap { listOf("--classpath", it.absolutePath) }
77+
78+
doFirst { outFile.parentFile.mkdirs() }
79+
commandLine = listOf(d8Tool.absolutePath) + classpathArgs +
80+
listOf("--min-api", "14", "--output", outFile.absolutePath, inFile.absolutePath)
81+
workingDir(inFile.parentFile)
7982
}
8083

81-
tasks.create("devInstall", Copy::class.java) {
84+
tasks.register("devInstall", Copy::class.java) {
8285
dependsOn(shadowTask)
8386
from(shadowTask.archiveFile.get())
8487
into(System.getenv("AppData") + "/mindustry/mods")
8588
}
8689

87-
tasks.create("dist", Jar::class.java) {
90+
tasks.register("dist", Jar::class.java) {
8891
dependsOn(shadowTask)
8992
dependsOn(jarAndroid)
90-
from(zipTree(shadowTask.archiveFile.get()))
91-
from(zipTree(jarAndroid.outputs.files.first()))
92-
destinationDirectory.set(buildDir.resolve("dist"))
93+
from(shadowTask.archiveFile.map { zipTree(it) })
94+
from(jarAndroid.map { zipTree(it.outputs.files.first()) })
95+
destinationDirectory.set(layout.buildDirectory.dir("dist"))
9396
archiveFileName.set("ContentsTweaker-${rootProject.version}.jar")
9497
}

gradle/wrapper/gradle-wrapper.jar

-17.9 KB
Binary file not shown.
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
3+
distributionUrl = https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip
44
networkTimeout=10000
5+
validateDistributionUrl = true
56
zipStoreBase=GRADLE_USER_HOME
67
zipStorePath=wrapper/dists

gradlew

Lines changed: 18 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

gradlew.bat

Lines changed: 14 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)