fun build()

in plugin-bazel-agent/src/main/kotlin/jetbrains/buildServer/bazel/BesCommandLineBuilder.kt [23:61]


    fun build(command: BazelCommand): ProgramCommandLine {
        val bazelCommandFile = createBazelCommandFile(command)

        val besJarFile =
            _pathsService
                .getPath(PathType.Plugin)
                .toPath()
                .resolve("tools")
                .resolve("plugin-bazel-event-service.jar")
        val besArgs =
            buildList(capacity = 6) {
                add("-Djava.io.tmpdir=${_pathsService.getPath(PathType.AgentTemp).absolutePath}")
                add("-jar")
                add(besJarFile.absolutePathString())
                add("-c=${bazelCommandFile.absolutePath}")

                verbosity?.let {
                    add("-l=${it.id}")
                }

                if (integrationMode == IntegrationMode.BinaryFile) {
                    val binaryFile =
                        _pathsService.getPath(PathType.AgentTemp).toPath().resolve(_pathsService.uniqueName)
                    add("-f=${binaryFile.absolutePathString()}")
                }
            }

        val javaExecutable =
            when {
                virtualContext.isVirtual -> _dockerJavaExecutableProvider.getJavaExecutable()
                else -> _agentJavaExecutableProvider.getJavaExecutable()
            }
        return SimpleProgramCommandLine(
            environmentVariables,
            _workingDirectoryProvider.workingDirectory.absolutePath,
            javaExecutable,
            besArgs,
        )
    }