in plugin-bazel/src/main/kotlin/org/jetbrains/bazel/server/connection/Connection.kt [16:49]
suspend fun startServer(
client: JoinedBuildClient,
workspaceRoot: Path,
workspaceContext: WorkspaceContext,
featureFlags: FeatureFlags,
): BspServerApi {
val bspInfo = BspInfo(workspaceRoot)
val bspServer = BazelBspServer(bspInfo, workspaceContext, workspaceRoot)
val bspClientLogger = BspClientLogger(client)
val bazelRunner = BazelRunner(bspClientLogger, bspServer.workspaceRoot)
val bazelInfo = bspServer.createBazelInfo(bazelRunner, workspaceContext)
bazelRunner.bazelInfo = bazelInfo
val bazelPathsResolver = BazelPathsResolver(bazelInfo)
val compilationManager =
BazelBspCompilationManager(bazelRunner, bazelPathsResolver, client, bspServer.workspaceRoot)
val services =
bspServer.bspServerData(
bspClientLogger,
bazelRunner,
compilationManager,
bazelInfo,
workspaceContext,
featureFlags,
bazelPathsResolver,
)
val bspServerApi =
BspServerApi(
services.projectSyncService,
services.executeService,
workspaceContext,
bazelPathsResolver,
)
return bspServerApi
}