diff options
Diffstat (limited to 'kvision-modules/kvision-bootstrap-upload/build.gradle.kts')
-rw-r--r-- | kvision-modules/kvision-bootstrap-upload/build.gradle.kts | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/kvision-modules/kvision-bootstrap-upload/build.gradle.kts b/kvision-modules/kvision-bootstrap-upload/build.gradle.kts new file mode 100644 index 00000000..4fcaa183 --- /dev/null +++ b/kvision-modules/kvision-bootstrap-upload/build.gradle.kts @@ -0,0 +1,71 @@ +buildscript { + extra.set("production", (findProperty("prod") ?: findProperty("production") ?: "false") == "true") +} + +plugins { + kotlin("js") + id("maven-publish") +} + +repositories() + +val coroutinesVersion: String by project + +kotlin { + kotlinJsTargets() +} + +dependencies { + implementation(kotlin("stdlib-js")) + api(project(":kvision-modules:kvision-common-types")) + api(rootProject) + api("org.jetbrains.kotlinx:kotlinx-coroutines-core-js:$coroutinesVersion") + implementation(npm("bootstrap-fileinput", "5.0.8")) + testImplementation(kotlin("test-js")) +} + +val sourcesJar by tasks.registering(Jar::class) { + archiveClassifier.set("sources") + from(kotlin.sourceSets.main.get().kotlin) +} + +publishing { + publications { + create<MavenPublication>("kotlin") { + from(components["kotlin"]) + artifact(tasks["sourcesJar"]) + pom { + defaultPom() + } + } + } +} + +setupPublication() + +fun copyResources() { + copy { + from("$buildDir/processedResources/Js/main") + into("${rootProject.buildDir}/js/packages/kvision-${project.name}/kotlin") + } + copy { + from("$buildDir/processedResources/Js/main") + into("${rootProject.buildDir}/js/packages/kvision-${project.name}/kotlin-dce") + } +} + +tasks { + getByName("JsJar", Jar::class) { + from("${rootProject.buildDir}/js/packages/kvision-${project.name}/package.json") + } + getByName("compileTestKotlinJs") { + doLast { + copyResources() + } + } + getByName("processDceKotlinJs") { + doLast { + copyResources() + } + } +} |