diff --git a/libraries/tools/kotlin-main-kts-test/test/org/jetbrains/kotlin/mainKts/test/mainKtsIT.kt b/libraries/tools/kotlin-main-kts-test/test/org/jetbrains/kotlin/mainKts/test/mainKtsIT.kt index c7fb7f94d09..b99228bec70 100644 --- a/libraries/tools/kotlin-main-kts-test/test/org/jetbrains/kotlin/mainKts/test/mainKtsIT.kt +++ b/libraries/tools/kotlin-main-kts-test/test/org/jetbrains/kotlin/mainKts/test/mainKtsIT.kt @@ -158,6 +158,12 @@ class MainKtsIT { Assert.assertTrue("Expect file '$scriptPath' to start with UTF-8 BOM", File(scriptPath).readText().startsWith(UTF8_BOM)) runWithKotlincAndMainKts(scriptPath, listOf("Hello world")) } + + @Test + fun testUseSlf4j() { + val scriptPath = "$TEST_DATA_ROOT/use-slf4j.main.kts" + runWithKotlincAndMainKts(scriptPath, expectedErrPatterns = listOf(".*test-slf4j")) + } } fun runWithKotlincAndMainKts( diff --git a/libraries/tools/kotlin-main-kts-test/test/org/jetbrains/kotlin/mainKts/test/mainKtsTest.kt b/libraries/tools/kotlin-main-kts-test/test/org/jetbrains/kotlin/mainKts/test/mainKtsTest.kt index 29581979c15..b5904545a2b 100644 --- a/libraries/tools/kotlin-main-kts-test/test/org/jetbrains/kotlin/mainKts/test/mainKtsTest.kt +++ b/libraries/tools/kotlin-main-kts-test/test/org/jetbrains/kotlin/mainKts/test/mainKtsTest.kt @@ -274,6 +274,18 @@ class MainKtsTest { assertSucceeded(res) } + @Test + fun testUseSlf4j() { + val err = captureOutAndErr { + val res = evalFile(File("$TEST_DATA_ROOT/use-slf4j.main.kts")) + assertSucceeded(res) + }.second + Assert.assertTrue( + "Expect info log line with \"test-slf4j\" text, got:\n$err", + err.contains("INFO - test-slf4j") + ) + } + private fun assertSucceeded(res: ResultWithDiagnostics) { Assert.assertTrue( "test failed:\n ${res.reports.joinToString("\n ") { it.severity.name + ": " + it.message + if (it.exception == null) "" else ": ${it.exception}" }}", diff --git a/libraries/tools/kotlin-main-kts-test/testData/use-slf4j.main.kts b/libraries/tools/kotlin-main-kts-test/testData/use-slf4j.main.kts new file mode 100644 index 00000000000..924b3c3f1ce --- /dev/null +++ b/libraries/tools/kotlin-main-kts-test/testData/use-slf4j.main.kts @@ -0,0 +1,5 @@ +@file:DependsOn("org.slf4j:slf4j-api:1.7.36") +@file:DependsOn("org.slf4j:slf4j-simple:1.7.36") + +val logger = org.slf4j.LoggerFactory.getLogger("") +logger.info("test-{}", "slf4j" as Any) diff --git a/libraries/tools/kotlin-main-kts/main-kts.pro b/libraries/tools/kotlin-main-kts/main-kts.pro index 87489a94616..91a3a3feeee 100644 --- a/libraries/tools/kotlin-main-kts/main-kts.pro +++ b/libraries/tools/kotlin-main-kts/main-kts.pro @@ -34,6 +34,9 @@ -keep class org.apache.maven.wagon.providers.** { *; } -keep class org.jetbrains.kotlin.org.apache.maven.wagon.providers.** { *; } +-keep class org.slf4j.** { *; } +-keep class org.jetbrains.kotlin.org.slf4j.** { *; } + -keepclassmembers class * extends java.lang.Enum { ; **[] values();