in plugin-bazel/src/main/kotlin/org/jetbrains/bazel/magicmetamodel/impl/workspacemodel/impl/updaters/transformers/JavaModuleToDummyJavaModulesTransformerHACK.kt [49:87]
fun transform(inputEntity: JavaModule): Result {
val buildFileDirectory = inputEntity.baseDirContentRoot?.path
val (relevantSourceRoots, irrelevantSourceRoots) = inputEntity.sourceRoots.partition { it.isRelevant() }
val sourceRootsForParentDirs = calculateSourceRootsForParentDirs(relevantSourceRoots)
val mergedSourceRootVotes = sourceRootsForParentDirs.restoreSourceRootFromPackagePrefix(limit = buildFileDirectory)
if (BazelFeatureFlags.mergeSourceRoots) {
val mergedSourceRoots =
tryMergeSources(
relevantSourceRoots,
mergedSourceRootVotes,
sourceRootsForParentDirs,
)
if (mergedSourceRoots != null) {
val mergedResourceRoots = tryMergeResources(inputEntity.resourceRoots)
return MergedRoots(
mergedSourceRoots = mergedSourceRoots + irrelevantSourceRoots,
mergedResourceRoots = mergedResourceRoots,
)
}
}
val dummySourceRoots =
if (buildFileDirectory == null) {
mergedSourceRootVotes
} else {
mergedSourceRootVotes.restoreSourceRootFromPackagePrefix(limit = null)
}.keys.toList()
return DummyModulesToAdd(
dummySourceRoots
.zip(calculateDummyJavaModuleNames(dummySourceRoots, projectBasePath))
.mapNotNull {
calculateDummyJavaSourceModule(
name = it.second,
sourceRoot = it.first,
javaModule = inputEntity,
)
}.distinctBy { it.genericModuleInfo.name },
)
}