From d238483054a6af30f4e21d02804897b666994f7d Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Mon, 31 Aug 2020 17:20:44 +0300 Subject: [PATCH] [Gradle, JS] Add test with library mixed with executable ^KT-41566 fixed --- .../gradle/KotlinJsLibraryGradlePluginIT.kt | 17 ++++++++++++++++- .../build.gradle.kts | 19 +++++++++++++++++++ .../settings.gradle.kts | 0 .../src/main/kotlin/Main.kt | 0 .../src/main/resources/main.js | 0 .../build.gradle.kts | 0 .../simple-js-library/settings.gradle.kts | 8 ++++++++ .../simple-js-library/src/main/kotlin/Main.kt | 10 ++++++++++ .../src/main/resources/main.js | 1 + 9 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library-with-executable/build.gradle.kts rename libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/{js-library => js-library-with-executable}/settings.gradle.kts (100%) rename libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/{js-library => js-library-with-executable}/src/main/kotlin/Main.kt (100%) rename libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/{js-library => js-library-with-executable}/src/main/resources/main.js (100%) rename libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/{js-library => simple-js-library}/build.gradle.kts (100%) create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/simple-js-library/settings.gradle.kts create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/simple-js-library/src/main/kotlin/Main.kt create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/simple-js-library/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 0fc2c8c7bca..dc0fa270776 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 @@ -18,7 +18,22 @@ class KotlinJsIrLibraryGradlePluginIT : BaseGradleIT() { @Test fun testSimpleJsBinaryLibrary() { - val project = Project("js-library") + val project = Project("simple-js-library") + + 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") + } + } + + @Test + fun testJsBinaryLibraryAndExecutable() { + val project = Project("js-library-with-executable") project.setupWorkingDir() project.gradleBuildScript().modify(::transformBuildScriptWithPluginsDsl) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library-with-executable/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library-with-executable/build.gradle.kts new file mode 100644 index 00000000000..1e0d6874a78 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library-with-executable/build.gradle.kts @@ -0,0 +1,19 @@ +plugins { + kotlin("js") version "" +} + +group = "com.example" +version = "1.0" + +repositories { + mavenLocal() + jcenter() +} + +kotlin { + js { + binaries.library() + binaries.executable() + nodejs() + } +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library/settings.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library-with-executable/settings.gradle.kts similarity index 100% rename from libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library/settings.gradle.kts rename to libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library-with-executable/settings.gradle.kts diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library/src/main/kotlin/Main.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library-with-executable/src/main/kotlin/Main.kt similarity index 100% rename from libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library/src/main/kotlin/Main.kt rename to libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library-with-executable/src/main/kotlin/Main.kt diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library/src/main/resources/main.js b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library-with-executable/src/main/resources/main.js similarity index 100% rename from libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library/src/main/resources/main.js rename to libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library-with-executable/src/main/resources/main.js diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/simple-js-library/build.gradle.kts similarity index 100% rename from libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library/build.gradle.kts rename to libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/simple-js-library/build.gradle.kts diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/simple-js-library/settings.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/simple-js-library/settings.gradle.kts new file mode 100644 index 00000000000..0141db69d07 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/simple-js-library/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/simple-js-library/src/main/kotlin/Main.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/simple-js-library/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/simple-js-library/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/simple-js-library/src/main/resources/main.js b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/simple-js-library/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/simple-js-library/src/main/resources/main.js @@ -0,0 +1 @@ +console.log("hello") \ No newline at end of file