aboutsummaryrefslogtreecommitdiff
path: root/kvision-modules/kvision-testutils
diff options
context:
space:
mode:
Diffstat (limited to 'kvision-modules/kvision-testutils')
-rw-r--r--kvision-modules/kvision-testutils/build.gradle61
-rw-r--r--kvision-modules/kvision-testutils/build.gradle.kts48
-rw-r--r--kvision-modules/kvision-testutils/webpack.config.d/bootstrap.js3
-rw-r--r--kvision-modules/kvision-testutils/webpack.config.d/css.js2
-rw-r--r--kvision-modules/kvision-testutils/webpack.config.d/file.js9
5 files changed, 62 insertions, 61 deletions
diff --git a/kvision-modules/kvision-testutils/build.gradle b/kvision-modules/kvision-testutils/build.gradle
deleted file mode 100644
index ad0ffd2e..00000000
--- a/kvision-modules/kvision-testutils/build.gradle
+++ /dev/null
@@ -1,61 +0,0 @@
-apply plugin: 'kotlin-platform-js'
-
-task cleanLibs(type: Delete) {
- delete 'build/js', 'build/libs'
-}
-
-if (project.gradle.startParameter.taskNames.contains("jar")) {
- compileKotlin2Js.dependsOn 'cleanLibs'
-}
-
-jar {
- duplicatesStrategy = DuplicatesStrategy.EXCLUDE
-}
-
-task testJar(type: Jar, dependsOn: testClasses) {
- baseName = "${project.archivesBaseName}"
- classifier = "tests"
- from sourceSets.test.output
-}
-
-configurations {
- tests
-}
-
-artifacts {
- tests testJar
-}
-
-publishing {
- publications {
- mavenProject(MavenPublication) {
- artifact testJar {
- classifier 'tests'
- }
- }
- }
-}
-
-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 "org.jetbrains.kotlin:kotlin-test-js:$kotlinVersion"
- if (!project.gradle.startParameter.taskNames.contains("generatePomFileForMavenProjectPublication")) {
- compile project(":kvision-modules:kvision-base")
- } else {
- compile rootProject
- }
-}
diff --git a/kvision-modules/kvision-testutils/build.gradle.kts b/kvision-modules/kvision-testutils/build.gradle.kts
new file mode 100644
index 00000000..efd29e1b
--- /dev/null
+++ b/kvision-modules/kvision-testutils/build.gradle.kts
@@ -0,0 +1,48 @@
+buildscript {
+ extra.set("production", (findProperty("prod") ?: findProperty("production") ?: "false") == "true")
+}
+
+plugins {
+ kotlin("js")
+ id("maven-publish")
+}
+
+repositories()
+
+kotlin {
+ kotlinJsTargets()
+}
+
+dependencies {
+ implementation(kotlin("stdlib-js"))
+ api(rootProject)
+ testImplementation(kotlin("test-js"))
+}
+
+val sourcesJar by tasks.registering(Jar::class) {
+ archiveClassifier.set("sources")
+ from(kotlin.sourceSets.test.get().kotlin)
+}
+
+val testJar by tasks.registering(Jar::class) {
+ dependsOn("testClasses")
+ archiveClassifier.set("tests")
+ from(tasks["compileTestKotlinJs"].outputs)
+}
+
+publishing {
+ publications {
+ create<MavenPublication>("kotlin") {
+ from(components["kotlin"])
+ artifact(tasks["sourcesJar"])
+ artifact(tasks["testJar"]) {
+ classifier = "tests"
+ }
+ pom {
+ defaultPom()
+ }
+ }
+ }
+}
+
+setupPublication()
diff --git a/kvision-modules/kvision-testutils/webpack.config.d/bootstrap.js b/kvision-modules/kvision-testutils/webpack.config.d/bootstrap.js
new file mode 100644
index 00000000..35b28e6a
--- /dev/null
+++ b/kvision-modules/kvision-testutils/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-testutils/webpack.config.d/css.js b/kvision-modules/kvision-testutils/webpack.config.d/css.js
new file mode 100644
index 00000000..5d710d35
--- /dev/null
+++ b/kvision-modules/kvision-testutils/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-testutils/webpack.config.d/file.js b/kvision-modules/kvision-testutils/webpack.config.d/file.js
new file mode 100644
index 00000000..653ca21f
--- /dev/null
+++ b/kvision-modules/kvision-testutils/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,
+ },
+ }
+);