[Compiler] Mark all entrypoints to compiler API as experimental

This commit is contained in:
Dmitriy Novozhilov
2022-06-27 10:05:23 +03:00
committed by teamcity
parent 169e80e8c9
commit 1a8496757e
46 changed files with 120 additions and 2 deletions
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.analysis.api.fir.utils
import com.intellij.openapi.project.Project import com.intellij.openapi.project.Project
import org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar import org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar
import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi
import org.jetbrains.kotlin.config.AnalysisFlag import org.jetbrains.kotlin.config.AnalysisFlag
import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.config.LanguageVersion import org.jetbrains.kotlin.config.LanguageVersion
@@ -65,6 +66,7 @@ private class EnabledByDirectiveConfiguratorDecorator(
original.legacyRegisterCompilerExtensions(project, module, configuration) original.legacyRegisterCompilerExtensions(project, module, configuration)
} }
@OptIn(ExperimentalCompilerApi::class)
override fun CompilerPluginRegistrar.ExtensionStorage.registerCompilerExtensions( override fun CompilerPluginRegistrar.ExtensionStorage.registerCompilerExtensions(
module: TestModule, module: TestModule,
configuration: CompilerConfiguration configuration: CompilerConfiguration
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.test.base
import com.intellij.openapi.project.Project import com.intellij.openapi.project.Project
import org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar import org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar
import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi
import org.jetbrains.kotlin.config.AnalysisFlag import org.jetbrains.kotlin.config.AnalysisFlag
import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.config.LanguageVersion import org.jetbrains.kotlin.config.LanguageVersion
@@ -65,6 +66,7 @@ private class EnabledByDirectiveConfiguratorDecorator(
original.legacyRegisterCompilerExtensions(project, module, configuration) original.legacyRegisterCompilerExtensions(project, module, configuration)
} }
@OptIn(ExperimentalCompilerApi::class)
override fun CompilerPluginRegistrar.ExtensionStorage.registerCompilerExtensions( override fun CompilerPluginRegistrar.ExtensionStorage.registerCompilerExtensions(
module: TestModule, module: TestModule,
configuration: CompilerConfiguration configuration: CompilerConfiguration
+8
View File
@@ -330,3 +330,11 @@ fun Project.confugureFirPluginAnnotationsDependency(testTask: TaskProvider<Test>
} }
} }
} }
fun Project.optInToExperimentalCompilerApi() {
tasks.withType<org.jetbrains.kotlin.gradle.dsl.KotlinCompile<*>>().configureEach {
kotlinOptions {
freeCompilerArgs += "-opt-in=org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi"
}
}
}
+2
View File
@@ -44,6 +44,8 @@ dependencies {
antLauncherJar(toolsJar()) antLauncherJar(toolsJar())
} }
optInToExperimentalCompilerApi()
sourceSets { sourceSets {
"main" {} "main" {}
"test" { "test" {
+4
View File
@@ -53,6 +53,10 @@ sourceSets {
"test" { } "test" { }
} }
allprojects {
optInToExperimentalCompilerApi()
}
tasks.withType<org.jetbrains.kotlin.gradle.dsl.KotlinCompile<*>> { tasks.withType<org.jetbrains.kotlin.gradle.dsl.KotlinCompile<*>> {
kotlinOptions { kotlinOptions {
languageVersion = "1.4" languageVersion = "1.4"
+2
View File
@@ -21,6 +21,8 @@ sourceSets {
"test" {} "test" {}
} }
optInToExperimentalCompilerApi()
tasks.getByName<Jar>("jar") { tasks.getByName<Jar>("jar") {
//excludes unused bunch files //excludes unused bunch files
exclude("META-INF/extensions/*.xml.**") exclude("META-INF/extensions/*.xml.**")
+2
View File
@@ -24,6 +24,8 @@ dependencies {
} }
} }
optInToExperimentalCompilerApi()
sourceSets { sourceSets {
"main" { projectDefault() } "main" { projectDefault() }
"test" {} "test" {}
+2
View File
@@ -18,3 +18,5 @@ sourceSets {
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile>().configureEach { tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile>().configureEach {
kotlinOptions.freeCompilerArgs += "-Xjvm-default=all-compatibility" kotlinOptions.freeCompilerArgs += "-Xjvm-default=all-compatibility"
} }
optInToExperimentalCompilerApi()
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.compiler.plugin
import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.config.CompilerConfigurationKey import org.jetbrains.kotlin.config.CompilerConfigurationKey
@ExperimentalCompilerApi
interface CommandLineProcessor { interface CommandLineProcessor {
val pluginId: String val pluginId: String
val pluginOptions: Collection<AbstractCliOption> val pluginOptions: Collection<AbstractCliOption>
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.config.CompilerConfigurationKey import org.jetbrains.kotlin.config.CompilerConfigurationKey
import org.jetbrains.kotlin.extensions.ProjectExtensionDescriptor import org.jetbrains.kotlin.extensions.ProjectExtensionDescriptor
@ExperimentalCompilerApi
abstract class CompilerPluginRegistrar { abstract class CompilerPluginRegistrar {
companion object { companion object {
val COMPILER_PLUGIN_REGISTRARS: CompilerConfigurationKey<MutableList<CompilerPluginRegistrar>> = val COMPILER_PLUGIN_REGISTRARS: CompilerConfigurationKey<MutableList<CompilerPluginRegistrar>> =
@@ -25,6 +25,7 @@ import org.jetbrains.kotlin.config.CompilerConfigurationKey
replaceWith = ReplaceWith("CompilerPluginRegistrar", "org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar"), replaceWith = ReplaceWith("CompilerPluginRegistrar", "org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar"),
level = DeprecationLevel.WARNING level = DeprecationLevel.WARNING
) )
@ExperimentalCompilerApi
interface ComponentRegistrar { interface ComponentRegistrar {
companion object { companion object {
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
@@ -0,0 +1,9 @@
/*
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.compiler.plugin
@RequiresOptIn("This API is experimental. There are no stability guarantees for it")
annotation class ExperimentalCompilerApi
@@ -17,6 +17,8 @@ dependencies {
testRuntimeOnly(commonDependency("net.java.dev.jna:jna")) testRuntimeOnly(commonDependency("net.java.dev.jna:jna"))
} }
optInToExperimentalCompilerApi()
sourceSets { sourceSets {
"main" { none() } "main" { none() }
"test" { projectDefault() } "test" { projectDefault() }
@@ -40,6 +40,8 @@ dependencies {
testApi(toolsJar()) testApi(toolsJar())
} }
optInToExperimentalCompilerApi()
val generationRoot = projectDir.resolve("tests-gen") val generationRoot = projectDir.resolve("tests-gen")
sourceSets { sourceSets {
+2
View File
@@ -82,6 +82,8 @@ dependencies {
testApiJUnit5() testApiJUnit5()
} }
optInToExperimentalCompilerApi()
sourceSets { sourceSets {
"main" { } "main" { }
"test" { projectDefault() } "test" { projectDefault() }
+2
View File
@@ -81,6 +81,8 @@ dependencies {
val generationRoot = projectDir.resolve("tests-gen") val generationRoot = projectDir.resolve("tests-gen")
optInToExperimentalCompilerApi()
sourceSets { sourceSets {
"main" { } "main" { }
"test" { "test" {
@@ -38,6 +38,7 @@ dependencies {
GradleCommonKt.configureCommonPublicationSettingsForGradle(project) GradleCommonKt.configureCommonPublicationSettingsForGradle(project)
GradleCommonKt.configureKotlinCompileTasksGradleCompatibility(project) GradleCommonKt.configureKotlinCompileTasksGradleCompatibility(project)
GradleCommonKt.excludeGradleCommonDependencies(project, sourceSets.main) GradleCommonKt.excludeGradleCommonDependencies(project, sourceSets.main)
TasksKt.optInToExperimentalCompilerApi(project)
extensions.extraProperties["kotlin.stdlib.default.dependency"] = "false" extensions.extraProperties["kotlin.stdlib.default.dependency"] = "false"
@@ -21,6 +21,8 @@ dependencies {
testRuntimeOnly(commonDependency("org.jetbrains.intellij.deps:trove4j")) testRuntimeOnly(commonDependency("org.jetbrains.intellij.deps:trove4j"))
} }
optInToExperimentalCompilerApi()
sourceSets { sourceSets {
"main" {} "main" {}
"test" { projectDefault() } "test" { projectDefault() }
@@ -79,6 +79,9 @@
<annotationPaths> <annotationPaths>
<annotationPath>${basedir}/kotlinAnnotation</annotationPath> <annotationPath>${basedir}/kotlinAnnotation</annotationPath>
</annotationPaths> </annotationPaths>
<args>
<arg>-opt-in=org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi</arg>
</args>
</configuration> </configuration>
<executions> <executions>
@@ -10,4 +10,5 @@ dependencies {
compileKotlin { compileKotlin {
kotlinOptions.jvmTarget = "1.8" kotlinOptions.jvmTarget = "1.8"
kotlinOptions.freeCompilerArgs += "-opt-in=org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi"
} }
@@ -27,6 +27,7 @@ kotlin.sourceSets.all {
languageSettings.optIn("org.jetbrains.kotlin.gradle.plugin.mpp.pm20.AdvancedKotlinGradlePluginApi") languageSettings.optIn("org.jetbrains.kotlin.gradle.plugin.mpp.pm20.AdvancedKotlinGradlePluginApi")
languageSettings.optIn("org.jetbrains.kotlin.gradle.kpm.idea.InternalKotlinGradlePluginApi") languageSettings.optIn("org.jetbrains.kotlin.gradle.kpm.idea.InternalKotlinGradlePluginApi")
languageSettings.optIn("org.jetbrains.kotlin.gradle.plugin.ExperimentalKotlinGradlePluginApi") languageSettings.optIn("org.jetbrains.kotlin.gradle.plugin.ExperimentalKotlinGradlePluginApi")
languageSettings.optIn("org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi")
} }
dependencies { dependencies {
@@ -77,6 +77,11 @@
<goals> <goal>compile</goal> </goals> <goals> <goal>compile</goal> </goals>
</execution> </execution>
</executions> </executions>
<configuration>
<args>
<arg>-opt-in=org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi</arg>
</args>
</configuration>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.codehaus.plexus</groupId> <groupId>org.codehaus.plexus</groupId>
@@ -83,6 +83,11 @@
</goals> </goals>
</execution> </execution>
</executions> </executions>
<configuration>
<args>
<arg>-opt-in=org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi</arg>
</args>
</configuration>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.codehaus.plexus</groupId> <groupId>org.codehaus.plexus</groupId>
@@ -83,6 +83,9 @@
<configuration> <configuration>
<jvmTarget>1.8</jvmTarget> <jvmTarget>1.8</jvmTarget>
<args>
<arg>-opt-in=org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi</arg>
</args>
</configuration> </configuration>
</plugin> </plugin>
<plugin> <plugin>
@@ -54,6 +54,11 @@
</goals> </goals>
</execution> </execution>
</executions> </executions>
<configuration>
<args>
<arg>-opt-in=org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi</arg>
</args>
</configuration>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.codehaus.plexus</groupId> <groupId>org.codehaus.plexus</groupId>
@@ -80,6 +80,11 @@
<goals> <goal>compile</goal> </goals> <goals> <goal>compile</goal> </goals>
</execution> </execution>
</executions> </executions>
<configuration>
<args>
<arg>-opt-in=org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi</arg>
</args>
</configuration>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.codehaus.plexus</groupId> <groupId>org.codehaus.plexus</groupId>
@@ -77,6 +77,7 @@
<args> <args>
<arg>-Xjvm-default=enable</arg> <arg>-Xjvm-default=enable</arg>
<arg>-opt-in=org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI</arg> <arg>-opt-in=org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI</arg>
<arg>-opt-in=org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi</arg>
</args> </args>
</configuration> </configuration>
</plugin> </plugin>
@@ -30,6 +30,8 @@ dependencies {
testApi(intellijCore()) testApi(intellijCore())
} }
optInToExperimentalCompilerApi()
configurations.all { configurations.all {
resolutionStrategy { resolutionStrategy {
force(commonDependency("junit:junit")) force(commonDependency("junit:junit"))
@@ -24,6 +24,8 @@ dependencies {
runtimeOnly(kotlinStdlib()) runtimeOnly(kotlinStdlib())
} }
optInToExperimentalCompilerApi()
sourceSets { sourceSets {
"main" { projectDefault() } "main" { projectDefault() }
"test" { none() } "test" { none() }
+2
View File
@@ -33,6 +33,8 @@ dependencies {
testRuntimeOnly(project(":core:descriptors.runtime")) testRuntimeOnly(project(":core:descriptors.runtime"))
} }
optInToExperimentalCompilerApi()
sourceSets { sourceSets {
"main" { none() } "main" { none() }
"test" { "test" {
@@ -43,6 +43,8 @@ dependencies {
androidExtensionsRuntimeForTests(project(":kotlin-android-extensions-runtime")) { isTransitive = false } androidExtensionsRuntimeForTests(project(":kotlin-android-extensions-runtime")) { isTransitive = false }
} }
optInToExperimentalCompilerApi()
sourceSets { sourceSets {
"main" { projectDefault() } "main" { projectDefault() }
"test" { projectDefault() } "test" { projectDefault() }
@@ -92,11 +92,15 @@ dependencies {
testRuntimeOnly("org.junit.vintage:junit-vintage-engine:5.6.2") testRuntimeOnly("org.junit.vintage:junit-vintage-engine:5.6.2")
} }
optInToExperimentalCompilerApi()
sourceSets { sourceSets {
"main" { projectDefault() } "main" { projectDefault() }
"test" { projectDefault() } "test" { projectDefault() }
} }
optInToExperimentalCompilerApi()
runtimeJar() runtimeJar()
sourcesJar() sourcesJar()
javadocJar() javadocJar()
@@ -39,6 +39,8 @@ dependencies {
testRuntimeOnly(toolsJar()) testRuntimeOnly(toolsJar())
} }
optInToExperimentalCompilerApi()
val generationRoot = projectDir.resolve("tests-gen") val generationRoot = projectDir.resolve("tests-gen")
sourceSets { sourceSets {
+2
View File
@@ -30,4 +30,6 @@ projectTest {
dependsOn(":dist") dependsOn(":dist")
} }
optInToExperimentalCompilerApi()
runtimeJar() runtimeJar()
+2
View File
@@ -46,6 +46,8 @@ dependencies {
testImplementation(projectTests(":compiler:incremental-compilation-impl")) testImplementation(projectTests(":compiler:incremental-compilation-impl"))
} }
optInToExperimentalCompilerApi()
publish() publish()
noDefaultJar() noDefaultJar()
@@ -39,6 +39,8 @@ dependencies {
embedded(project(":kotlin-annotation-processing-base")) { isTransitive = false } embedded(project(":kotlin-annotation-processing-base")) { isTransitive = false }
} }
optInToExperimentalCompilerApi()
sourceSets { sourceSets {
"main" { projectDefault() } "main" { projectDefault() }
"test" { projectDefault() } "test" { projectDefault() }
@@ -47,6 +47,8 @@ tasks.withType<org.jetbrains.kotlin.gradle.dsl.KotlinCompile<*>> {
} }
} }
optInToExperimentalCompilerApi()
runtimeJar() runtimeJar()
sourcesJar() sourcesJar()
javadocJar() javadocJar()
+2
View File
@@ -44,6 +44,8 @@ dependencies {
testRuntimeOnly(toolsJar()) testRuntimeOnly(toolsJar())
} }
optInToExperimentalCompilerApi()
sourceSets { sourceSets {
"main" { none() } "main" { none() }
"test" { "test" {
@@ -20,6 +20,8 @@ dependencies {
compileOnly(intellijCore()) compileOnly(intellijCore())
} }
optInToExperimentalCompilerApi()
sourceSets { sourceSets {
"main" { projectDefault() } "main" { projectDefault() }
"test" { none() } "test" { none() }
+4
View File
@@ -29,6 +29,8 @@ dependencies {
testApi(intellijCore()) testApi(intellijCore())
} }
optInToExperimentalCompilerApi()
sourceSets { sourceSets {
"main" { none() } "main" { none() }
"test" { "test" {
@@ -37,6 +39,8 @@ sourceSets {
} }
} }
optInToExperimentalCompilerApi()
runtimeJar() runtimeJar()
sourcesJar() sourcesJar()
javadocJar() javadocJar()
+2
View File
@@ -18,6 +18,8 @@ dependencies {
compileOnly(intellijCore()) compileOnly(intellijCore())
} }
optInToExperimentalCompilerApi()
sourceSets { sourceSets {
"main" { projectDefault() } "main" { projectDefault() }
"test" { none() } "test" { none() }
@@ -61,6 +61,8 @@ dependencies {
layoutLibApi("com.android.tools.layoutlib:layoutlib-api:26.5.0") { isTransitive = false } layoutLibApi("com.android.tools.layoutlib:layoutlib-api:26.5.0") { isTransitive = false }
} }
optInToExperimentalCompilerApi()
sourceSets { sourceSets {
"main" { none() } "main" { none() }
"test" { "test" {
@@ -23,6 +23,8 @@ sourceSets {
"test" { none() } "test" { none() }
} }
optInToExperimentalCompilerApi()
runtimeJar() runtimeJar()
javadocJar() javadocJar()
sourcesJar() sourcesJar()
@@ -35,6 +35,8 @@ dependencies {
testApi(intellijCore()) testApi(intellijCore())
} }
optInToExperimentalCompilerApi()
sourceSets { sourceSets {
"main" { none() } "main" { none() }
"test" { "test" {
@@ -15,6 +15,8 @@ dependencies {
compileOnly(intellijCore()) compileOnly(intellijCore())
} }
optInToExperimentalCompilerApi()
sourceSets { sourceSets {
"main" { projectDefault() } "main" { projectDefault() }
"test" { none() } "test" { none() }
@@ -36,6 +36,8 @@ dependencies {
testImplementation(project(":kotlin-reflect")) testImplementation(project(":kotlin-reflect"))
} }
optInToExperimentalCompilerApi()
sourceSets { sourceSets {
"main" { projectDefault() } "main" { projectDefault() }
"test" { projectDefault() } "test" { projectDefault() }