[MPP] Improve readability of MultiplatformDiagnosticsDirectives
- Improved description as suggested during code review - Renamed MULTIPLATFORM_COMPOSITE_ANALYSIS_MODE du *_ENABLED ^KT-50120
This commit is contained in:
committed by
Space
parent
6268852b7a
commit
381a3e7917
+4
-3
@@ -9,10 +9,11 @@ import org.jetbrains.kotlin.test.directives.model.DirectiveApplicability
|
|||||||
import org.jetbrains.kotlin.test.directives.model.SimpleDirectivesContainer
|
import org.jetbrains.kotlin.test.directives.model.SimpleDirectivesContainer
|
||||||
|
|
||||||
object MultiplatformDiagnosticsDirectives : SimpleDirectivesContainer() {
|
object MultiplatformDiagnosticsDirectives : SimpleDirectivesContainer() {
|
||||||
val MULTIPLATFORM_COMPOSITE_ANALYSIS_MODE by directive(
|
val MULTIPLATFORM_COMPOSITE_ANALYSIS_MODE_ENABLED by directive(
|
||||||
description = """
|
description = """
|
||||||
Will setup the classical frontend similar to 'CLI metadata compilation' or 'IDE analysis' where dependsOn sources
|
If present, sets up the classical frontend in a way, similar to how analysis works in IDE, when dependsOn sources are located
|
||||||
are located in separate module descriptors.
|
in separate module descriptors. If absent, setups the frontend in a "CLI-mode", when there's only two modules:
|
||||||
|
one with currently compiled sources (including dependsOn-sources), and the second one with all dependencies.
|
||||||
""".trimIndent(),
|
""".trimIndent(),
|
||||||
applicability = DirectiveApplicability.Global
|
applicability = DirectiveApplicability.Global
|
||||||
)
|
)
|
||||||
|
|||||||
+3
-3
@@ -61,7 +61,7 @@ import org.jetbrains.kotlin.serialization.deserialization.MetadataPartProvider
|
|||||||
import org.jetbrains.kotlin.storage.LockBasedStorageManager
|
import org.jetbrains.kotlin.storage.LockBasedStorageManager
|
||||||
import org.jetbrains.kotlin.storage.StorageManager
|
import org.jetbrains.kotlin.storage.StorageManager
|
||||||
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives
|
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives
|
||||||
import org.jetbrains.kotlin.test.directives.MultiplatformDiagnosticsDirectives.MULTIPLATFORM_COMPOSITE_ANALYSIS_MODE
|
import org.jetbrains.kotlin.test.directives.MultiplatformDiagnosticsDirectives.MULTIPLATFORM_COMPOSITE_ANALYSIS_MODE_ENABLED
|
||||||
import org.jetbrains.kotlin.test.model.DependencyRelation
|
import org.jetbrains.kotlin.test.model.DependencyRelation
|
||||||
import org.jetbrains.kotlin.test.model.FrontendFacade
|
import org.jetbrains.kotlin.test.model.FrontendFacade
|
||||||
import org.jetbrains.kotlin.test.model.FrontendKinds
|
import org.jetbrains.kotlin.test.model.FrontendKinds
|
||||||
@@ -347,8 +347,8 @@ class ClassicFrontendFacade(
|
|||||||
files: List<KtFile>,
|
files: List<KtFile>,
|
||||||
): AnalysisResult {
|
): AnalysisResult {
|
||||||
// See 'TODO' for adding dependency manager
|
// See 'TODO' for adding dependency manager
|
||||||
require(module.dependsOnDependencies.isEmpty() || MULTIPLATFORM_COMPOSITE_ANALYSIS_MODE !in module.directives) {
|
require(module.dependsOnDependencies.isEmpty() || MULTIPLATFORM_COMPOSITE_ANALYSIS_MODE_ENABLED !in module.directives) {
|
||||||
"Analyzing common modules with 'dependsOn' edges in ${MULTIPLATFORM_COMPOSITE_ANALYSIS_MODE.name} is not supported yet.\n" +
|
"Analyzing common modules with 'dependsOn' edges in ${MULTIPLATFORM_COMPOSITE_ANALYSIS_MODE_ENABLED.name} is not supported yet.\n" +
|
||||||
"Module: ${module.name}\n" +
|
"Module: ${module.name}\n" +
|
||||||
"dependsOn: ${module.dependsOnDependencies.map { it.moduleName }}"
|
"dependsOn: ${module.dependsOnDependencies.map { it.moduleName }}"
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -18,12 +18,12 @@ import org.jetbrains.kotlin.resolve.ModulePath
|
|||||||
import org.jetbrains.kotlin.resolve.ModuleStructureOracle
|
import org.jetbrains.kotlin.resolve.ModuleStructureOracle
|
||||||
import org.jetbrains.kotlin.resolve.TargetEnvironment
|
import org.jetbrains.kotlin.resolve.TargetEnvironment
|
||||||
import org.jetbrains.kotlin.resolve.multiplatform.isCommonSource
|
import org.jetbrains.kotlin.resolve.multiplatform.isCommonSource
|
||||||
import org.jetbrains.kotlin.test.directives.MultiplatformDiagnosticsDirectives.MULTIPLATFORM_COMPOSITE_ANALYSIS_MODE
|
import org.jetbrains.kotlin.test.directives.MultiplatformDiagnosticsDirectives.MULTIPLATFORM_COMPOSITE_ANALYSIS_MODE_ENABLED
|
||||||
import org.jetbrains.kotlin.test.model.*
|
import org.jetbrains.kotlin.test.model.*
|
||||||
import org.jetbrains.kotlin.test.services.*
|
import org.jetbrains.kotlin.test.services.*
|
||||||
|
|
||||||
internal fun MultiplatformAnalysisConfiguration(testServices: TestServices): MultiplatformAnalysisConfiguration {
|
internal fun MultiplatformAnalysisConfiguration(testServices: TestServices): MultiplatformAnalysisConfiguration {
|
||||||
return if (testServices.moduleStructure.allDirectives.contains(MULTIPLATFORM_COMPOSITE_ANALYSIS_MODE))
|
return if (testServices.moduleStructure.allDirectives.contains(MULTIPLATFORM_COMPOSITE_ANALYSIS_MODE_ENABLED))
|
||||||
MultiplatformCompositeAnalysisConfiguration(
|
MultiplatformCompositeAnalysisConfiguration(
|
||||||
testServices.dependencyProvider,
|
testServices.dependencyProvider,
|
||||||
testServices.sourceFileProvider,
|
testServices.sourceFileProvider,
|
||||||
|
|||||||
+1
-1
@@ -13,7 +13,7 @@ abstract class AbstractDiagnosticsWithMultiplatformCompositeAnalysisTest : Abstr
|
|||||||
override fun configure(builder: TestConfigurationBuilder) {
|
override fun configure(builder: TestConfigurationBuilder) {
|
||||||
super.configure(builder)
|
super.configure(builder)
|
||||||
builder.defaultDirectives {
|
builder.defaultDirectives {
|
||||||
+MultiplatformDiagnosticsDirectives.MULTIPLATFORM_COMPOSITE_ANALYSIS_MODE
|
+MultiplatformDiagnosticsDirectives.MULTIPLATFORM_COMPOSITE_ANALYSIS_MODE_ENABLED
|
||||||
LanguageSettingsDirectives.LANGUAGE with "+MultiPlatformProjects"
|
LanguageSettingsDirectives.LANGUAGE with "+MultiPlatformProjects"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user