in plugin-bazel/src/main/kotlin/org/jetbrains/bazel/magicmetamodel/impl/workspacemodel/impl/updaters/transformers/ModuleDetailsToJavaModuleTransformer.kt [37:81]
fun transform(inputEntity: ModuleDetails): List<JavaModule> {
val javaModule =
JavaModule(
genericModuleInfo = toGenericModuleInfo(inputEntity),
baseDirContentRoot = toBaseDirContentRoot(inputEntity),
sourceRoots = toJavaSourceRoots(inputEntity),
resourceRoots = toResourceRoots(inputEntity),
// Any java module must be assigned a jdk if there is any available.
jvmJdkName = inputEntity.toJdkNameOrDefault(),
jvmBinaryJars = inputEntity.jvmBinaryJars,
kotlinAddendum = toKotlinAddendum(inputEntity),
scalaAddendum = toScalaAddendum(inputEntity),
javaAddendum = toJavaAddendum(inputEntity),
)
val dummyModulesResult = javaModuleToDummyJavaModulesTransformerHACK.transform(javaModule)
return when (dummyModulesResult) {
is JavaModuleToDummyJavaModulesTransformerHACK.DummyModulesToAdd -> {
val dummyModules = dummyModulesResult.dummyModules
val dummyModuleDependencies =
if (BazelFeatureFlags.addDummyModuleDependencies) {
dummyModules.map { it.genericModuleInfo.name }
} else {
emptyList()
}
val javaModuleWithDummyDependencies =
javaModule.copy(
genericModuleInfo =
javaModule.genericModuleInfo.copy(
dependencies =
javaModule.genericModuleInfo.dependencies + dummyModuleDependencies,
),
)
listOf(javaModuleWithDummyDependencies) + dummyModules
}
is JavaModuleToDummyJavaModulesTransformerHACK.MergedRoots -> {
val javaModuleWithMergedSourceRoots =
javaModule.copy(
sourceRoots = dummyModulesResult.mergedSourceRoots,
resourceRoots = dummyModulesResult.mergedResourceRoots ?: javaModule.resourceRoots,
)
listOf(javaModuleWithMergedSourceRoots)
}
}
}