fun convert()

in plugin-bazel/src/main/kotlin/org/jetbrains/bazel/languages/projectview/ProjectViewToWorkspaceContextConverter.kt [30:66]


  fun convert(
    projectView: ProjectView,
    dotBazelBspDirPath: Path,
    workspaceRoot: Path,
  ): WorkspaceContext {
    val dirs = createDirectoriesFromProjectView(projectView, workspaceRoot)
    val targets =
      if (projectView.deriveTargetsFromDirectories) {
        createTargetsFromDirectories(projectView.targets, projectView.directories)
      } else {
        projectView.targets
      }
    return WorkspaceContext(
      targets = targets,
      directories = dirs,
      buildFlags = projectView.buildFlags,
      syncFlags = projectView.syncFlags,
      debugFlags = projectView.debugFlags,
      bazelBinary = projectView.bazelBinary?.let { workspaceRoot.resolve(it) }
        ?: resolveBazelBinary(),
      allowManualTargetsSync = projectView.allowManualTargetsSync,
      dotBazelBspDirPath = dotBazelBspDirPath,
      importDepth = projectView.importDepth,
      enabledRules = projectView.enabledRules,
      ideJavaHomeOverride = projectView.ideJavaHomeOverride,
      shardSync = projectView.shardSync,
      targetShardSize = projectView.targetShardSize,
      shardingApproach = projectView.shardingApproach,
      importRunConfigurations = projectView.importRunConfigurations,
      gazelleTarget = projectView.gazelleTarget,
      indexAllFilesInDirectories = projectView.indexAllFilesInDirectories,
      pythonCodeGeneratorRuleNames = projectView.pythonCodeGeneratorRuleNames,
      importIjars = projectView.importIjars,
      deriveInstrumentationFilterFromTargets = projectView.deriveInstrumentationFilterFromTargets,
      indexAdditionalFilesInDirectories = projectView.indexAdditionalFilesInDirectories,
    )
  }