(configFile["isDevMode"] as? Boolean) ?: false
}
-val fileDir by project.extra {
- val fileDirPath = configFile["rootDir"]?.let { "$it" } ?: ".."
- File(rootDir, fileDirPath)
-}
-
-val assetDir by project.extra {
- configFile["assetDir"]?.let { File(rootDir, "$it") } ?: File(fileDir, "assets")
-}
-
val browserWebpackSuffix by project.extra {
if (isDevMode)
"BrowserDevelopmentWebpack"
dependsOn(browserWebpackTask)
}
-fun copyToAssetsTask(from: TaskProvider<KotlinWebpack>, into: String, name: String): TaskProvider<Copy> {
- return tasks.register("${into}DeployToAssets", Copy::class) {
- group = "build"
-
- val isDevMode: Boolean by project.extra
-
- if (isDevMode) {
- val fromJs = from.flatMap { it.mainOutputFile }.map { it.asFile }
- val fromJsMap = fromJs.map { File(it.parentFile, "${it.name}.map") }
-
- from(files(fromJs, fromJsMap)) {
- eachFile {
- rename { if (it.endsWith(".map")) "$name.js.map" else "$name.js" }
-
- val sourceMapReplaceText = "//# sourceMappingURL=${fromJsMap.get().name}"
- val sourceMapReplacement = "//# sourceMappingURL=$name.js.map"
- filter { line ->
- line.replace(sourceMapReplaceText, sourceMapReplacement)
- }
- }
- }
- } else {
- val fromJs = from.flatMap { it.mainOutputFile }.map { it.asFile }
-
- from(fromJs) {
- eachFile {
- rename { "$name.js" }
-
- val sourceMapTestText = "//# sourceMappingURL="
- filter { line ->
- if (line.contains(sourceMapTestText)) "" else line
- }
- }
- }
- }
-
- val assetDir: File by project.extra
- val intoDir = File(assetDir, into).apply { mkdirs() }
-
- into(intoDir)
- }
-}
-
-val mapDeployToAssets by copyToAssetsTask(tasks.named<KotlinWebpack>("map$browserWebpackSuffix"), "map", "main")
-
tasks.withType<ShadowJar> {
buildJsAsset("map")
}
-tasks.named<JavaExec>("runShadow") {
- dependsOn(mapDeployToAssets)
-}
-
tasks.register("migrateToGridFs", JavaExec::class) {
group = "administration"