From 9e243a469ae6544e8cf523ad09b959f541c3f565 Mon Sep 17 00:00:00 2001 From: Robert Jaros Date: Wed, 11 Mar 2020 16:18:17 +0100 Subject: Upgrade to Kotlin 1.3.70 + other dependencies (Coroutinse, Serialization, Spring Boot) Major refactoring of build architecture. --- kvision-modules/kvision-electron/build.gradle | 33 ----------------- kvision-modules/kvision-electron/build.gradle.kts | 43 ++++++++++++++++++++++ .../kvision-electron/webpack.config.d/bootstrap.js | 3 ++ .../kvision-electron/webpack.config.d/css.js | 2 + .../kvision-electron/webpack.config.d/file.js | 9 +++++ 5 files changed, 57 insertions(+), 33 deletions(-) delete mode 100644 kvision-modules/kvision-electron/build.gradle create mode 100644 kvision-modules/kvision-electron/build.gradle.kts create mode 100644 kvision-modules/kvision-electron/webpack.config.d/bootstrap.js create mode 100644 kvision-modules/kvision-electron/webpack.config.d/css.js create mode 100644 kvision-modules/kvision-electron/webpack.config.d/file.js (limited to 'kvision-modules/kvision-electron') diff --git a/kvision-modules/kvision-electron/build.gradle b/kvision-modules/kvision-electron/build.gradle deleted file mode 100644 index 8716dd65..00000000 --- a/kvision-modules/kvision-electron/build.gradle +++ /dev/null @@ -1,33 +0,0 @@ -apply plugin: 'kotlin-platform-js' -apply plugin: 'kotlinx-serialization' - -task cleanLibs(type: Delete) { - delete 'build/js', 'build/libs' -} - -if (project.gradle.startParameter.taskNames.contains("jar")) { - compileKotlin2Js.dependsOn 'cleanLibs' -} - -jar { - duplicatesStrategy = DuplicatesStrategy.EXCLUDE -} - -compileKotlin2Js { - kotlinOptions.metaInfo = true - kotlinOptions.outputFile = "$project.buildDir.path/js/${project.name}.js" - kotlinOptions.sourceMap = !production - kotlinOptions.moduleKind = 'umd' -} - -compileTestKotlin2Js { - kotlinOptions.metaInfo = true - kotlinOptions.outputFile = "$project.buildDir.path/js-tests/${project.name}-tests.js" - kotlinOptions.sourceMap = !production - kotlinOptions.moduleKind = 'umd' -} - -dependencies { - compile "org.jetbrains.kotlin:kotlin-stdlib-js:$kotlinVersion" - compile "me.kgustave:node-kt:$nodeKtVersion" -} diff --git a/kvision-modules/kvision-electron/build.gradle.kts b/kvision-modules/kvision-electron/build.gradle.kts new file mode 100644 index 00000000..6cd8beff --- /dev/null +++ b/kvision-modules/kvision-electron/build.gradle.kts @@ -0,0 +1,43 @@ +buildscript { + extra.set("production", (findProperty("prod") ?: findProperty("production") ?: "false") == "true") +} + +plugins { + kotlin("js") + id("maven-publish") +} + +repositories() + +// Versions +val nodeKtVersion: String by project + +kotlin { + kotlinJsTargets() +} + +dependencies { + implementation(kotlin("stdlib-js")) + api(rootProject) + api("me.kgustave:node-kt:$nodeKtVersion") + testImplementation(kotlin("test-js")) +} + +val sourcesJar by tasks.registering(Jar::class) { + archiveClassifier.set("sources") + from(kotlin.sourceSets.main.get().kotlin) +} + +publishing { + publications { + create("kotlin") { + from(components["kotlin"]) + artifact(tasks["sourcesJar"]) + pom { + defaultPom() + } + } + } +} + +setupPublication() diff --git a/kvision-modules/kvision-electron/webpack.config.d/bootstrap.js b/kvision-modules/kvision-electron/webpack.config.d/bootstrap.js new file mode 100644 index 00000000..35b28e6a --- /dev/null +++ b/kvision-modules/kvision-electron/webpack.config.d/bootstrap.js @@ -0,0 +1,3 @@ +config.module.rules.push({test: /\.(woff|woff2)(\?v=\d+\.\d+\.\d+)?$/, loader: 'url-loader?limit=10000&mimetype=application/font-woff'}); +config.module.rules.push({test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/, loader: 'url-loader?limit=10000&mimetype=application/octet-stream'}); +config.module.rules.push({test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, loader: 'file-loader'}); diff --git a/kvision-modules/kvision-electron/webpack.config.d/css.js b/kvision-modules/kvision-electron/webpack.config.d/css.js new file mode 100644 index 00000000..5d710d35 --- /dev/null +++ b/kvision-modules/kvision-electron/webpack.config.d/css.js @@ -0,0 +1,2 @@ +config.module.rules.push({ test: /\.css$/, loader: "style-loader!css-loader" }); + diff --git a/kvision-modules/kvision-electron/webpack.config.d/file.js b/kvision-modules/kvision-electron/webpack.config.d/file.js new file mode 100644 index 00000000..653ca21f --- /dev/null +++ b/kvision-modules/kvision-electron/webpack.config.d/file.js @@ -0,0 +1,9 @@ +config.module.rules.push( + { + test: /\.(jpe?g|png|gif|svg)$/i, + loader: 'file-loader', + options: { + esModule: false, + }, + } +); -- cgit