From 2568804eaa2c8f6b10b735777218c81af62919c1 Mon Sep 17 00:00:00 2001 From: Ilya Chernikov Date: Thu, 10 Oct 2019 17:50:47 +0200 Subject: [PATCH] Instruct platform code to use NIO2 always since we're not always use jna (means that we can get warnings about missing jna libs) and according to the IDEA team, NIO2 works well enough to rely on it --- .../jetbrains/kotlin/cli/common/environment/util.kt | 10 ++++------ .../scripting/compiler/plugin/ScriptProviderTest.kt | 5 +++++ .../compiler/plugin/ScriptingCompilerPluginTest.kt | 5 +++++ .../compiler/plugin/ScriptingWithCliCompilerTest.kt | 5 +++++ 4 files changed, 19 insertions(+), 6 deletions(-) diff --git a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/environment/util.kt b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/environment/util.kt index b1516bb89e2..834cc8b9963 100644 --- a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/environment/util.kt +++ b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/environment/util.kt @@ -19,13 +19,11 @@ package org.jetbrains.kotlin.cli.common.environment import com.intellij.openapi.util.SystemInfo fun setIdeaIoUseFallback() { - if (SystemInfo.isWindows) { - val properties = System.getProperties() + val properties = System.getProperties() - properties.setProperty("idea.io.use.nio2", java.lang.Boolean.TRUE.toString()) + properties.setProperty("idea.io.use.nio2", java.lang.Boolean.TRUE.toString()) - if (!(SystemInfo.isJavaVersionAtLeast(1, 7, 0) && "1.7.0-ea" != SystemInfo.JAVA_VERSION)) { - properties.setProperty("idea.io.use.fallback", java.lang.Boolean.TRUE.toString()) - } + if (!(SystemInfo.isJavaVersionAtLeast(1, 7, 0) && "1.7.0-ea" != SystemInfo.JAVA_VERSION)) { + properties.setProperty("idea.io.use.fallback", java.lang.Boolean.TRUE.toString()) } } diff --git a/plugins/scripting/scripting-compiler/tests/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptProviderTest.kt b/plugins/scripting/scripting-compiler/tests/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptProviderTest.kt index af8e589cea4..e9e9ea2bc75 100644 --- a/plugins/scripting/scripting-compiler/tests/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptProviderTest.kt +++ b/plugins/scripting/scripting-compiler/tests/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptProviderTest.kt @@ -5,6 +5,7 @@ package org.jetbrains.kotlin.scripting.compiler.plugin +import org.jetbrains.kotlin.cli.common.environment.setIdeaIoUseFallback import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.CliScriptDefinitionProvider import org.jetbrains.kotlin.scripting.definitions.KotlinScriptDefinition import org.jetbrains.kotlin.scripting.definitions.ScriptDefinition @@ -19,6 +20,10 @@ import kotlin.script.templates.standard.ScriptTemplateWithArgs class ScriptProviderTest { + init { + setIdeaIoUseFallback() + } + @Test fun testLazyScriptDefinitionsProvider() { diff --git a/plugins/scripting/scripting-compiler/tests/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCompilerPluginTest.kt b/plugins/scripting/scripting-compiler/tests/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCompilerPluginTest.kt index 340fd877e1b..5f5a4f6cfa1 100644 --- a/plugins/scripting/scripting-compiler/tests/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCompilerPluginTest.kt +++ b/plugins/scripting/scripting-compiler/tests/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCompilerPluginTest.kt @@ -10,6 +10,7 @@ import junit.framework.TestCase import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys import org.jetbrains.kotlin.cli.common.ExitCode import org.jetbrains.kotlin.cli.common.config.addKotlinSourceRoots +import org.jetbrains.kotlin.cli.common.environment.setIdeaIoUseFallback import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.cli.common.messages.MessageCollector @@ -43,6 +44,10 @@ class ScriptingCompilerPluginTest : TestCase() { const val TEST_DATA_DIR = "plugins/scripting/scripting-compiler/testData" } + init { + setIdeaIoUseFallback() + } + private val kotlinPaths: KotlinPaths by lazy(LazyThreadSafetyMode.PUBLICATION) { val paths = PathUtil.kotlinPathsForDistDirectory TestCase.assertTrue("Lib directory doesn't exist. Run 'ant dist'", paths.libPath.absoluteFile.isDirectory) diff --git a/plugins/scripting/scripting-compiler/tests/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingWithCliCompilerTest.kt b/plugins/scripting/scripting-compiler/tests/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingWithCliCompilerTest.kt index 61f84a3b36f..474986c4674 100644 --- a/plugins/scripting/scripting-compiler/tests/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingWithCliCompilerTest.kt +++ b/plugins/scripting/scripting-compiler/tests/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingWithCliCompilerTest.kt @@ -6,6 +6,7 @@ package org.jetbrains.kotlin.scripting.compiler.plugin import junit.framework.Assert +import org.jetbrains.kotlin.cli.common.environment.setIdeaIoUseFallback import org.junit.Test import java.io.File @@ -15,6 +16,10 @@ class ScriptingWithCliCompilerTest { const val TEST_DATA_DIR = "plugins/scripting/scripting-compiler/testData" } + init { + setIdeaIoUseFallback() + } + @Test fun testResultValue() { runWithK2JVMCompiler("$TEST_DATA_DIR/integration/intResult.kts", listOf("10"))