All Downloads are FREE. Search and download functionalities are using the official Maven repository.

main.kotlin.org.jetbrains.bsp.protocol.BazelBuildServer.kt Maven / Gradle / Ivy

Go to download

An implementation of the Build Server Protocol for Bazel. Allows clients such as IntelliJ to obtain build specific information in order to improve the experience of users in the IDE.

There is a newer version: 3.2.0-20241118-a099775e0-NIGHTLY
Show newest version
package org.jetbrains.bsp.protocol

import ch.epfl.scala.bsp4j.RunResult
import ch.epfl.scala.bsp4j.TestResult
import ch.epfl.scala.bsp4j.WorkspaceBuildTargetsResult
import org.eclipse.lsp4j.jsonrpc.services.JsonRequest
import java.util.concurrent.CompletableFuture

interface BazelBuildServer {
  @JsonRequest("workspace/libraries")
  fun workspaceLibraries(): CompletableFuture

  @JsonRequest("workspace/goLibraries")
  fun workspaceGoLibraries(): CompletableFuture

  /**
   * Returns the list of all targets in the workspace that are neither modules nor libraries, but should be displayed in the UI.
   */
  @JsonRequest("workspace/nonModuleTargets")
  fun workspaceNonModuleTargets(): CompletableFuture

  @JsonRequest("workspace/directories")
  fun workspaceDirectories(): CompletableFuture

  @JsonRequest("workspace/invalidTargets")
  fun workspaceInvalidTargets(): CompletableFuture

  @JsonRequest("buildTarget/analysisDebug")
  fun buildTargetAnalysisDebug(params: AnalysisDebugParams): CompletableFuture

  @JsonRequest("buildTarget/runWithDebug")
  fun buildTargetRunWithDebug(params: RunWithDebugParams): CompletableFuture

  @JsonRequest("buildTarget/testWithDebug")
  fun buildTargetTestWithDebug(params: TestWithDebugParams): CompletableFuture

  @JsonRequest("buildTarget/mobileInstall")
  fun buildTargetMobileInstall(params: MobileInstallParams): CompletableFuture

  @JsonRequest("buildTarget/jvmBinaryJars")
  fun buildTargetJvmBinaryJars(params: JvmBinaryJarsParams): CompletableFuture

  @JsonRequest("workspace/buildAndGetBuildTargets")
  fun workspaceBuildAndGetBuildTargets(): CompletableFuture

  @JsonRequest("workspace/buildTargetsPartial")
  fun workspaceBuildTargetsPartial(params: WorkspaceBuildTargetsPartialParams): CompletableFuture

  @JsonRequest("workspace/buildTargetsFirstPhase")
  fun workspaceBuildTargetsFirstPhase(params: WorkspaceBuildTargetsFirstPhaseParams): CompletableFuture
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy