Skip to content

Commit e173100

Browse files
authored
Merge pull request #30 from EssentialGG/feature/gradle-9-compatibility
Support Gradle 9
2 parents fd7e1a4 + d7b9b04 commit e173100

File tree

39 files changed

+81
-147
lines changed

39 files changed

+81
-147
lines changed

build-logic/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ repositories {
77
}
88

99
dependencies {
10-
api("gradle.plugin.com.github.johnrengelman:shadow:7.1.2")
10+
api("com.gradleup.shadow:com.gradleup.shadow.gradle.plugin:8.3.9")
1111

1212
implementation("org.ow2.asm:asm-commons:9.3")
1313
}

build-logic/src/main/kotlin/essential/configureModLauncherContainerJar.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,13 @@ package essential
22

33
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
44
import org.gradle.api.artifacts.Configuration
5+
import org.gradle.api.file.ArchiveOperations
6+
import org.gradle.kotlin.dsl.support.serviceOf
57

68
fun ShadowJar.configureModLauncherContainerJar(configuration: Configuration) {
79
dependsOn(configuration)
8-
from({ project.zipTree(configuration.singleFile) })
10+
val archiveOps = project.serviceOf<ArchiveOperations>()
11+
from({ archiveOps.zipTree(configuration.singleFile) })
912
preserveJars()
1013

1114
// We cannot relocate the whole package cause the stage1.jar must remain in the same place

build-logic/src/main/kotlin/essential/shadowWithInnerJars.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
44
import com.github.jengelman.gradle.plugins.shadow.transformers.Transformer
55
import com.github.jengelman.gradle.plugins.shadow.transformers.TransformerContext
66
import org.gradle.api.file.FileTreeElement
7-
import shadow.org.apache.tools.zip.ZipEntry
8-
import shadow.org.apache.tools.zip.ZipOutputStream
7+
import org.apache.tools.zip.ZipEntry
8+
import org.apache.tools.zip.ZipOutputStream
99

1010
/**
1111
* Shadow by default recursively explodes all jar files.

build.gradle

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ subprojects {
44
apply plugin: "java"
55

66
group = "gg.essential"
7-
archivesBaseName = "essential-loader" + path.replace(':', '-')
7+
base {
8+
archivesName = "essential-loader" + path.replace(':', '-')
9+
}
810

911
def javaVersions = [
1012
"compatibility": 16,
@@ -19,18 +21,13 @@ subprojects {
1921
"modlauncher11": 21,
2022
]
2123
java.toolchain.languageVersion.set(JavaLanguageVersion.of(javaVersions.getOrDefault(project.name, 8)))
22-
23-
repositories {
24-
mavenCentral()
25-
maven { url "https://libraries.minecraft.net/" }
26-
}
2724
}
2825

2926
allprojects {
3027
tasks.withType(AbstractArchiveTask.class).configureEach {
3128
preserveFileTimestamps = false
3229
reproducibleFileOrder = true
33-
dirMode = 0755
34-
fileMode = 0644
30+
dirPermissions { unix("755") }
31+
filePermissions { unix("644") }
3532
}
3633
}

container/fabric/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ dependencies {
1010
}
1111

1212
val jar by tasks.registering(Jar::class) {
13-
destinationDirectory.set(project.buildDir.resolve("libs"))
13+
destinationDirectory.set(layout.buildDirectory.dir("libs"))
1414
archiveBaseName.set("container-${project.name}")
1515

1616
dependsOn(stage0)

container/launchwrapper/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ dependencies {
1010
}
1111

1212
val jar by tasks.registering(Jar::class) {
13-
destinationDirectory.set(project.buildDir.resolve("libs"))
13+
destinationDirectory.set(layout.buildDirectory.dir("libs"))
1414
archiveBaseName.set("container-${project.name}")
1515

1616
dependsOn(stage0)

container/modlauncher8/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ dependencies {
1313
}
1414

1515
val jar by tasks.registering(ShadowJar::class) {
16-
destinationDirectory.set(project.buildDir.resolve("libs"))
16+
destinationDirectory.set(layout.buildDirectory.dir("libs"))
1717
archiveBaseName.set("container-${project.name}")
1818

1919
configureModLauncherContainerJar(stage0)

container/modlauncher9/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ dependencies {
1313
}
1414

1515
val jar by tasks.registering(ShadowJar::class) {
16-
destinationDirectory.set(project.buildDir.resolve("libs"))
16+
destinationDirectory.set(layout.buildDirectory.dir("libs"))
1717
archiveBaseName.set("container-${project.name}")
1818

1919
configureModLauncherContainerJar(stage0)

integrationTest/common/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ apply plugin: 'java-library'
22

33
dependencies {
44
api("org.junit.jupiter:junit-jupiter:5.7.2")
5+
runtimeOnly("org.junit.platform:junit-platform-launcher")
56

67
implementation("org.ow2.asm:asm-commons:5.0")
78
implementation("com.google.guava:guava:21.0")

integrationTest/fabric/build.gradle

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
import java.util.function.Supplier
2+
import javax.inject.Inject
23

3-
repositories {
4-
maven { url "https://maven.fabricmc.net/" }
4+
interface Injected {
5+
@Inject ArchiveOperations getArchiveOps()
56
}
67

8+
def injected = objects.newInstance(Injected.class)
9+
def archiveOps = injected.getArchiveOps()
10+
711
sourceSets {
812
exampleMod
913
essential
@@ -151,15 +155,15 @@ tasks.register("essentialJijijJar", Jar) {
151155
(1..5).each { i ->
152156
def stage2Task = tasks.register("stage2V${i}Jar", Jar) {
153157
archiveBaseName.set(name)
154-
from(evaluationDependsOn(':stage2:fabric').tasks.jar.archiveFile.map { zipTree(it) })
158+
from(evaluationDependsOn(':stage2:fabric').tasks.jar.archiveFile.map { archiveOps.zipTree(it) })
155159
// Dummy attribute so they all have different hashes
156160
manifest {
157161
attributes "Implementation-Version": "$i"
158162
}
159163
}
160164
def stage3Task = tasks.register("stage3V${i}Jar", Jar) {
161165
archiveBaseName.set(name)
162-
from(tasks.essentialJar.archiveFile.map { zipTree(it) })
166+
from(tasks.essentialJar.archiveFile.map { archiveOps.zipTree(it) })
163167
manifest {
164168
// Dummy attribute so they all have different hashes
165169
attributes "Implementation-Version": "$i"
@@ -171,7 +175,7 @@ tasks.register("essentialJijijJar", Jar) {
171175
}
172176
tasks.register("exampleBundledModJar$i", Jar) {
173177
archiveBaseName.set(name)
174-
from(tasks.exampleModJar.archiveFile.map { zipTree(it) })
178+
from(tasks.exampleModJar.archiveFile.map { archiveOps.zipTree(it) })
175179

176180
def stage2Jar = stage2Task.get().archiveFile
177181
def stage3Jar = stage3Task.get().archiveFile

0 commit comments

Comments
 (0)