diff options
Diffstat (limited to 'kvision-modules/kvision-testutils')
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, + }, + } +); |