Akram Bensalem
04/24/2022, 1:48 PMNikky
04/24/2022, 2:41 PMbuild/distribution/
into a folder that adds it to the servers resources
my buildscript script for it looks like so
val generatedSrc = file("src/generated/kotlin").also { it.mkdirs() }
val generatedResources = file("src/generated/resources").also { it.mkdirs() }
sourceSets {
val main by getting {
resources.srcDir(generatedResources)
}
}
kotlin {
sourceSets {
main {
kotlin.srcDir(generatedSrc)
}
}
}
tasks {
val webpackOutput = project(":app").buildDir.resolve("distributions")
val cleanWebOutput by registering {
doLast {
webpackOutput.deleteRecursively()
}
}
project(":app").tasks.getByName("jsBrowserProductionWebpack") {
mustRunAfter(cleanWebOutput)
}
val bundleWeb by registering {
group = "build"
dependsOn(cleanWebOutput)
dependsOn(":app:jsBrowserProductionWebpack")
val resourceOutput = generatedResources.resolve("web")
doFirst {
resourceOutput.deleteRecursively()
resourceOutput.mkdirs()
}
doLast {
copy {
excludes += "META-INF"
from(webpackOutput)
into(resourceOutput)
duplicatesStrategy = DuplicatesStrategy.WARN
}
}
}
processResources {
mustRunAfter(bundleWeb)
}
}
and then you can host it like so
static("/") {
preCompressed {
resources("web")
defaultResource("web/index.html")
resource("alias", "web/index.html")
}
}