Skip to content

Commit b8a410a

Browse files
committed
More fixes after rebasing
1 parent fd86825 commit b8a410a

File tree

2 files changed

+30
-17
lines changed

2 files changed

+30
-17
lines changed
Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,25 @@
1-
# General purpose Bazel worker implemented Kotlin. Best suited for jvm based tools.
1+
load("@com_google_protobuf//bazel:java_proto_library.bzl", "java_proto_library")
22
load("//src/main/kotlin:bootstrap.bzl", "kt_bootstrap_library")
33

4+
java_proto_library(
5+
name = "worker_protocol_java_proto",
6+
deps = ["@bazel_worker_api//:worker_protocol_proto"],
7+
)
8+
49
kt_bootstrap_library(
510
name = "worker",
611
srcs = glob(["*.kt"]),
712
visibility = [
813
"//:__subpackages__",
914
],
1015
deps = [
16+
":worker_protocol_java_proto",
1117
"@bazel_worker_java//src/main/java/com/google/devtools/build/lib/worker:work_request_handlers",
18+
"@kotlin_rules_maven//:com_google_auto_value_auto_value",
19+
"@kotlin_rules_maven//:com_google_code_findbugs_jsr305",
20+
"@kotlin_rules_maven//:com_google_errorprone_error_prone_annotations",
21+
"@kotlin_rules_maven//:com_google_guava_guava",
22+
"@kotlin_rules_maven//:com_google_protobuf_protobuf_java",
23+
"@kotlin_rules_maven//:com_google_protobuf_protobuf_java_util",
1224
],
1325
)

src/main/kotlin/io/bazel/worker/PersistentWorker.kt

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,8 @@
1818
package io.bazel.worker
1919

2020
import com.google.devtools.build.lib.worker.ProtoWorkerMessageProcessor
21-
import com.google.devtools.build.lib.worker.WorkRequestHandler.WorkRequestCallback
22-
import com.google.devtools.build.lib.worker.WorkRequestHandler.WorkRequestHandlerBuilder
23-
import com.google.devtools.build.lib.worker.WorkerProtocol.WorkRequest
21+
import com.google.devtools.build.lib.worker.WorkRequestHandler
22+
import com.google.devtools.build.lib.worker.WorkerProtocol
2423
import java.io.IOException
2524
import java.io.PrintWriter
2625
import java.time.Duration
@@ -36,17 +35,16 @@ class PersistentWorker : Worker {
3635
return WorkerContext.run {
3736
val realStdErr = System.err
3837
try {
39-
val workerHandler =
40-
WorkRequestHandlerBuilder(
41-
WorkRequestCallback { request: WorkRequest, pw: PrintWriter ->
42-
return@WorkRequestCallback doTask(
43-
name = "request ${request.requestId}",
44-
task = request.workTo(execute),
45-
).asResponse(pw)
46-
},
47-
realStdErr,
48-
ProtoWorkerMessageProcessor(System.`in`, System.out),
49-
).setCpuUsageBeforeGc(Duration.ofSeconds(10)).build()
38+
val workerHandler: WorkRequestHandler = WorkRequestHandler.WorkRequestHandlerBuilder(
39+
WorkRequestHandler.WorkRequestCallback { request: WorkerProtocol.WorkRequest, pw: PrintWriter ->
40+
return@WorkRequestCallback doTask(
41+
name = "request ${request.requestId}",
42+
task = request.workTo(execute),
43+
).asResponse(pw)
44+
},
45+
realStdErr,
46+
ProtoWorkerMessageProcessor(System.`in`, System.out),
47+
).setCpuUsageBeforeGc(Duration.ofSeconds(10)).build()
5048
workerHandler.processRequests()
5149
} catch (e: IOException) {
5250
this.error(e, { "Unknown IO exception" })
@@ -57,8 +55,11 @@ class PersistentWorker : Worker {
5755
}
5856
}
5957

60-
private fun WorkRequest.workTo(execute: Work): (sub: WorkerContext.TaskContext) -> Status =
61-
{ ctx -> execute(ctx, argumentsList.toList()) }
58+
private fun WorkerProtocol.WorkRequest.workTo(execute: Work): (sub: WorkerContext.TaskContext) -> Status {
59+
return { ctx ->
60+
execute(ctx, argumentsList.toList())
61+
}
62+
}
6263

6364
private fun TaskResult.asResponse(pw: PrintWriter): Int {
6465
pw.print(log.out.toString())

0 commit comments

Comments
 (0)