diff --git a/3rdparty/jvm/com/google/protobuf/BUILD b/3rdparty/jvm/com/google/protobuf/BUILD new file mode 100644 index 0000000..9a993c6 --- /dev/null +++ b/3rdparty/jvm/com/google/protobuf/BUILD @@ -0,0 +1,5 @@ +jvm_artifact( + group="com.google.protobuf", + artifact="protobuf-java", + version="3.21.0", +) diff --git a/3rdparty/jvm/default.lock b/3rdparty/jvm/default.lock index 2556663..d934a75 100644 --- a/3rdparty/jvm/default.lock +++ b/3rdparty/jvm/default.lock @@ -7,13 +7,55 @@ # "version": 1, # "generated_with_requirements": [ # "com.google.guava:guava:31.0.1-jre,url=not_provided,jar=not_provided", +# "com.google.protobuf:protobuf-java:3.21.0,url=not_provided,jar=not_provided", # "com.lihaoyi:acyclic_2.13:0.2.1,url=not_provided,jar=not_provided", +# "io.grpc:grpc-netty-shaded:1.45.0,url=not_provided,jar=not_provided", +# "io.grpc:grpc-protobuf:1.45.0,url=not_provided,jar=not_provided", +# "io.grpc:grpc-services:1.45.0,url=not_provided,jar=not_provided", +# "io.grpc:grpc-stub:1.45.0,url=not_provided,jar=not_provided", +# "io.grpc:grpc-testing:1.45.0,url=not_provided,jar=not_provided", # "org.scala-lang:scala-library:2.13.8,url=not_provided,jar=not_provided", # "org.scalatest:scalatest_2.13:3.2.10,url=not_provided,jar=not_provided" # ] # } # --- END PANTS LOCKFILE METADATA --- +[[entries]] +directDependencies = [] +dependencies = [] +file_name = "com.google.android_annotations_4.1.1.4.jar" + +[entries.coord] +group = "com.google.android" +artifact = "annotations" +version = "4.1.1.4" +packaging = "jar" +[entries.file_digest] +fingerprint = "ba734e1e84c09d615af6a09d33034b4f0442f8772dec120efb376d86a565ae15" +serialized_bytes_length = 3120 +[[entries]] +file_name = "com.google.api.grpc_proto-google-common-protos_2.0.1.jar" +[[entries.directDependencies]] +group = "com.google.protobuf" +artifact = "protobuf-java" +version = "3.21.0" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.protobuf" +artifact = "protobuf-java" +version = "3.21.0" +packaging = "jar" + + +[entries.coord] +group = "com.google.api.grpc" +artifact = "proto-google-common-protos" +version = "2.0.1" +packaging = "jar" +[entries.file_digest] +fingerprint = "5ce71656118618731e34a5d4c61aa3a031be23446dc7de8b5a5e77b66ebcd6ef" +serialized_bytes_length = 1557780 [[entries]] directDependencies = [] dependencies = [] @@ -30,16 +72,29 @@ serialized_bytes_length = 19936 [[entries]] directDependencies = [] dependencies = [] -file_name = "com.google.errorprone_error_prone_annotations_2.7.1.jar" +file_name = "com.google.code.gson_gson_2.8.9.jar" + +[entries.coord] +group = "com.google.code.gson" +artifact = "gson" +version = "2.8.9" +packaging = "jar" +[entries.file_digest] +fingerprint = "d3999291855de495c94c743761b8ab5176cfeabe281a5ab0d8e8d45326fd703e" +serialized_bytes_length = 258075 +[[entries]] +directDependencies = [] +dependencies = [] +file_name = "com.google.errorprone_error_prone_annotations_2.10.0.jar" [entries.coord] group = "com.google.errorprone" artifact = "error_prone_annotations" -version = "2.7.1" +version = "2.10.0" packaging = "jar" [entries.file_digest] -fingerprint = "cd5257c08a246cf8628817ae71cb822be192ef91f6881ca4a3fcff4f1de1cff3" -serialized_bytes_length = 14835 +fingerprint = "a249d4d25dfb86d41e6c82fc335df580189f0c9feeabdc53233fc1e5060724a1" +serialized_bytes_length = 15992 [[entries]] directDependencies = [] dependencies = [] @@ -76,7 +131,7 @@ packaging = "jar" [[entries.directDependencies]] group = "com.google.errorprone" artifact = "error_prone_annotations" -version = "2.7.1" +version = "2.10.0" packaging = "jar" [[entries.directDependencies]] @@ -112,7 +167,7 @@ packaging = "jar" [[entries.dependencies]] group = "com.google.errorprone" artifact = "error_prone_annotations" -version = "2.7.1" +version = "2.10.0" packaging = "jar" [[entries.dependencies]] @@ -163,6 +218,102 @@ packaging = "jar" fingerprint = "21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b" serialized_bytes_length = 8781 [[entries]] +file_name = "com.google.protobuf_protobuf-java-util_3.19.2.jar" +[[entries.directDependencies]] +group = "com.google.j2objc" +artifact = "j2objc-annotations" +version = "1.3" +packaging = "jar" + +[[entries.directDependencies]] +group = "com.google.code.findbugs" +artifact = "jsr305" +version = "3.0.2" +packaging = "jar" + +[[entries.directDependencies]] +group = "com.google.errorprone" +artifact = "error_prone_annotations" +version = "2.10.0" +packaging = "jar" + +[[entries.directDependencies]] +group = "com.google.protobuf" +artifact = "protobuf-java" +version = "3.21.0" +packaging = "jar" + +[[entries.directDependencies]] +group = "com.google.guava" +artifact = "guava" +version = "31.0.1-jre" +packaging = "jar" + +[[entries.directDependencies]] +group = "com.google.code.gson" +artifact = "gson" +version = "2.8.9" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.j2objc" +artifact = "j2objc-annotations" +version = "1.3" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.code.findbugs" +artifact = "jsr305" +version = "3.0.2" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.errorprone" +artifact = "error_prone_annotations" +version = "2.10.0" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.protobuf" +artifact = "protobuf-java" +version = "3.21.0" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.guava" +artifact = "guava" +version = "31.0.1-jre" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.code.gson" +artifact = "gson" +version = "2.8.9" +packaging = "jar" + + +[entries.coord] +group = "com.google.protobuf" +artifact = "protobuf-java-util" +version = "3.19.2" +packaging = "jar" +[entries.file_digest] +fingerprint = "9588d67db391b19cffb4ec658d9365ac5362b2089661c157fd27f21380cdd1e8" +serialized_bytes_length = 73386 +[[entries]] +directDependencies = [] +dependencies = [] +file_name = "com.google.protobuf_protobuf-java_3.21.0.jar" + +[entries.coord] +group = "com.google.protobuf" +artifact = "protobuf-java" +version = "3.21.0" +packaging = "jar" +[entries.file_digest] +fingerprint = "3d6bc9e4a87f293cb434b5a95c3011f72881a8517270c231dee035b215eb61df" +serialized_bytes_length = 1692588 +[[entries]] directDependencies = [] dependencies = [] file_name = "com.lihaoyi_acyclic_2.13_0.2.1.jar" @@ -176,18 +327,805 @@ packaging = "jar" fingerprint = "4bc4656140ad5e4802fedcdbe920ec7c92dbebf5e76d1c60d35676a314481944" serialized_bytes_length = 62534 [[entries]] +file_name = "io.grpc_grpc-api_1.45.0.jar" +[[entries.directDependencies]] +group = "com.google.code.findbugs" +artifact = "jsr305" +version = "3.0.2" +packaging = "jar" + +[[entries.directDependencies]] +group = "com.google.errorprone" +artifact = "error_prone_annotations" +version = "2.10.0" +packaging = "jar" + +[[entries.directDependencies]] +group = "com.google.guava" +artifact = "guava" +version = "31.0.1-jre" +packaging = "jar" + +[[entries.directDependencies]] +group = "io.grpc" +artifact = "grpc-context" +version = "1.45.0" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.code.findbugs" +artifact = "jsr305" +version = "3.0.2" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.errorprone" +artifact = "error_prone_annotations" +version = "2.10.0" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.guava" +artifact = "guava" +version = "31.0.1-jre" +packaging = "jar" + +[[entries.dependencies]] +group = "io.grpc" +artifact = "grpc-context" +version = "1.45.0" +packaging = "jar" + + +[entries.coord] +group = "io.grpc" +artifact = "grpc-api" +version = "1.45.0" +packaging = "jar" +[entries.file_digest] +fingerprint = "5bb1965806cf7e157f3b2fe11f78b5c04eacd7d2885d600568e81195e46397da" +serialized_bytes_length = 255334 +[[entries]] directDependencies = [] dependencies = [] -file_name = "org.checkerframework_checker-qual_3.12.0.jar" +file_name = "io.grpc_grpc-context_1.45.0.jar" [entries.coord] -group = "org.checkerframework" -artifact = "checker-qual" -version = "3.12.0" +group = "io.grpc" +artifact = "grpc-context" +version = "1.45.0" packaging = "jar" [entries.file_digest] -fingerprint = "ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb" -serialized_bytes_length = 208835 +fingerprint = "ddb85f981d2733a96c02965fa9a3cc01d3bce10f71914f73bbb815955ad800ab" +serialized_bytes_length = 30593 +[[entries]] +file_name = "io.grpc_grpc-core_1.45.0.jar" +[[entries.directDependencies]] +group = "com.google.errorprone" +artifact = "error_prone_annotations" +version = "2.10.0" +packaging = "jar" + +[[entries.directDependencies]] +group = "com.google.android" +artifact = "annotations" +version = "4.1.1.4" +packaging = "jar" + +[[entries.directDependencies]] +group = "io.grpc" +artifact = "grpc-api" +version = "1.45.0" +packaging = "jar" + +[[entries.directDependencies]] +group = "org.codehaus.mojo" +artifact = "animal-sniffer-annotations" +version = "1.19" +packaging = "jar" + +[[entries.directDependencies]] +group = "io.perfmark" +artifact = "perfmark-api" +version = "0.23.0" +packaging = "jar" + +[[entries.directDependencies]] +group = "com.google.guava" +artifact = "guava" +version = "31.0.1-jre" +packaging = "jar" + +[[entries.directDependencies]] +group = "com.google.code.gson" +artifact = "gson" +version = "2.8.9" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.errorprone" +artifact = "error_prone_annotations" +version = "2.10.0" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.android" +artifact = "annotations" +version = "4.1.1.4" +packaging = "jar" + +[[entries.dependencies]] +group = "io.grpc" +artifact = "grpc-api" +version = "1.45.0" +packaging = "jar" + +[[entries.dependencies]] +group = "org.codehaus.mojo" +artifact = "animal-sniffer-annotations" +version = "1.19" +packaging = "jar" + +[[entries.dependencies]] +group = "io.perfmark" +artifact = "perfmark-api" +version = "0.23.0" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.guava" +artifact = "guava" +version = "31.0.1-jre" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.code.gson" +artifact = "gson" +version = "2.8.9" +packaging = "jar" + + +[entries.coord] +group = "io.grpc" +artifact = "grpc-core" +version = "1.45.0" +packaging = "jar" +[entries.file_digest] +fingerprint = "1cef554c91dc00ca90824dbdd9242836c043da0a7c8cb3d8db8eb35ed460cfa1" +serialized_bytes_length = 688038 +[[entries]] +file_name = "io.grpc_grpc-netty-shaded_1.45.0.jar" +[[entries.directDependencies]] +group = "com.google.errorprone" +artifact = "error_prone_annotations" +version = "2.10.0" +packaging = "jar" + +[[entries.directDependencies]] +group = "com.google.guava" +artifact = "guava" +version = "31.0.1-jre" +packaging = "jar" + +[[entries.directDependencies]] +group = "io.grpc" +artifact = "grpc-core" +version = "1.45.0" +packaging = "jar" + +[[entries.directDependencies]] +group = "io.perfmark" +artifact = "perfmark-api" +version = "0.23.0" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.errorprone" +artifact = "error_prone_annotations" +version = "2.10.0" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.android" +artifact = "annotations" +version = "4.1.1.4" +packaging = "jar" + +[[entries.dependencies]] +group = "io.grpc" +artifact = "grpc-api" +version = "1.45.0" +packaging = "jar" + +[[entries.dependencies]] +group = "org.codehaus.mojo" +artifact = "animal-sniffer-annotations" +version = "1.19" +packaging = "jar" + +[[entries.dependencies]] +group = "io.perfmark" +artifact = "perfmark-api" +version = "0.23.0" +packaging = "jar" + +[[entries.dependencies]] +group = "io.grpc" +artifact = "grpc-core" +version = "1.45.0" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.guava" +artifact = "guava" +version = "31.0.1-jre" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.code.gson" +artifact = "gson" +version = "2.8.9" +packaging = "jar" + + +[entries.coord] +group = "io.grpc" +artifact = "grpc-netty-shaded" +version = "1.45.0" +packaging = "jar" +[entries.file_digest] +fingerprint = "c5a3263efb87828d6b328da05dbb2818a1fe3fb5e6900372ee4d833e88928e9f" +serialized_bytes_length = 9124851 +[[entries]] +file_name = "io.grpc_grpc-protobuf-lite_1.45.0.jar" +[[entries.directDependencies]] +group = "com.google.code.findbugs" +artifact = "jsr305" +version = "3.0.2" +packaging = "jar" + +[[entries.directDependencies]] +group = "com.google.guava" +artifact = "guava" +version = "31.0.1-jre" +packaging = "jar" + +[[entries.directDependencies]] +group = "io.grpc" +artifact = "grpc-api" +version = "1.45.0" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.code.findbugs" +artifact = "jsr305" +version = "3.0.2" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.errorprone" +artifact = "error_prone_annotations" +version = "2.10.0" +packaging = "jar" + +[[entries.dependencies]] +group = "io.grpc" +artifact = "grpc-api" +version = "1.45.0" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.guava" +artifact = "guava" +version = "31.0.1-jre" +packaging = "jar" + +[[entries.dependencies]] +group = "io.grpc" +artifact = "grpc-context" +version = "1.45.0" +packaging = "jar" + + +[entries.coord] +group = "io.grpc" +artifact = "grpc-protobuf-lite" +version = "1.45.0" +packaging = "jar" +[entries.file_digest] +fingerprint = "e3b9eb9122b3f035b89a13b7f48a1ba0806e816abe19cbf6728a7b9638687e3f" +serialized_bytes_length = 7570 +[[entries]] +file_name = "io.grpc_grpc-protobuf_1.45.0.jar" +[[entries.directDependencies]] +group = "com.google.code.findbugs" +artifact = "jsr305" +version = "3.0.2" +packaging = "jar" + +[[entries.directDependencies]] +group = "io.grpc" +artifact = "grpc-protobuf-lite" +version = "1.45.0" +packaging = "jar" + +[[entries.directDependencies]] +group = "io.grpc" +artifact = "grpc-api" +version = "1.45.0" +packaging = "jar" + +[[entries.directDependencies]] +group = "com.google.protobuf" +artifact = "protobuf-java" +version = "3.21.0" +packaging = "jar" + +[[entries.directDependencies]] +group = "com.google.api.grpc" +artifact = "proto-google-common-protos" +version = "2.0.1" +packaging = "jar" + +[[entries.directDependencies]] +group = "com.google.guava" +artifact = "guava" +version = "31.0.1-jre" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.code.findbugs" +artifact = "jsr305" +version = "3.0.2" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.errorprone" +artifact = "error_prone_annotations" +version = "2.10.0" +packaging = "jar" + +[[entries.dependencies]] +group = "io.grpc" +artifact = "grpc-protobuf-lite" +version = "1.45.0" +packaging = "jar" + +[[entries.dependencies]] +group = "io.grpc" +artifact = "grpc-api" +version = "1.45.0" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.protobuf" +artifact = "protobuf-java" +version = "3.21.0" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.api.grpc" +artifact = "proto-google-common-protos" +version = "2.0.1" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.guava" +artifact = "guava" +version = "31.0.1-jre" +packaging = "jar" + +[[entries.dependencies]] +group = "io.grpc" +artifact = "grpc-context" +version = "1.45.0" +packaging = "jar" + + +[entries.coord] +group = "io.grpc" +artifact = "grpc-protobuf" +version = "1.45.0" +packaging = "jar" +[entries.file_digest] +fingerprint = "6a8598808439045f3801d4a7df045dbcb7ca672e6131f866765d9f6b373889e1" +serialized_bytes_length = 5115 +[[entries]] +file_name = "io.grpc_grpc-services_1.45.0.jar" +[[entries.directDependencies]] +group = "com.google.errorprone" +artifact = "error_prone_annotations" +version = "2.10.0" +packaging = "jar" + +[[entries.directDependencies]] +group = "io.grpc" +artifact = "grpc-protobuf" +version = "1.45.0" +packaging = "jar" + +[[entries.directDependencies]] +group = "io.grpc" +artifact = "grpc-core" +version = "1.45.0" +packaging = "jar" + +[[entries.directDependencies]] +group = "com.google.protobuf" +artifact = "protobuf-java-util" +version = "3.19.2" +packaging = "jar" + +[[entries.directDependencies]] +group = "com.google.guava" +artifact = "guava" +version = "31.0.1-jre" +packaging = "jar" + +[[entries.directDependencies]] +group = "io.grpc" +artifact = "grpc-stub" +version = "1.45.0" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.j2objc" +artifact = "j2objc-annotations" +version = "1.3" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.code.findbugs" +artifact = "jsr305" +version = "3.0.2" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.errorprone" +artifact = "error_prone_annotations" +version = "2.10.0" +packaging = "jar" + +[[entries.dependencies]] +group = "io.grpc" +artifact = "grpc-protobuf" +version = "1.45.0" +packaging = "jar" + +[[entries.dependencies]] +group = "io.grpc" +artifact = "grpc-protobuf-lite" +version = "1.45.0" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.android" +artifact = "annotations" +version = "4.1.1.4" +packaging = "jar" + +[[entries.dependencies]] +group = "io.grpc" +artifact = "grpc-api" +version = "1.45.0" +packaging = "jar" + +[[entries.dependencies]] +group = "org.codehaus.mojo" +artifact = "animal-sniffer-annotations" +version = "1.19" +packaging = "jar" + +[[entries.dependencies]] +group = "io.perfmark" +artifact = "perfmark-api" +version = "0.23.0" +packaging = "jar" + +[[entries.dependencies]] +group = "io.grpc" +artifact = "grpc-core" +version = "1.45.0" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.protobuf" +artifact = "protobuf-java-util" +version = "3.19.2" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.protobuf" +artifact = "protobuf-java" +version = "3.21.0" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.api.grpc" +artifact = "proto-google-common-protos" +version = "2.0.1" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.guava" +artifact = "guava" +version = "31.0.1-jre" +packaging = "jar" + +[[entries.dependencies]] +group = "io.grpc" +artifact = "grpc-context" +version = "1.45.0" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.code.gson" +artifact = "gson" +version = "2.8.9" +packaging = "jar" + +[[entries.dependencies]] +group = "io.grpc" +artifact = "grpc-stub" +version = "1.45.0" +packaging = "jar" + + +[entries.coord] +group = "io.grpc" +artifact = "grpc-services" +version = "1.45.0" +packaging = "jar" +[entries.file_digest] +fingerprint = "abfb7150ffb818a6453c2c8f51f94d0fce3bebf2a841ccf13ff14678c00eae4f" +serialized_bytes_length = 835454 +[[entries]] +file_name = "io.grpc_grpc-stub_1.45.0.jar" +[[entries.directDependencies]] +group = "com.google.errorprone" +artifact = "error_prone_annotations" +version = "2.10.0" +packaging = "jar" + +[[entries.directDependencies]] +group = "com.google.guava" +artifact = "guava" +version = "31.0.1-jre" +packaging = "jar" + +[[entries.directDependencies]] +group = "io.grpc" +artifact = "grpc-api" +version = "1.45.0" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.code.findbugs" +artifact = "jsr305" +version = "3.0.2" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.errorprone" +artifact = "error_prone_annotations" +version = "2.10.0" +packaging = "jar" + +[[entries.dependencies]] +group = "io.grpc" +artifact = "grpc-api" +version = "1.45.0" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.guava" +artifact = "guava" +version = "31.0.1-jre" +packaging = "jar" + +[[entries.dependencies]] +group = "io.grpc" +artifact = "grpc-context" +version = "1.45.0" +packaging = "jar" + + +[entries.coord] +group = "io.grpc" +artifact = "grpc-stub" +version = "1.45.0" +packaging = "jar" +[entries.file_digest] +fingerprint = "21248f27054f633148a8febfe25722bad5ed8cecd259f39813cb84236bda414a" +serialized_bytes_length = 50304 +[[entries]] +file_name = "io.grpc_grpc-testing_1.45.0.jar" +[[entries.directDependencies]] +group = "io.grpc" +artifact = "grpc-context" +version = "1.45.0" +packaging = "jar" + +[[entries.directDependencies]] +group = "io.grpc" +artifact = "grpc-core" +version = "1.45.0" +packaging = "jar" + +[[entries.directDependencies]] +group = "io.grpc" +artifact = "grpc-stub" +version = "1.45.0" +packaging = "jar" + +[[entries.directDependencies]] +group = "junit" +artifact = "junit" +version = "4.12" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.code.findbugs" +artifact = "jsr305" +version = "3.0.2" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.errorprone" +artifact = "error_prone_annotations" +version = "2.10.0" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.android" +artifact = "annotations" +version = "4.1.1.4" +packaging = "jar" + +[[entries.dependencies]] +group = "io.grpc" +artifact = "grpc-api" +version = "1.45.0" +packaging = "jar" + +[[entries.dependencies]] +group = "org.codehaus.mojo" +artifact = "animal-sniffer-annotations" +version = "1.19" +packaging = "jar" + +[[entries.dependencies]] +group = "junit" +artifact = "junit" +version = "4.12" +packaging = "jar" + +[[entries.dependencies]] +group = "io.perfmark" +artifact = "perfmark-api" +version = "0.23.0" +packaging = "jar" + +[[entries.dependencies]] +group = "org.hamcrest" +artifact = "hamcrest-core" +version = "1.3" +packaging = "jar" + +[[entries.dependencies]] +group = "io.grpc" +artifact = "grpc-core" +version = "1.45.0" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.guava" +artifact = "guava" +version = "31.0.1-jre" +packaging = "jar" + +[[entries.dependencies]] +group = "io.grpc" +artifact = "grpc-context" +version = "1.45.0" +packaging = "jar" + +[[entries.dependencies]] +group = "com.google.code.gson" +artifact = "gson" +version = "2.8.9" +packaging = "jar" + +[[entries.dependencies]] +group = "io.grpc" +artifact = "grpc-stub" +version = "1.45.0" +packaging = "jar" + + +[entries.coord] +group = "io.grpc" +artifact = "grpc-testing" +version = "1.45.0" +packaging = "jar" +[entries.file_digest] +fingerprint = "5f5eed64282b81f789149e13098fc888aed1d6791ffbb3038a13b8fbf6dad061" +serialized_bytes_length = 70663 +[[entries]] +directDependencies = [] +dependencies = [] +file_name = "io.perfmark_perfmark-api_0.23.0.jar" + +[entries.coord] +group = "io.perfmark" +artifact = "perfmark-api" +version = "0.23.0" +packaging = "jar" +[entries.file_digest] +fingerprint = "c705b5c10c18ff3032b9e81742bc2f6b0e5607f6a6dfc0c8ad0cff75d4913042" +serialized_bytes_length = 6385 +[[entries]] +file_name = "junit_junit_4.12.jar" +[[entries.directDependencies]] +group = "org.hamcrest" +artifact = "hamcrest-core" +version = "1.3" +packaging = "jar" + +[[entries.dependencies]] +group = "org.hamcrest" +artifact = "hamcrest-core" +version = "1.3" +packaging = "jar" + + +[entries.coord] +group = "junit" +artifact = "junit" +version = "4.12" +packaging = "jar" +[entries.file_digest] +fingerprint = "59721f0805e223d84b90677887d9ff567dc534d7c502ca903c0c2b17f05c116a" +serialized_bytes_length = 314932 +[[entries]] +directDependencies = [] +dependencies = [] +file_name = "org.checkerframework_checker-qual_3.12.0.jar" + +[entries.coord] +group = "org.checkerframework" +artifact = "checker-qual" +version = "3.12.0" +packaging = "jar" +[entries.file_digest] +fingerprint = "ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb" +serialized_bytes_length = 208835 +[[entries]] +directDependencies = [] +dependencies = [] +file_name = "org.codehaus.mojo_animal-sniffer-annotations_1.19.jar" + +[entries.coord] +group = "org.codehaus.mojo" +artifact = "animal-sniffer-annotations" +version = "1.19" +packaging = "jar" +[entries.file_digest] +fingerprint = "e67ec27ceeaf13ab5d54cf5fdbcc544c41b4db8d02d9f006678cca2c7c13ee9d" +serialized_bytes_length = 3473 +[[entries]] +directDependencies = [] +dependencies = [] +file_name = "org.hamcrest_hamcrest-core_1.3.jar" + +[entries.coord] +group = "org.hamcrest" +artifact = "hamcrest-core" +version = "1.3" +packaging = "jar" +[entries.file_digest] +fingerprint = "66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9" +serialized_bytes_length = 45024 [[entries]] file_name = "org.scala-lang.modules_scala-xml_2.13_1.3.0.jar" [[entries.directDependencies]] diff --git a/3rdparty/jvm/io/grpc/BUILD b/3rdparty/jvm/io/grpc/BUILD new file mode 100644 index 0000000..ee8e72b --- /dev/null +++ b/3rdparty/jvm/io/grpc/BUILD @@ -0,0 +1,34 @@ +jvm_artifact( + name="protobuf", + group="io.grpc", + artifact="grpc-protobuf", + version="1.45.0", +) + +jvm_artifact( + name="stub", + group="io.grpc", + artifact="grpc-stub", + version="1.45.0", +) + +jvm_artifact( + name="services", + group="io.grpc", + artifact="grpc-services", + version="1.45.0", +) + +jvm_artifact( + name="netty-shaded", + group="io.grpc", + artifact="grpc-netty-shaded", + version="1.45.0", +) + +jvm_artifact( + name="testing", + group="io.grpc", + artifact="grpc-testing", + version="1.45.0", +) diff --git a/pants.toml b/pants.toml index 509c709..a358d0e 100644 --- a/pants.toml +++ b/pants.toml @@ -14,6 +14,7 @@ backend_packages = [ "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.scala", "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.experimental.codegen.protobuf.java", ] [source] diff --git a/src/jvm/org/pantsbuild/example/lib/BUILD b/src/jvm/org/pantsbuild/example/lib/BUILD index 01ec279..996acbc 100644 --- a/src/jvm/org/pantsbuild/example/lib/BUILD +++ b/src/jvm/org/pantsbuild/example/lib/BUILD @@ -3,5 +3,10 @@ java_sources( # Resource dependencies cannot be inferred, so we must explicitly declare that we # depend on them. "src/resources/org/pantsbuild/example/lib", + # TODO: Protobuf dependencies are not currently inferred. + # see https://github.com/pantsbuild/pants/issues/14960 + "src/jvm/org/pantsbuild/example/proto", + "3rdparty/jvm/com/google/protobuf", + "3rdparty/jvm/io/grpc:stub", ], ) diff --git a/src/jvm/org/pantsbuild/example/lib/DatabricksJobProxyService.java b/src/jvm/org/pantsbuild/example/lib/DatabricksJobProxyService.java new file mode 100644 index 0000000..58ca3ac --- /dev/null +++ b/src/jvm/org/pantsbuild/example/lib/DatabricksJobProxyService.java @@ -0,0 +1,65 @@ +package org.pantsbuild.example.lib; + +import io.grpc.stub.StreamObserver; +import javax.annotation.Nonnull; +import org.pantsbuild.example.*; + +public final class DatabricksJobProxyService extends DatabricksJobProxyServiceGrpc.DatabricksJobProxyServiceImplBase { + + + /** + * Submits pynest job request. + */ + @Override + public void submitPynestJob(SubmitPynestJobRequest request, StreamObserver responseObserver) { + throw new UnsupportedOperationException("submitPynestJob"); + } + + /** + * Submits a raw job request + */ + @Override + public void submitRawJob(SubmitRawJobRequest request, StreamObserver responseObserver) { + throw new UnsupportedOperationException("submitRawJob"); + } + + /** + * Gets a job status. + */ + @Override + public void getJobState(GetJobStateRequest request, StreamObserver responseObserver) { + throw new UnsupportedOperationException("getJobState"); + } + + /** + * Cancels a run. + */ + @Override + public void cancelRun(CancelRunRequest request, StreamObserver responseObserver) { + throw new UnsupportedOperationException("cancelRun"); + } + + /** + * Queries a job. + */ + @Override + public void queryJob(QueryJobRequest request, StreamObserver responseObserver) { + throw new UnsupportedOperationException("queryJob"); + } + + /** + * Deletes a job. + */ + @Override + public void deleteJob(DeleteJobRequest request, StreamObserver responseObserver) { + throw new UnsupportedOperationException("deleteJob"); + } + + /** + * List all active job runs. + */ + @Override + public void listAllActiveJobRuns(ListAllActiveJobRunsRequest request, StreamObserver responseObserver) { + throw new UnsupportedOperationException("listAllActiveJobRuns"); + } +} diff --git a/src/jvm/org/pantsbuild/example/lib/ExampleLib.java b/src/jvm/org/pantsbuild/example/lib/ExampleLib.java index 1aba7d3..e9ca919 100644 --- a/src/jvm/org/pantsbuild/example/lib/ExampleLib.java +++ b/src/jvm/org/pantsbuild/example/lib/ExampleLib.java @@ -4,12 +4,22 @@ import com.google.common.base.Joiner; import com.google.common.io.Resources; import java.io.IOException; +import javax.annotation.Nonnull; +import org.pantsbuild.example.SubmitPynestJobRequest; public class ExampleLib { public static String hello() throws IOException { + SubmitPynestJobRequest.Builder builder = SubmitPynestJobRequest.newBuilder(); + builder.setConfigScope("TestScope"); + ExampleLib.printScope(builder.build()); + String world = Resources.toString(Resources.getResource(ExampleLib.class, "world.txt"), Charsets.UTF_8) .strip(); return Joiner.on(" ").join("Hello", world); } + + private static void printScope(@Nonnull final SubmitPynestJobRequest request) { + System.out.println(request.getConfigScope()); + } } diff --git a/src/jvm/org/pantsbuild/example/proto/BUILD b/src/jvm/org/pantsbuild/example/proto/BUILD new file mode 100644 index 0000000..a8a0829 --- /dev/null +++ b/src/jvm/org/pantsbuild/example/proto/BUILD @@ -0,0 +1,8 @@ +protobuf_sources( + grpc=True, + dependencies=[ + # TODO: The protobuf runtime is not automatically injected as a dependency of protobuf targets. + # see https://github.com/pantsbuild/pants/pull/15006. + "3rdparty/jvm/com/google/protobuf", + ], +) \ No newline at end of file diff --git a/src/jvm/org/pantsbuild/example/proto/example.proto b/src/jvm/org/pantsbuild/example/proto/example.proto new file mode 100644 index 0000000..45b6fd5 --- /dev/null +++ b/src/jvm/org/pantsbuild/example/proto/example.proto @@ -0,0 +1,250 @@ +syntax = "proto3"; + +option java_multiple_files = true; +option java_package = "org.pantsbuild.example"; +option java_outer_classname = "DatabricksAPIProto"; + +package org.pantsbuild.example; + + +message SubmitPynestJobRequest { + // To deduplicate retried job submits. This will be a UUID token generated by the requester + string idempotency_token = 1; + + // The git SHA commit id of the job you want to run + string git_sha = 2; + + // The preregisterd job name to run + string job_name = 3; + + // The service role to run the job with: e.g. etl, secure_etl, etc. + // If the caller does not have access to the role the request will be rejected + string requested_role = 4; + + // A list of arguments to pass to the job + repeated string task_args = 5; + + // Config service scope + string config_scope = 6; + + // The jar version for a data/jms-package-manager project that you want to run + string jmspm_jar_version = 100; +} + +message SubmitRawJobRequest { + // To deduplicate retried job submits. This will be a UUID token generated by the requester + string idempotency_token = 1; + + // The service role to run the job with: e.g. etl, secure_etl, etc. + // If the caller does not have access to the role the request will be rejected + string requested_role = 2; + + // Dependent libraries (jar, wheel) for the job + repeated JobLibrary libraries = 3; + + // Spark driver application file (jar, wheel) + string application_file = 4; + + // main class name for the driver application + string main_class_name = 5; + + // Arguments to the Spark application + repeated string application_args = 6; + + // Config service scope name + string config_scope = 7; + + // Spark config + map spark_conf = 10; + + // Spark environments + map spark_env = 11; + + // Python files + repeated string py_files = 12; + + // files + repeated string files = 13; + + // zip files that contains the Python dependencies + repeated string archives = 14; + + // Existing cluster id + string existing_cluster_id = 20; + + // New job cluster request + JobClusterRequest new_cluster = 21; + + // maximum retries + int32 max_retries = 30; + + // Email to notify upon job failures + EmailNotifications email_notifications = 31; + + // Extra developer data for Job Proxy to interact with Databricks server. It is only used by Job Proxy developers. + // For example, when we want to send some extra data together with job request which Job Proxy sends to + // Databricks, we could put into this field. Normal Spark user should never use this field. + string developer_metadata = 100; +} + +message JobLibrary { + string jar = 1; + string whl = 2; +} + +message JobClusterRequest { + int32 min_workers = 1; + int32 max_workers = 2; + string node_type_id = 3; + string driver_node_type_id = 4; + string spark_version = 5; + string instance_pool_id = 6; + string driver_instance_pool_id = 7; + AwsAttributes aws_attributes = 100; +} + +message EmailNotifications { + repeated string on_start = 1; + repeated string on_success = 2; + repeated string on_failure = 3; +} + +message AwsAttributes { + int32 first_on_demand = 1; + string availability = 2; + string zone_id = 3; +} + +// SubmitJobResponse contains info to retrive a submitted job +message SubmitJobResponse { + // This name is generated by the proxy. + string run_name = 1; + // This name is generated by databricks, and is the the lookup key for the run + string run_id = 2; + // This name is generated by databricks, and is the the lookup key for the job + string job_id = 3; +} + +message GetJobStateRequest { + // The run id returned by SubmitJob + string run_id = 1; +} + +message GetJobStateResponse { + // state of the cluster + string life_cycle_state = 1; + // result of the job + string result_state = 2; + // state message or error message + string state_message = 3; + // user cancelled or timed out + bool user_cancelled_or_timedout = 4; +} + +message CancelRunRequest { + string run_id = 1; +} + +message CancelRunResponse { +} + +message QueryJobRequest { + string service_name = 1; + string unique_app_name = 2; + // if job_name is provided, will query job by name and ignore service_name and unique_app_name + string job_name = 3; + int32 max_result = 100; +} + +message QueryJobResponse { + repeated JobSummary jobs = 1; +} + +message JobSummary { + string job_id = 1; + repeated JobRunSummary active_runs = 2; +} + +message JobRunSummary { + string run_id = 1; + string state = 2; + string message = 3; +} + +message DeleteJobRequest { + string job_id = 1; +} + +message DeleteJobResponse { +} + +message ListAllActiveJobRunsRequest { + string run_name = 1; +} + +message JobStateSummary { + string life_cycle_state = 1; + string state_message = 2; + bool user_cancelled_or_timedout = 3; +} + +message ClusterSpecSummary { + NewClusterSummary new_cluster = 1; + repeated JobLibrary libraries = 2; +} + +message NewClusterSummary { + string driver_node_type_id = 1; + string node_type_id = 2; +} + +message ClusterInstanceSummary { + string cluster_id = 1; +} + +message TaskSummary { + SparkJarTaskSummary spark_jar_task = 1; + SparkSubmitTaskSummary spark_submit_task = 2; +} + +message SparkJarTaskSummary { + repeated string parameters = 1; +} + +message SparkSubmitTaskSummary { + repeated string parameters = 1; +} + +message AllJobsRunSummary { + string job_id = 1; + string run_id = 2; + string run_name = 3; + string start_time = 4; + string creator_user_name = 5; + TaskSummary task = 6; + ClusterSpecSummary cluster_spec = 7; + ClusterInstanceSummary cluster_instance = 8; + JobStateSummary state = 9; +} + +message ListAllActiveJobRunsResponse { + repeated AllJobsRunSummary active_runs = 1; +} + +// The DatabricksJobProxyService service definition +service DatabricksJobProxyService { + // Submit a job from pynest + rpc SubmitPynestJob (SubmitPynestJobRequest) returns (SubmitJobResponse); + // Submit a raw job with application file url and related Spark configuration/arguments + rpc SubmitRawJob (SubmitRawJobRequest) returns (SubmitJobResponse); + // Get job status + rpc GetJobState (GetJobStateRequest) returns (GetJobStateResponse); + // Cancel a job run + rpc CancelRun (CancelRunRequest) returns (CancelRunResponse); + // Query a job + rpc QueryJob (QueryJobRequest) returns (QueryJobResponse); + // Delete a job + rpc DeleteJob (DeleteJobRequest) returns (DeleteJobResponse); + // List all active job runs + rpc ListAllActiveJobRuns (ListAllActiveJobRunsRequest) returns (ListAllActiveJobRunsResponse); +}