[K/N] Remove old Compiler and Meta Version ^KT-55677 Fixed

* Replace it with KotlinCompilerVersion
* K/N version should be set now with `deployVersion`.
* Cleanup deprecated functions in older versions
 of the Gradle plugin
* Cleanup tests for older versions of compiler downloader

Merge-request: KT-MR-8436
Merged-by: Pavel Punegov <Pavel.Punegov@jetbrains.com>
This commit is contained in:
Pavel Punegov
2023-01-30 13:10:08 +00:00
committed by Space Team
parent 5ec626b29d
commit c9aeadd31f
33 changed files with 79 additions and 727 deletions
+1 -4
View File
@@ -21,11 +21,8 @@ sourceSets {
compiler {
kotlin {
srcDir 'compiler/ir/backend.native/src/'
srcDir(VersionGeneratorKt.kotlinNativeVersionSrc(project))
}
resources.srcDir 'compiler/ir/backend.native/resources/'
/* PATH to META-INF */
resources.srcDir VersionGeneratorKt.kotlinNativeVersionResourceFile(project).parentFile.parent
}
cli_bc {
kotlin.srcDir 'cli.bc/src'
@@ -235,7 +232,7 @@ publishing {
maven(MavenPublication) {
groupId = 'org.jetbrains.kotlin'
artifactId = 'backend.native'
version = konanVersionFull
version = kotlinVersion
from components.java
}
@@ -6,7 +6,6 @@
package org.jetbrains.kotlin.cli.bc
import com.intellij.openapi.Disposable
import com.intellij.openapi.util.io.FileUtil
import org.jetbrains.annotations.NotNull
import org.jetbrains.annotations.Nullable
import org.jetbrains.kotlin.analyzer.CompilationErrorException
@@ -22,9 +21,8 @@ import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
import org.jetbrains.kotlin.cli.jvm.plugins.PluginCliParser
import org.jetbrains.kotlin.config.CommonConfigurationKeys
import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.config.KotlinCompilerVersion
import org.jetbrains.kotlin.config.Services
import org.jetbrains.kotlin.konan.CURRENT
import org.jetbrains.kotlin.konan.CompilerVersion
import org.jetbrains.kotlin.library.metadata.KlibMetadataVersion
import org.jetbrains.kotlin.metadata.deserialization.BinaryVersion
import org.jetbrains.kotlin.psi.KtFile
@@ -49,7 +47,7 @@ class K2Native : CLICompiler<K2NativeCompilerArguments>() {
@Nullable paths: KotlinPaths?): ExitCode {
if (arguments.version) {
println("Kotlin/Native: ${CompilerVersion.CURRENT}")
println("Kotlin/Native: ${KotlinCompilerVersion.getVersion() ?: "SNAPSHOT"}")
return ExitCode.OK
}
@@ -76,7 +74,7 @@ class K2Native : CLICompiler<K2NativeCompilerArguments>() {
|Compilation failed: ${e.message}
| * Source files: ${environment.getSourceFiles().joinToString(transform = KtFile::getName)}
| * Compiler version info: Konan: ${CompilerVersion.CURRENT} / Kotlin: ${KotlinVersion.CURRENT}
| * Compiler version: ${KotlinCompilerVersion.getVersion()}
| * Output kind: ${configuration.get(KonanConfigKeys.PRODUCE)}
""".trimMargin())
@@ -14,9 +14,7 @@ import org.jetbrains.kotlin.cli.common.config.kotlinSourceRoots
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity
import org.jetbrains.kotlin.config.CommonConfigurationKeys
import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.konan.CURRENT
import org.jetbrains.kotlin.konan.CompilerVersion
import org.jetbrains.kotlin.konan.MetaVersion
import org.jetbrains.kotlin.config.KotlinCompilerVersion
import org.jetbrains.kotlin.konan.file.File
import org.jetbrains.kotlin.konan.library.KonanLibrary
import org.jetbrains.kotlin.konan.properties.loadProperties
@@ -171,8 +169,8 @@ class KonanConfig(val project: Project, val configuration: CompilerConfiguration
get() = configuration.get(KonanConfigKeys.VERIFY_IR) == true
val needCompilerVerification: Boolean
get() = configuration.get(KonanConfigKeys.VERIFY_COMPILER) ?:
(optimizationsEnabled || CompilerVersion.CURRENT.meta != MetaVersion.RELEASE)
get() = configuration.get(KonanConfigKeys.VERIFY_COMPILER)
?: (optimizationsEnabled || !KotlinCompilerVersion.VERSION.isRelease())
val appStateTracking: AppStateTracking by lazy {
configuration.get(BinaryOptions.appStateTracking) ?: AppStateTracking.DISABLED
@@ -508,3 +506,12 @@ class KonanConfig(val project: Project, val configuration: CompilerConfiguration
fun CompilerConfiguration.report(priority: CompilerMessageSeverity, message: String)
= this.getNotNull(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY).report(priority, message)
private fun String.isRelease(): Boolean {
// major.minor.patch-meta-build where patch, meta and build are optional.
val versionPattern = "(\\d+)\\.(\\d+)(?:\\.(\\d+))?(?:-(\\p{Alpha}*\\p{Alnum}|[\\p{Alpha}-]*))?(?:-(\\d+))?".toRegex()
val (_, _, _, metaString, build) = versionPattern.matchEntire(this)?.destructured
?: throw IllegalStateException("Cannot parse Kotlin/Native version: $this")
return metaString.isEmpty() && build.isEmpty()
}
@@ -10,8 +10,7 @@ import org.jetbrains.kotlin.backend.konan.KonanConfigKeys
import org.jetbrains.kotlin.backend.konan.OutputFiles
import org.jetbrains.kotlin.backend.konan.driver.PhaseContext
import org.jetbrains.kotlin.backend.konan.driver.PhaseEngine
import org.jetbrains.kotlin.konan.CURRENT
import org.jetbrains.kotlin.konan.CompilerVersion
import org.jetbrains.kotlin.config.KotlinCompilerVersion
import org.jetbrains.kotlin.konan.library.impl.buildLibrary
import org.jetbrains.kotlin.library.KotlinAbiVersion
import org.jetbrains.kotlin.library.KotlinLibraryVersioning
@@ -28,7 +27,7 @@ internal val WriteKlibPhase = createSimpleNamedCompilerPhase<PhaseContext, Seria
val libraryName = config.moduleId
val shortLibraryName = config.shortModuleName
val abiVersion = KotlinAbiVersion.CURRENT
val compilerVersion = CompilerVersion.CURRENT.toString()
val compilerVersion = KotlinCompilerVersion.getVersion().toString()
val libraryVersion = configuration.get(KonanConfigKeys.LIBRARY_VERSION)
val metadataVersion = KlibMetadataVersion.INSTANCE.toString()
val irVersion = KlibIrVersion.INSTANCE.toString()
@@ -19,12 +19,10 @@ import org.jetbrains.kotlin.ir.util.SYNTHETIC_OFFSET
import org.jetbrains.kotlin.ir.util.isTypeParameter
import org.jetbrains.kotlin.ir.util.isUnsigned
import org.jetbrains.kotlin.ir.util.render
import org.jetbrains.kotlin.konan.CURRENT
import org.jetbrains.kotlin.konan.CompilerVersion
import org.jetbrains.kotlin.konan.file.File
internal object DWARF {
val producer = "konanc ${CompilerVersion.CURRENT} / kotlin-compiler: ${KotlinVersion.CURRENT}"
val producer = "kotlin-compiler: ${KotlinVersion.CURRENT}"
const val debugInfoVersion = 3 /* TODO: configurable? */
/**