diff options
author | Linnea Gräf <nea@nea.moe> | 2024-10-31 22:49:44 +0100 |
---|---|---|
committer | Linnea Gräf <nea@nea.moe> | 2024-10-31 23:20:24 +0100 |
commit | 653454e290a1bb6142e2bb40947239c2e450820b (patch) | |
tree | 063175796d2038e9626836705100c554bf47babc /build.gradle.kts | |
parent | 7a5335756960d77ca4d12cf49b59ea273b5a8f64 (diff) | |
download | Firmament-653454e290a1bb6142e2bb40947239c2e450820b.tar.gz Firmament-653454e290a1bb6142e2bb40947239c2e450820b.tar.bz2 Firmament-653454e290a1bb6142e2bb40947239c2e450820b.zip |
Force even earlier init of unpacked Jars
[no changelog]
Diffstat (limited to 'build.gradle.kts')
-rw-r--r-- | build.gradle.kts | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/build.gradle.kts b/build.gradle.kts index 15a5e78..64d80fe 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -100,18 +100,22 @@ kotlin { } } fun String.capitalizeN() = replaceFirstChar { it.uppercaseChar() } +// Usually a normal sync takes care of this, but in CI everything needs to run in one shot, so we need to improvise. +val unpackAllJars by tasks.registering fun innerJarsOf(name: String, dependency: Dependency): Provider<FileTree> { val task = tasks.create("unpackInnerJarsFor${name.capitalizeN()}", InnerJarsUnpacker::class) { + doFirst { + println("Unpacking JARs for $name") + } this.inputJars.setFrom(files(configurations.detachedConfiguration(dependency))) this.outputDir.set(layout.buildDirectory.dir("unpackedJars/$name").also { it.get().asFile.mkdirs() }) } - println("Constructed innerJars task: ${project.files(task).toList()}") + unpackAllJars { dependsOn(task) } + println("Constructed innerJars task: ${project.files(task).asFileTree.toList().map {it to it.exists()}}") return project.provider { - val files = project.files(task) - files.files // Force resolution - files.asFileTree + project.files(task).asFileTree } } |