[Parcelize] Add test for parcelize in multiplatform setting.

This tests that classes in common code can have code generated
for them in android compilations.
This commit is contained in:
Mads Ager
2024-03-04 15:37:13 +01:00
committed by Space Cloud
parent fa0d456850
commit b0bc017a16
13 changed files with 133 additions and 16 deletions
@@ -47,4 +47,11 @@ object WasmEnvironmentConfigurationDirectives : SimpleDirectivesContainer() {
val CHECK_TYPESCRIPT_DECLARATIONS by directive(
description = "Check typescript declarations generated by the compiler",
)
val NO_COMMON_FILES by directive(
"""
Don't added helper files to prevent linking issues.
""".trimIndent(),
applicability = DirectiveApplicability.Global,
)
}
@@ -355,18 +355,13 @@ class ModuleStructureExtractorImpl(
directives = moduleDirectives,
languageVersionSettings = currentModuleLanguageVersionSettingsBuilder.build()
)
if (testModule.frontendKind != FrontendKinds.FIR ||
!testModule.languageVersionSettings.supportsFeature(LanguageFeature.MultiPlatformProjects) ||
modules.isEmpty()
) {
additionalSourceProviders.flatMapTo(filesOfCurrentModule) { additionalSourceProvider ->
additionalSourceProvider.produceAdditionalFiles(
globalDirectives ?: RegisteredDirectives.Empty,
testModule
).also { additionalFiles ->
require(additionalFiles.all { it.isAdditional }) {
"Files produced by ${additionalSourceProvider::class.qualifiedName} should have flag `isAdditional = true`"
}
additionalSourceProviders.flatMapTo(filesOfCurrentModule) { additionalSourceProvider ->
additionalSourceProvider.produceAdditionalFiles(
globalDirectives ?: RegisteredDirectives.Empty,
testModule
).also { additionalFiles ->
require(additionalFiles.all { it.isAdditional }) {
"Files produced by ${additionalSourceProvider::class.qualifiedName} should have flag `isAdditional = true`"
}
}
}