aboutsummaryrefslogtreecommitdiff
path: root/kvision-modules/kvision-react/build.gradle.kts
diff options
context:
space:
mode:
authorRobert Jaros <rjaros@finn.pl>2020-05-11 16:25:21 +0200
committerRobert Jaros <rjaros@finn.pl>2020-05-11 16:25:21 +0200
commit801222a7aad01738e6c29035938d5f9cc8354061 (patch)
tree77dcb9d2d5d63bd35df855e4604f44d84be606b8 /kvision-modules/kvision-react/build.gradle.kts
parentf37ce606fc985f9d55fbca90713c9f6229eed566 (diff)
downloadkvision-801222a7aad01738e6c29035938d5f9cc8354061.tar.gz
kvision-801222a7aad01738e6c29035938d5f9cc8354061.tar.bz2
kvision-801222a7aad01738e6c29035938d5f9cc8354061.zip
New kvision-react module, with support for using React components in KVision apps
Diffstat (limited to 'kvision-modules/kvision-react/build.gradle.kts')
-rw-r--r--kvision-modules/kvision-react/build.gradle.kts53
1 files changed, 53 insertions, 0 deletions
diff --git a/kvision-modules/kvision-react/build.gradle.kts b/kvision-modules/kvision-react/build.gradle.kts
new file mode 100644
index 00000000..212531d0
--- /dev/null
+++ b/kvision-modules/kvision-react/build.gradle.kts
@@ -0,0 +1,53 @@
+buildscript {
+ extra.set("production", (findProperty("prod") ?: findProperty("production") ?: "false") == "true")
+}
+
+plugins {
+ kotlin("js")
+ id("maven-publish")
+}
+
+repositories()
+
+val kotlinReactVersion: String by project
+
+kotlin {
+ kotlinJsTargets()
+}
+
+dependencies {
+ implementation(kotlin("stdlib-js"))
+ api(rootProject)
+ api("org.jetbrains:kotlin-react:$kotlinReactVersion")
+ api("org.jetbrains:kotlin-react-dom:$kotlinReactVersion")
+ implementation(npm("react", "16.13.1"))
+ implementation(npm("react-dom", "16.13.1"))
+ 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") {
+ filter { it.replace("\"main\": \"kotlin/kvision-kvision", "\"main\": \"kvision-kvision") }
+ }
+ }
+}