diff options
author | Robert Jaros <rjaros@finn.pl> | 2020-05-11 16:25:21 +0200 |
---|---|---|
committer | Robert Jaros <rjaros@finn.pl> | 2020-05-11 16:25:21 +0200 |
commit | 801222a7aad01738e6c29035938d5f9cc8354061 (patch) | |
tree | 77dcb9d2d5d63bd35df855e4604f44d84be606b8 /kvision-modules/kvision-react/build.gradle.kts | |
parent | f37ce606fc985f9d55fbca90713c9f6229eed566 (diff) | |
download | kvision-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.kts | 53 |
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") } + } + } +} |