From 304bf926a7e9c30bc0bc7db747ad38e673478b91 Mon Sep 17 00:00:00 2001 From: Svyatoslav Scherbina Date: Wed, 22 Jun 2022 09:27:32 +0200 Subject: [PATCH] Revert "[Gradle] Propagate offline mode to Native compiler" This reverts commit 15a52f33 --- .../kotlin/gradle/native/GeneralNativeIT.kt | 92 +------------------ .../kotlin/compilerRunner/KotlinToolRunner.kt | 6 +- .../compilerRunner/nativeToolRunners.kt | 7 -- 3 files changed, 6 insertions(+), 99 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/GeneralNativeIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/GeneralNativeIT.kt index 756c765362477..0cc45064a3498 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/GeneralNativeIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/GeneralNativeIT.kt @@ -21,8 +21,11 @@ import org.jetbrains.kotlin.konan.target.CompilerOutputKind import org.jetbrains.kotlin.konan.target.HostManager import org.jetbrains.kotlin.konan.target.KonanTarget import org.jetbrains.kotlin.konan.target.presetName -import org.junit.* -import org.junit.rules.TemporaryFolder +import org.junit.Assume +import org.junit.Ignore +import org.junit.Rule +import org.junit.Test +import org.junit.rules.ErrorCollector import java.io.File import java.nio.file.Files import java.util.* @@ -1093,81 +1096,6 @@ class GeneralNativeIT : BaseGradleIT() { } } - @Test - fun `check offline mode is propagated to the compiler`() = with( - transformNativeTestProjectWithPluginDsl( - "executables", - directoryPrefix = "native-binaries" - ) - ) { - val buildOptions = defaultBuildOptions() - - val linkTask = ":linkDebugExecutableHost" - val compileTask = ":compileKotlinHost" - - build(linkTask, options = buildOptions) { - assertSuccessful() - } - - // Check that --offline works when all the dependencies are already downloaded: - val buildOptionsOffline = buildOptions.copy(freeCommandLineArgs = buildOptions.freeCommandLineArgs + "--offline") - - build("clean", linkTask, options = buildOptionsOffline) { - assertSuccessful() - withNativeCommandLineArguments(compileTask, linkTask) { - assertTrue(it.contains("-Xoverride-konan-properties=airplaneMode=true")) - } - } - - // Check that --offline fails when there are no downloaded dependencies: - val customKonanDataDir = tempDir.newFolder("konanOffline") - val buildOptionsOfflineWithCustomKonanDataDir = buildOptionsOffline.copy( - customEnvironmentVariables = buildOptionsOffline.customEnvironmentVariables + - ("KONAN_DATA_DIR" to customKonanDataDir.absolutePath) - ) - - build("clean", linkTask, options = buildOptionsOfflineWithCustomKonanDataDir) { - assertFailed() - assertTasksNotExecuted(listOf(linkTask)) - } - - checkNoDependenciesDownloaded(customKonanDataDir) - - // Check that the compiler is not extracted if it is not cached: - assertTrue(customKonanDataDir.deleteRecursively()) - build( - "clean", linkTask, "-Pkotlin.native.version=1.6.20-M1-9999", - options = buildOptionsOfflineWithCustomKonanDataDir - ) { - assertFailed() - assertTasksNotExecuted(listOf(linkTask, compileTask)) - } - - assertFalse(customKonanDataDir.exists()) - } - - private fun checkNoDependenciesDownloaded(customKonanDataDir: File) { - // Check that no files have actually been downloaded or extracted, - // except for maybe the compiler itself, which can be extracted from the Gradle cache - // (see NativeCompilerDownloader, it uses regular dependency resolution, - // so supports --offline properly by default). - val cacheDirName = "cache" - val dependenciesDirName = "dependencies" - - fun assertDirectoryHasNothingButMaybe(directory: File, vararg names: String) { - assertEquals(emptyList(), directory.listFiles().orEmpty().map { it.name } - names) - } - - assertDirectoryHasNothingButMaybe(File(customKonanDataDir, cacheDirName), ".lock") - assertDirectoryHasNothingButMaybe(File(customKonanDataDir, dependenciesDirName), ".extracted") - - val customKonanDataDirFiles = customKonanDataDir.listFiles().orEmpty().map { it.name } - setOf(cacheDirName, dependenciesDirName) - if (customKonanDataDirFiles.isNotEmpty()) { - assertEquals(1, customKonanDataDirFiles.size, message = customKonanDataDirFiles.toString()) - assertTrue(customKonanDataDirFiles.single().startsWith("kotlin-native-"), message = customKonanDataDirFiles.single()) - } - } - @Test fun allowToOverrideDownloadUrl() { with(transformNativeTestProjectWithPluginDsl("native-parallel")) { @@ -1263,15 +1191,5 @@ class GeneralNativeIT : BaseGradleIT() { toolName: String = "konanc", check: (Map) -> Unit ) = taskPaths.forEach { taskPath -> check(extractNativeCustomEnvironment(taskPath, toolName)) } - - @field:ClassRule - @JvmField - val tempDir = TemporaryFolder() - - @JvmStatic - @AfterClass - fun deleteTempDir() { - tempDir.delete() - } } } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/KotlinToolRunner.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/KotlinToolRunner.kt index c2dde3adb6f17..49074724d8435 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/KotlinToolRunner.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/KotlinToolRunner.kt @@ -54,9 +54,6 @@ abstract class KotlinToolRunner( abstract val mustRunViaExec: Boolean open fun transformArgs(args: List): List = args - internal open val defaultArguments: List - get() = emptyList() - // for the purpose if there is a way to specify JVM args, for instance, straight in project configs open fun getCustomJvmArgs(): List = emptyList() @@ -80,9 +77,8 @@ abstract class KotlinToolRunner( fun run(args: List) { checkClasspath() - val argsWithDefault = args + defaultArguments - if (mustRunViaExec) runViaExec(argsWithDefault) else runInProcess(argsWithDefault) + if (mustRunViaExec) runViaExec(args) else runInProcess(args) } private fun runViaExec(args: List) { diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/nativeToolRunners.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/nativeToolRunners.kt index 87ef98d9a8702..d1b70a33ad408 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/nativeToolRunners.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/nativeToolRunners.kt @@ -175,13 +175,6 @@ internal class KotlinNativeCompilerRunner(project: Project) : KotlinNativeToolRu return listOf(toolName, "@${argFile.absolutePath}") } - - override val defaultArguments: List - get() = mutableListOf().apply { - if (project.gradle.startParameter.isOffline) { - add("-Xoverride-konan-properties=airplaneMode=true") - } - } } /** Platform libraries generation tool. Runs the cinterop tool under the hood. */