Actually fix issue

This commit is contained in:
Zoë Gidiere
2023-11-05 20:51:28 -07:00
parent c4f665ffc5
commit 0b1d67b533
@@ -3,6 +3,7 @@ import java.io.File
import java.io.FileWriter import java.io.FileWriter
import java.net.URI import java.net.URI
import java.net.URL import java.net.URL
import java.nio.file.FileSystemNotFoundException
import java.nio.file.FileSystems import java.nio.file.FileSystems
import java.nio.file.Files import java.nio.file.Files
import java.nio.file.StandardCopyOption import java.nio.file.StandardCopyOption
@@ -46,20 +47,17 @@ fun Project.configureDistribution() {
// https://github.com/johnrengelman/shadow/issues/111 // https://github.com/johnrengelman/shadow/issues/111
val dest = URI.create("jar:" + tasks.named<ShadowJar>("shadowJar").get().archiveFile.get().asFile.toURI()) val dest = URI.create("jar:" + tasks.named<ShadowJar>("shadowJar").get().archiveFile.get().asFile.toURI())
val preExistingProvider = try { val provider = try {
FileSystems.getFileSystem(dest) FileSystems.getFileSystem(dest)
} catch (e: Exception) { } catch (e: FileSystemNotFoundException) {
null null
}; } ?: FileSystems.newFileSystem(dest, mapOf("create" to "false"), null);
val provider = if (preExistingProvider == null) {
preExistingProvider
} else {
FileSystems.newFileSystem(dest, mapOf("create" to "false"), null)
};
provider?.use { fs -> provider?.use { fs ->
forSubProjects(":common:addons") { forSubProjects(":common:addons") {
if (fs.isOpen) {
val jar = getJarTask() val jar = getJarTask()
if (jar.archiveFile.get().asFile.exists()) {
println("Packaging addon ${jar.archiveFileName.get()} to $dest. size: ${jar.archiveFile.get().asFile.length() / 1024}KB") println("Packaging addon ${jar.archiveFileName.get()} to $dest. size: ${jar.archiveFile.get().asFile.length() / 1024}KB")
val boot = if (extra.has("bootstrap") && extra.get("bootstrap") as Boolean) "bootstrap/" else "" val boot = if (extra.has("bootstrap") && extra.get("bootstrap") as Boolean) "bootstrap/" else ""
@@ -70,6 +68,8 @@ fun Project.configureDistribution() {
Files.createFile(addonPath) Files.createFile(addonPath)
Files.copy(jar.archiveFile.get().asFile.toPath(), addonPath, StandardCopyOption.REPLACE_EXISTING) Files.copy(jar.archiveFile.get().asFile.toPath(), addonPath, StandardCopyOption.REPLACE_EXISTING)
} }
}
}
} }
} }