From 076045ce54e0ddfac617115b1b89e8e5a9d32e6d Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Mon, 31 Aug 2020 18:05:01 +0300 Subject: [PATCH] [Gradle, JS] Add test with library mixed with executable and browser/nodejs ^KT-41566 fixed --- .../gradle/KotlinJsLibraryGradlePluginIT.kt | 17 ++++++++++++++++ .../build.gradle.kts | 20 +++++++++++++++++++ .../settings.gradle.kts | 8 ++++++++ .../src/main/kotlin/Main.kt | 10 ++++++++++ .../src/main/resources/main.js | 1 + 5 files changed, 56 insertions(+) create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library-with-executable-browser-nodejs/build.gradle.kts create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library-with-executable-browser-nodejs/settings.gradle.kts create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library-with-executable-browser-nodejs/src/main/kotlin/Main.kt create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library-with-executable-browser-nodejs/src/main/resources/main.js diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinJsLibraryGradlePluginIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinJsLibraryGradlePluginIT.kt index dc0fa270776..1c79a8937ea 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinJsLibraryGradlePluginIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinJsLibraryGradlePluginIT.kt @@ -45,4 +45,21 @@ class KotlinJsIrLibraryGradlePluginIT : BaseGradleIT() { assertFileExists("build/productionLibrary/main.js") } } + + @Test + fun testJsBinaryLibraryAndExecutableForBrowserAndNodejs() { + val project = Project("js-library-with-executable-browser-nodejs") + + project.setupWorkingDir() + project.gradleBuildScript().modify(::transformBuildScriptWithPluginsDsl) + project.build("build") { + assertSuccessful() + + assertFileExists("build/productionLibrary/js-library.js") + assertFileExists("build/productionLibrary/package.json") + assertFileExists("build/productionLibrary/main.js") + + assertFileExists("build/distributions/js-library.js") + } + } } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library-with-executable-browser-nodejs/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library-with-executable-browser-nodejs/build.gradle.kts new file mode 100644 index 00000000000..2cbc540491d --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library-with-executable-browser-nodejs/build.gradle.kts @@ -0,0 +1,20 @@ +plugins { + kotlin("js") version "" +} + +group = "com.example" +version = "1.0" + +repositories { + mavenLocal() + jcenter() +} + +kotlin { + js { + binaries.library() + binaries.executable() + nodejs() + browser() + } +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library-with-executable-browser-nodejs/settings.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library-with-executable-browser-nodejs/settings.gradle.kts new file mode 100644 index 00000000000..0141db69d07 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library-with-executable-browser-nodejs/settings.gradle.kts @@ -0,0 +1,8 @@ +pluginManagement { + repositories { + mavenLocal() + gradlePluginPortal() + } +} + +rootProject.name = "js-library" \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library-with-executable-browser-nodejs/src/main/kotlin/Main.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library-with-executable-browser-nodejs/src/main/kotlin/Main.kt new file mode 100644 index 00000000000..c57768be63f --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library-with-executable-browser-nodejs/src/main/kotlin/Main.kt @@ -0,0 +1,10 @@ +/* + * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package com.example + +fun main() { + println("Hello, Yarn") +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library-with-executable-browser-nodejs/src/main/resources/main.js b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library-with-executable-browser-nodejs/src/main/resources/main.js new file mode 100644 index 00000000000..5be36ccb7d9 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library-with-executable-browser-nodejs/src/main/resources/main.js @@ -0,0 +1 @@ +console.log("hello") \ No newline at end of file