[K/N] Show warning when compiling for a deprecated target
This commit is contained in:
committed by
Space Team
parent
955479752e
commit
8e37a07af2
+19
@@ -9,13 +9,27 @@ import com.intellij.openapi.project.Project
|
||||
import org.jetbrains.kotlin.backend.common.serialization.codedInputStream
|
||||
import org.jetbrains.kotlin.backend.common.serialization.proto.IrFile
|
||||
import org.jetbrains.kotlin.backend.konan.driver.DynamicCompilerDriver
|
||||
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||
import org.jetbrains.kotlin.konan.file.File
|
||||
import org.jetbrains.kotlin.konan.library.impl.createKonanLibrary
|
||||
import org.jetbrains.kotlin.konan.target.CompilerOutputKind
|
||||
import org.jetbrains.kotlin.konan.target.KonanTarget
|
||||
import org.jetbrains.kotlin.library.uniqueName
|
||||
import org.jetbrains.kotlin.protobuf.ExtensionRegistryLite
|
||||
|
||||
// Extracted from KonanTarget class to avoid problems with kotlin-native-shared.
|
||||
private val deprecatedTargets = setOf(
|
||||
KonanTarget.WATCHOS_X86,
|
||||
KonanTarget.IOS_ARM32,
|
||||
KonanTarget.LINUX_ARM32_HFP,
|
||||
KonanTarget.MINGW_X86,
|
||||
KonanTarget.LINUX_MIPS32,
|
||||
KonanTarget.LINUX_MIPSEL32,
|
||||
KonanTarget.WASM32
|
||||
)
|
||||
|
||||
class KonanDriver(
|
||||
val project: Project,
|
||||
val environment: KotlinCoreEnvironment,
|
||||
@@ -45,6 +59,11 @@ class KonanDriver(
|
||||
}
|
||||
if (konanConfig.infoArgsOnly) return
|
||||
|
||||
// Avoid showing warning twice in 2-phase compilation.
|
||||
if (konanConfig.produce != CompilerOutputKind.LIBRARY && konanConfig.target in deprecatedTargets) {
|
||||
configuration.report(CompilerMessageSeverity.STRONG_WARNING, "target ${konanConfig.target} is deprecated and will be removed soon.")
|
||||
}
|
||||
|
||||
ensureModuleName(konanConfig)
|
||||
|
||||
val cacheBuilder = CacheBuilder(konanConfig, spawnCompilation)
|
||||
|
||||
Reference in New Issue
Block a user