From 0ff31b17b116420a4d14e274cd6616c6aeef75a4 Mon Sep 17 00:00:00 2001 From: laszio Date: Wed, 12 Feb 2025 12:49:46 -0800 Subject: [PATCH] UPDATE_KOTLIN_VERSION: 2.2.0-dev-745 (#2332) * UPDATE_KOTLIN_VERSION: 2.2.0-dev-745 * UPDATE_AA_VERSION: 2.2.0-dev-745 --- compiler-plugin/build.gradle.kts | 1 + .../ksp/KotlinSymbolProcessingExtension.kt | 26 ++++++++++++- .../symbol/impl/kotlin/KSAnnotationImpl.kt | 1 + .../devtools/ksp/test/AbstractKSPTest.kt | 17 +++++--- gradle.properties | 10 ++--- kotlin-analysis-api/build.gradle.kts | 4 ++ .../ksp/impl/KotlinSymbolProcessing.kt | 39 +++++++++++++++---- .../impl/symbol/kotlin/KSAnnotationImpl.kt | 2 + .../resolved/KSAnnotationResolvedImpl.kt | 2 + .../devtools/ksp/test/AbstractKSPAATest.kt | 2 +- .../devtools/ksp/test/AbstractKSPTest.kt | 17 +++++--- .../build.gradle.kts | 1 + 12 files changed, 95 insertions(+), 27 deletions(-) diff --git a/compiler-plugin/build.gradle.kts b/compiler-plugin/build.gradle.kts index c228a108b8..31ebf48676 100644 --- a/compiler-plugin/build.gradle.kts +++ b/compiler-plugin/build.gradle.kts @@ -66,6 +66,7 @@ dependencies { testRuntimeOnly("org.junit.platform:junit-platform-suite:$junitPlatformVersion") testImplementation("org.jetbrains.kotlin:kotlin-compiler:$kotlinBaseVersion") testImplementation("org.jetbrains.kotlin:kotlin-compiler-internal-test-framework:$kotlinBaseVersion") + testImplementation("org.jetbrains.kotlin:analysis-api-test-framework:$kotlinBaseVersion") testImplementation(project(":test-utils")) libsForTesting(kotlin("stdlib", kotlinBaseVersion)) diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/KotlinSymbolProcessingExtension.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/KotlinSymbolProcessingExtension.kt index 2c044d6752..a0888f7daf 100644 --- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/KotlinSymbolProcessingExtension.kt +++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/KotlinSymbolProcessingExtension.kt @@ -46,6 +46,8 @@ import com.google.devtools.ksp.symbol.Visibility import com.google.devtools.ksp.symbol.impl.java.KSFileJavaImpl import com.google.devtools.ksp.symbol.impl.kotlin.KSFileImpl import com.intellij.openapi.Disposable +import com.intellij.openapi.application.ApplicationManager +import com.intellij.openapi.application.runWriteAction import com.intellij.openapi.project.Project import com.intellij.openapi.util.Disposer import com.intellij.openapi.vfs.StandardFileSystems @@ -53,6 +55,7 @@ import com.intellij.openapi.vfs.VirtualFileManager import com.intellij.psi.PsiJavaFile import com.intellij.psi.PsiManager import com.intellij.psi.impl.file.impl.JavaFileManager +import com.intellij.util.ui.EDT import org.jetbrains.kotlin.analyzer.AnalysisResult import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCliJavaFileManagerImpl @@ -164,8 +167,10 @@ abstract class AbstractKotlinSymbolProcessingExtension( logger.logging("round $rounds of processing") val psiManager = PsiManager.getInstance(project) if (initialized) { - psiManager.dropPsiCaches() - psiManager.dropResolveCaches() + maybeRunInWriteAction { + psiManager.dropPsiCaches() + psiManager.dropResolveCaches() + } invalidateKotlinCliJavaFileManagerCache(project) } else { // In case of broken builds. @@ -529,3 +534,20 @@ private fun invalidateKotlinCliJavaFileManagerCache(project: Project): Boolean { (privateCacheField.get(javaFileManager) as? MutableMap<*, *>)?.clear() ?: return false return true } + +private fun maybeRunInWriteAction(f: () -> R) { + synchronized(EDT::class.java) { + if (!EDT.isCurrentThreadEdt()) { + val edt = EDT::class.java.getDeclaredField("myEventDispatchThread") + edt.isAccessible = true + edt.set(null, Thread.currentThread()) + } + if (ApplicationManager.getApplication() != null) { + runWriteAction { + f() + } + } else { + f() + } + } +} diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSAnnotationImpl.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSAnnotationImpl.kt index e3d97fecb0..6c18966472 100644 --- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSAnnotationImpl.kt +++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSAnnotationImpl.kt @@ -103,6 +103,7 @@ class KSAnnotationImpl private constructor(val ktAnnotationEntry: KtAnnotationEn CONSTRUCTOR_PARAMETER -> AnnotationUseSiteTarget.PARAM SETTER_PARAMETER -> AnnotationUseSiteTarget.SETPARAM PROPERTY_DELEGATE_FIELD -> AnnotationUseSiteTarget.DELEGATE + ALL -> null } } diff --git a/compiler-plugin/src/test/kotlin/com/google/devtools/ksp/test/AbstractKSPTest.kt b/compiler-plugin/src/test/kotlin/com/google/devtools/ksp/test/AbstractKSPTest.kt index 78a3fff699..7faa9ccfaf 100644 --- a/compiler-plugin/src/test/kotlin/com/google/devtools/ksp/test/AbstractKSPTest.kt +++ b/compiler-plugin/src/test/kotlin/com/google/devtools/ksp/test/AbstractKSPTest.kt @@ -22,6 +22,9 @@ import com.intellij.openapi.Disposable import com.intellij.openapi.project.Project import com.intellij.openapi.util.Disposer import com.intellij.testFramework.TestDataFile +import org.jetbrains.kotlin.analysis.test.framework.services.TargetPlatformDirectives +import org.jetbrains.kotlin.analysis.test.framework.services.TargetPlatformProviderForAnalysisApiTests +import org.jetbrains.kotlin.cli.common.disposeRootInWriteAction import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment import org.jetbrains.kotlin.cli.jvm.config.addJavaSourceRoot @@ -58,13 +61,13 @@ abstract class DisposableTest { protected val disposable: Disposable get() = _disposable!! @BeforeEach - private fun initDisposable(testInfo: TestInfo) { + fun initDisposable(testInfo: TestInfo) { _disposable = Disposer.newDisposable("disposable for ${testInfo.displayName}") } @AfterEach - private fun disposeDisposable() { - _disposable?.let { Disposer.dispose(it) } + fun disposeDisposable() { + _disposable?.let { disposeRootInWriteAction(it) } _disposable = null } } @@ -121,9 +124,11 @@ abstract class AbstractKSPTest(frontend: FrontendKind<*>) : DisposableTest() { useAdditionalService(::TemporaryDirectoryManagerImpl) useAdditionalService { ExecutionListenerBasedDisposableProvider() } useAdditionalService { StandardLibrariesPathProviderForKotlinProject } + useAdditionalService(::TargetPlatformProviderForAnalysisApiTests) useDirectives(*AbstractKotlinCompilerTest.defaultDirectiveContainers.toTypedArray()) useDirectives(JvmEnvironmentConfigurationDirectives) + useDirectives(TargetPlatformDirectives) defaultDirectives { +JvmEnvironmentConfigurationDirectives.FULL_JDK @@ -163,7 +168,7 @@ abstract class AbstractKSPTest(frontend: FrontendKind<*>) : DisposableTest() { open fun compileModule(module: TestModule, testServices: TestServices) { val javaFiles = module.writeJavaFiles() val compilerConfiguration = testServices.compilerConfigurationProvider.getCompilerConfiguration(module) - val dependencies = module.allDependencies.map { outDirForModule(it.moduleName) } + val dependencies = module.allDependencies.map { outDirForModule(it.dependencyModule.name) } compilerConfiguration.addJvmClasspathRoots(dependencies) compilerConfiguration.addJavaSourceRoot(module.javaDir) @@ -196,8 +201,8 @@ abstract class AbstractKSPTest(frontend: FrontendKind<*>) : DisposableTest() { path, testConfiguration.directives, ) - val dependencyProvider = DependencyProviderImpl(testServices, moduleStructure.modules) - testServices.registerDependencyProvider(dependencyProvider) + val dependencyProvider = ArtifactsProvider(testServices, moduleStructure.modules) + testServices.registerArtifactsProvider(dependencyProvider) testServices.register(TestModuleStructure::class, moduleStructure) val mainModule = moduleStructure.modules.last() diff --git a/gradle.properties b/gradle.properties index 231e0ab81a..0017c6ddc9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,19 +1,19 @@ # Copied from kotlinc org.gradle.jvmargs=-Duser.country=US -Dkotlin.daemon.jvm.options=-Xmx4096m -Dfile.encoding=UTF-8 -kotlinBaseVersion=2.1.20-dev-8066 +kotlinBaseVersion=2.2.0-dev-745 agpBaseVersion=8.10.0-alpha03 -intellijVersion=233.13135.128 +intellijVersion=241.19416.19 junitVersion=4.13.1 junit5Version=5.8.2 junitPlatformVersion=1.8.2 googleTruthVersion=1.1 -aaKotlinBaseVersion=2.1.20-dev-8066 -aaIntellijVersion=233.13135.128 +aaKotlinBaseVersion=2.2.0-dev-745 +aaIntellijVersion=241.19416.19 aaGuavaVersion=33.2.0-jre aaAsmVersion=9.0 -aaFastutilVersion=8.5.11-18 +aaFastutilVersion=8.5.13-jb4 aaStax2Version=4.2.1 aaAaltoXmlVersion=1.3.0 aaStreamexVersion=0.7.2 diff --git a/kotlin-analysis-api/build.gradle.kts b/kotlin-analysis-api/build.gradle.kts index 8bd660fab8..8ad09f031c 100644 --- a/kotlin-analysis-api/build.gradle.kts +++ b/kotlin-analysis-api/build.gradle.kts @@ -49,6 +49,7 @@ dependencies { "com.jetbrains.intellij.platform:core-impl", "com.jetbrains.intellij.platform:extensions", "com.jetbrains.intellij.platform:diagnostic", + "com.jetbrains.intellij.platform:diagnostic-telemetry", "com.jetbrains.intellij.java:java-frontback-psi", "com.jetbrains.intellij.java:java-frontback-psi-impl", "com.jetbrains.intellij.java:java-psi", @@ -102,6 +103,8 @@ dependencies { } implementation("org.jetbrains:annotations:24.1.0") + implementation("io.opentelemetry:opentelemetry-api:1.34.1") { isTransitive = false } + compileOnly(project(":common-deps")) implementation(project(":api")) @@ -117,6 +120,7 @@ dependencies { testImplementation("org.jetbrains.kotlin:kotlin-compiler-internal-test-framework:$aaKotlinBaseVersion") testImplementation(project(":common-deps")) testImplementation(project(":test-utils")) + testImplementation("org.jetbrains.kotlin:analysis-api-test-framework:$aaKotlinBaseVersion") libsForTesting(kotlin("stdlib", aaKotlinBaseVersion)) libsForTesting(kotlin("test", aaKotlinBaseVersion)) diff --git a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/KotlinSymbolProcessing.kt b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/KotlinSymbolProcessing.kt index 71d657936f..f3e6715b5d 100644 --- a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/KotlinSymbolProcessing.kt +++ b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/KotlinSymbolProcessing.kt @@ -44,6 +44,8 @@ import com.google.devtools.ksp.symbol.Origin import com.intellij.core.CoreApplicationEnvironment import com.intellij.mock.MockProject import com.intellij.openapi.Disposable +import com.intellij.openapi.application.ApplicationManager +import com.intellij.openapi.application.runWriteAction import com.intellij.openapi.project.Project import com.intellij.openapi.util.Disposer import com.intellij.openapi.vfs.StandardFileSystems @@ -53,6 +55,7 @@ import com.intellij.psi.PsiManager import com.intellij.psi.PsiTreeChangeAdapter import com.intellij.psi.PsiTreeChangeListener import com.intellij.psi.search.GlobalSearchScope +import com.intellij.util.ui.EDT import org.jetbrains.kotlin.analysis.api.KaExperimentalApi import org.jetbrains.kotlin.analysis.api.KaImplementationDetail import org.jetbrains.kotlin.analysis.api.platform.KotlinMessageBusProvider @@ -539,12 +542,14 @@ class KotlinSymbolProcessing( } fun dropCaches() { - KotlinGlobalModificationService.getInstance(project).publishGlobalSourceModuleStateModification() - KaSessionProvider.getInstance(project).clearCaches() - psiManager.dropResolveCaches() - psiManager.dropPsiCaches() + maybeRunInWriteAction { + KotlinGlobalModificationService.getInstance(project).publishGlobalSourceModuleStateModification() + KaSessionProvider.getInstance(project).clearCaches() + psiManager.dropResolveCaches() + psiManager.dropPsiCaches() - KSObjectCacheManager.clear() + KSObjectCacheManager.clear() + } } var rounds = 0 @@ -623,7 +628,9 @@ class KotlinSymbolProcessing( dropCaches() codeGenerator.closeFiles() } finally { - Disposer.dispose(projectDisposable) + maybeRunInWriteAction { + Disposer.dispose(projectDisposable) + } } return if (logger.hasError) ExitCode.PROCESSING_ERROR else ExitCode.OK @@ -668,6 +675,8 @@ fun String?.toKotlinVersion(): KotlinVersion { @Suppress("unused") @OptIn(KaImplementationDetail::class) internal val DEAR_SHADOW_JAR_PLEASE_DO_NOT_REMOVE_THESE = listOf( + it.unimi.dsi.fastutil.objects.Object2ObjectOpenCustomHashMap::class.java, + it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap::class.java, org.jetbrains.kotlin.analysis.api.impl.base.java.source.JavaElementSourceWithSmartPointerFactory::class.java, org.jetbrains.kotlin.analysis.api.impl.base.projectStructure.KaBaseModuleProvider::class.java, org.jetbrains.kotlin.analysis.api.impl.base.references.HLApiReferenceProviderService::class.java, @@ -677,7 +686,7 @@ internal val DEAR_SHADOW_JAR_PLEASE_DO_NOT_REMOVE_THESE = listOf( org.jetbrains.kotlin.analysis.api.standalone.base.declarations.KotlinStandaloneFirDirectInheritorsProvider::class.java, org.jetbrains.kotlin.analysis.low.level.api.fir.services.LLRealFirElementByPsiElementChooser::class.java, org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSessionInvalidationService::class.java, - org.jetbrains.kotlin.analysis.low.level.api.fir.stubBased.deserialization.LLStubBasedLibrarySymbolProviderFactory::class.java, + org.jetbrains.kotlin.analysis.low.level.api.fir.symbolProviders.factories.LLStubOriginLibrarySymbolProviderFactory::class.java, org.jetbrains.kotlin.analysis.api.impl.base.permissions.KaBaseAnalysisPermissionChecker::class.java, org.jetbrains.kotlin.analysis.api.impl.base.permissions.KaBaseAnalysisPermissionRegistry::class.java, org.jetbrains.kotlin.analysis.api.impl.base.symbols.pointers.KaBasePsiSymbolPointerCreator::class.java, @@ -698,6 +707,8 @@ internal val DEAR_SHADOW_JAR_PLEASE_DO_NOT_REMOVE_THESE = listOf( com.intellij.diagnostic.ActivityCategory::class.java, com.intellij.openapi.application.JetBrainsProtocolHandler::class.java, com.intellij.openapi.editor.impl.EditorDocumentPriorities::class.java, + com.intellij.platform.diagnostic.telemetry.TelemetryManager::class.java, + com.intellij.psi.impl.PsiSubstitutorImpl::class.java, com.intellij.psi.tree.ChildRoleBase::class.java, com.intellij.util.xmlb.Constants::class.java, com.intellij.xml.CommonXmlStrings::class.java, @@ -725,3 +736,17 @@ fun TargetPlatform.getPlatformInfo(kspConfig: KSPConfig): List = else -> UnknownPlatformInfoImpl(platform.toString()) } } + +private fun maybeRunInWriteAction(f: () -> R) { + synchronized(EDT::class.java) { + if (!EDT.isCurrentThreadEdt()) + EDT.updateEdt() + if (ApplicationManager.getApplication() != null) { + runWriteAction { + f() + } + } else { + f() + } + } +} diff --git a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSAnnotationImpl.kt b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSAnnotationImpl.kt index a8e0e05a8a..4cc2589e19 100644 --- a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSAnnotationImpl.kt +++ b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/KSAnnotationImpl.kt @@ -137,6 +137,8 @@ class KSAnnotationImpl private constructor( CONSTRUCTOR_PARAMETER -> AnnotationUseSiteTarget.PARAM SETTER_PARAMETER -> AnnotationUseSiteTarget.SETPARAM PROPERTY_DELEGATE_FIELD -> AnnotationUseSiteTarget.DELEGATE + // FIXME + ALL -> null } } diff --git a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/resolved/KSAnnotationResolvedImpl.kt b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/resolved/KSAnnotationResolvedImpl.kt index b2268c0d2f..1de7c04e9b 100644 --- a/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/resolved/KSAnnotationResolvedImpl.kt +++ b/kotlin-analysis-api/src/main/kotlin/com/google/devtools/ksp/impl/symbol/kotlin/resolved/KSAnnotationResolvedImpl.kt @@ -132,6 +132,8 @@ class KSAnnotationResolvedImpl private constructor( CONSTRUCTOR_PARAMETER -> AnnotationUseSiteTarget.PARAM SETTER_PARAMETER -> AnnotationUseSiteTarget.SETPARAM PROPERTY_DELEGATE_FIELD -> AnnotationUseSiteTarget.DELEGATE + // FIXME: + ALL -> null } } diff --git a/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/test/AbstractKSPAATest.kt b/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/test/AbstractKSPAATest.kt index bf702b5611..c4aee07c36 100644 --- a/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/test/AbstractKSPAATest.kt +++ b/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/test/AbstractKSPAATest.kt @@ -91,7 +91,7 @@ abstract class AbstractKSPAATest : AbstractKSPTest(FrontendKinds.FIR) { override fun compileModule(module: TestModule, testServices: TestServices) { module.writeKtFiles() val javaFiles = module.writeJavaFiles() - val dependencies = module.allDependencies.map { outDirForModule(it.moduleName) } + val dependencies = module.allDependencies.map { outDirForModule(it.dependencyModule.name) } compileKotlin(dependencies, module.kotlinSrc.path, module.javaDir.path, module.outDir, module.name) val classpath = (dependencies + KtTestUtil.getAnnotationsJar() + module.outDir) .joinToString(File.pathSeparator) { it.absolutePath } diff --git a/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/test/AbstractKSPTest.kt b/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/test/AbstractKSPTest.kt index 78a3fff699..7faa9ccfaf 100644 --- a/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/test/AbstractKSPTest.kt +++ b/kotlin-analysis-api/src/test/kotlin/com/google/devtools/ksp/test/AbstractKSPTest.kt @@ -22,6 +22,9 @@ import com.intellij.openapi.Disposable import com.intellij.openapi.project.Project import com.intellij.openapi.util.Disposer import com.intellij.testFramework.TestDataFile +import org.jetbrains.kotlin.analysis.test.framework.services.TargetPlatformDirectives +import org.jetbrains.kotlin.analysis.test.framework.services.TargetPlatformProviderForAnalysisApiTests +import org.jetbrains.kotlin.cli.common.disposeRootInWriteAction import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment import org.jetbrains.kotlin.cli.jvm.config.addJavaSourceRoot @@ -58,13 +61,13 @@ abstract class DisposableTest { protected val disposable: Disposable get() = _disposable!! @BeforeEach - private fun initDisposable(testInfo: TestInfo) { + fun initDisposable(testInfo: TestInfo) { _disposable = Disposer.newDisposable("disposable for ${testInfo.displayName}") } @AfterEach - private fun disposeDisposable() { - _disposable?.let { Disposer.dispose(it) } + fun disposeDisposable() { + _disposable?.let { disposeRootInWriteAction(it) } _disposable = null } } @@ -121,9 +124,11 @@ abstract class AbstractKSPTest(frontend: FrontendKind<*>) : DisposableTest() { useAdditionalService(::TemporaryDirectoryManagerImpl) useAdditionalService { ExecutionListenerBasedDisposableProvider() } useAdditionalService { StandardLibrariesPathProviderForKotlinProject } + useAdditionalService(::TargetPlatformProviderForAnalysisApiTests) useDirectives(*AbstractKotlinCompilerTest.defaultDirectiveContainers.toTypedArray()) useDirectives(JvmEnvironmentConfigurationDirectives) + useDirectives(TargetPlatformDirectives) defaultDirectives { +JvmEnvironmentConfigurationDirectives.FULL_JDK @@ -163,7 +168,7 @@ abstract class AbstractKSPTest(frontend: FrontendKind<*>) : DisposableTest() { open fun compileModule(module: TestModule, testServices: TestServices) { val javaFiles = module.writeJavaFiles() val compilerConfiguration = testServices.compilerConfigurationProvider.getCompilerConfiguration(module) - val dependencies = module.allDependencies.map { outDirForModule(it.moduleName) } + val dependencies = module.allDependencies.map { outDirForModule(it.dependencyModule.name) } compilerConfiguration.addJvmClasspathRoots(dependencies) compilerConfiguration.addJavaSourceRoot(module.javaDir) @@ -196,8 +201,8 @@ abstract class AbstractKSPTest(frontend: FrontendKind<*>) : DisposableTest() { path, testConfiguration.directives, ) - val dependencyProvider = DependencyProviderImpl(testServices, moduleStructure.modules) - testServices.registerDependencyProvider(dependencyProvider) + val dependencyProvider = ArtifactsProvider(testServices, moduleStructure.modules) + testServices.registerArtifactsProvider(dependencyProvider) testServices.register(TestModuleStructure::class, moduleStructure) val mainModule = moduleStructure.modules.last() diff --git a/symbol-processing-aa-embeddable/build.gradle.kts b/symbol-processing-aa-embeddable/build.gradle.kts index d0f8310d09..277d98122d 100644 --- a/symbol-processing-aa-embeddable/build.gradle.kts +++ b/symbol-processing-aa-embeddable/build.gradle.kts @@ -46,6 +46,7 @@ val prefixesToRelocate = listOf( "com.intellij.", "com.sun.jna.", "gnu.trove.", + "io.opentelemetry.api.", "it.unimi.dsi.", "javaslang.", "javax.inject.",