[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
|
||||
|
||||
object MultiplatformDiagnosticsDirectives : SimpleDirectivesContainer() {
|
||||
val MULTIPLATFORM_COMPOSITE_ANALYSIS_MODE by directive(
|
||||
val MULTIPLATFORM_COMPOSITE_ANALYSIS_MODE_ENABLED by directive(
|
||||
description = """
|
||||
Will setup the classical frontend similar to 'CLI metadata compilation' or 'IDE analysis' where dependsOn sources
|
||||
are located in separate module descriptors.
|
||||
If present, sets up the classical frontend in a way, similar to how analysis works in IDE, when dependsOn sources are located
|
||||
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(),
|
||||
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.StorageManager
|
||||
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.FrontendFacade
|
||||
import org.jetbrains.kotlin.test.model.FrontendKinds
|
||||
@@ -347,8 +347,8 @@ class ClassicFrontendFacade(
|
||||
files: List<KtFile>,
|
||||
): AnalysisResult {
|
||||
// See 'TODO' for adding dependency manager
|
||||
require(module.dependsOnDependencies.isEmpty() || MULTIPLATFORM_COMPOSITE_ANALYSIS_MODE !in module.directives) {
|
||||
"Analyzing common modules with 'dependsOn' edges in ${MULTIPLATFORM_COMPOSITE_ANALYSIS_MODE.name} is not supported yet.\n" +
|
||||
require(module.dependsOnDependencies.isEmpty() || MULTIPLATFORM_COMPOSITE_ANALYSIS_MODE_ENABLED !in module.directives) {
|
||||
"Analyzing common modules with 'dependsOn' edges in ${MULTIPLATFORM_COMPOSITE_ANALYSIS_MODE_ENABLED.name} is not supported yet.\n" +
|
||||
"Module: ${module.name}\n" +
|
||||
"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.TargetEnvironment
|
||||
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.services.*
|
||||
|
||||
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(
|
||||
testServices.dependencyProvider,
|
||||
testServices.sourceFileProvider,
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ abstract class AbstractDiagnosticsWithMultiplatformCompositeAnalysisTest : Abstr
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
builder.defaultDirectives {
|
||||
+MultiplatformDiagnosticsDirectives.MULTIPLATFORM_COMPOSITE_ANALYSIS_MODE
|
||||
+MultiplatformDiagnosticsDirectives.MULTIPLATFORM_COMPOSITE_ANALYSIS_MODE_ENABLED
|
||||
LanguageSettingsDirectives.LANGUAGE with "+MultiPlatformProjects"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user