fun transform()

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 },
    )
  }