aboutsummaryrefslogtreecommitdiff
path: root/kvision-modules/kvision-redux/build.gradle.kts
diff options
context:
space:
mode:
Diffstat (limited to 'kvision-modules/kvision-redux/build.gradle.kts')
-rw-r--r--kvision-modules/kvision-redux/build.gradle.kts52
1 files changed, 52 insertions, 0 deletions
diff --git a/kvision-modules/kvision-redux/build.gradle.kts b/kvision-modules/kvision-redux/build.gradle.kts
new file mode 100644
index 00000000..15e65cf2
--- /dev/null
+++ b/kvision-modules/kvision-redux/build.gradle.kts
@@ -0,0 +1,52 @@
+buildscript {
+ extra.set("production", (findProperty("prod") ?: findProperty("production") ?: "false") == "true")
+}
+
+plugins {
+ kotlin("js")
+ id("maven-publish")
+}
+
+repositories()
+
+val kotlinReduxVersion: String by project
+
+kotlin {
+ kotlinJsTargets()
+}
+
+dependencies {
+ implementation(kotlin("stdlib-js"))
+ api(rootProject)
+ api("org.jetbrains:kotlin-redux:$kotlinReduxVersion") {
+ exclude("org.jetbrains.kotlinx", "kotlinx-html-js")
+ }
+ implementation(npm("redux", "4.0.5"))
+ implementation(npm("redux-thunk", "2.3.0"))
+ 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()
+
+tasks {
+ getByName("JsJar", Jar::class) {
+ from("${rootProject.buildDir}/js/packages/kvision-${project.name}/package.json")
+ }
+}