update grpc and scalapb (#3693)

* with the unapply fixes

* a bunch of pattern match fixes

* fixed most of the failures

* it runs

* fix a couple of tests

* all tests build

* got some tests passing

* all tests passing

* dead code

* more comments

* another

* dead code

* a couple unnecessary ones

* cleanup

* remove guava dep
This commit is contained in:
2024-09-14 08:35:16 -07:00
committed by GitHub
parent 4f59ff11ad
commit c0c0f96e25
87 changed files with 2119 additions and 563 deletions
+20 -1
View File
@@ -45,10 +45,29 @@ maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
maven.install(
artifacts = [
"org.scala-lang:scala-library:%s" % scala_version,
"io.netty:netty-tcnative-boringssl-static:2.0.46.Final",
"io.grpc:grpc-api:1.66.0",
"io.grpc:grpc-context:1.66.0",
"io.grpc:grpc-core:1.66.0",
"io.grpc:grpc-protobuf:1.66.0",
"io.grpc:grpc-services:1.66.0",
"io.grpc:grpc-stub:1.66.0",
"io.grpc:grpc-netty:1.66.0",
"io.netty:netty-codec:4.1.32.Final",
"io.netty:netty-codec-http:4.1.32.Final",
"io.netty:netty-codec-socks:4.1.32.Final",
"io.netty:netty-codec-http2:4.1.32.Final",
"io.netty:netty-handler:4.1.32.Final",
"io.netty:netty-buffer:4.1.32.Final",
"io.netty:netty-transport:4.1.32.Final",
"io.netty:netty-resolver:4.1.32.Final",
"io.netty:netty-common:4.1.32.Final",
"io.netty:netty-handler-proxy:4.1.32.Final",
"com.thesamet.scalapb:lenses_2.13:0.11.17",
"com.thesamet.scalapb:scalapb-json4s_2.13:0.12.1",
"com.thesamet.scalapb:scalapb-runtime_2.13:0.11.17",
"com.thesamet.scalapb:scalapb-runtime-grpc_2.13:0.11.17",
"com.thesamet.scalapb:compilerplugin_2.13:0.11.17",
"com.thesamet.scalapb:protoc-bridge_2.13:0.9.7",
"org.json4s:json4s-ast_2.13:4.0.6",
"org.json4s:json4s-core_2.13:4.0.6",
"org.json4s:json4s-native_2.13:4.0.6",
+444 -79
View File
@@ -1,6 +1,6 @@
{
"lockFileVersion": 6,
"moduleFileHash": "c66c2f8efd6442f7e97bc14401251113754e099c3e19adad16adb281d7b71b19",
"moduleFileHash": "5a424980cf0c511c4b026921449550ff6270c321a77f9eae00ca4ee0a0a896cd",
"flags": {
"cmdRegistries": [
"https://bcr.bazel.build/"
@@ -81,10 +81,29 @@
"attributeValues": {
"artifacts": [
"org.scala-lang:scala-library:2.13.12",
"io.netty:netty-tcnative-boringssl-static:2.0.46.Final",
"io.grpc:grpc-api:1.66.0",
"io.grpc:grpc-context:1.66.0",
"io.grpc:grpc-core:1.66.0",
"io.grpc:grpc-protobuf:1.66.0",
"io.grpc:grpc-services:1.66.0",
"io.grpc:grpc-stub:1.66.0",
"io.grpc:grpc-netty:1.66.0",
"io.netty:netty-codec:4.1.32.Final",
"io.netty:netty-codec-http:4.1.32.Final",
"io.netty:netty-codec-socks:4.1.32.Final",
"io.netty:netty-codec-http2:4.1.32.Final",
"io.netty:netty-handler:4.1.32.Final",
"io.netty:netty-buffer:4.1.32.Final",
"io.netty:netty-transport:4.1.32.Final",
"io.netty:netty-resolver:4.1.32.Final",
"io.netty:netty-common:4.1.32.Final",
"io.netty:netty-handler-proxy:4.1.32.Final",
"com.thesamet.scalapb:lenses_2.13:0.11.17",
"com.thesamet.scalapb:scalapb-json4s_2.13:0.12.1",
"com.thesamet.scalapb:scalapb-runtime_2.13:0.11.17",
"com.thesamet.scalapb:scalapb-runtime-grpc_2.13:0.11.17",
"com.thesamet.scalapb:compilerplugin_2.13:0.11.17",
"com.thesamet.scalapb:protoc-bridge_2.13:0.9.7",
"org.json4s:json4s-ast_2.13:4.0.6",
"org.json4s:json4s-core_2.13:4.0.6",
"org.json4s:json4s-native_2.13:4.0.6",
@@ -2416,7 +2435,7 @@
"bzlTransitiveDigest": "WLH6tV/jGiZ73lPBSYWRhoilLeqSLs6vQqjK4ph6NG0=",
"recordedFileInputs": {
"@@rules_jvm_external~//rules_jvm_external_deps_install.json": "cafb5d2d8119391eb2b322ce3840d3352ea82d496bdb8cbd4b6779ec4d044dda",
"@@//maven_install.json": "c9a03bd64f8f79aca9153db2d096e5d7e2e17729e887483accd36129daee5f5e"
"@@//maven_install.json": "f57c8e038ffcdaa64062f7a698b883fff9fdf37701d8729a57606c14bd627d7d"
},
"recordedDirentsInputs": {},
"envVariables": {},
@@ -2443,6 +2462,28 @@
"downloaded_file_path": "v1/com/google/guava/guava/32.1.2-jre/guava-32.1.2-jre.jar"
}
},
"com_google_guava_failureaccess_1_0_2": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "8a8f81cf9b359e3f6dfa691a1e776985c061ef2f223c9b2c80753e1b458e8064",
"urls": [
"https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.2/failureaccess-1.0.2.jar"
],
"downloaded_file_path": "v1/com/google/guava/failureaccess/1.0.2/failureaccess-1.0.2.jar"
}
},
"com_google_j2objc_j2objc_annotations_3_0_0": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "88241573467ddca44ffd4d74aa04c2bbfd11bf7c17e0c342c94c9de7a70a7c64",
"urls": [
"https://repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/3.0.0/j2objc-annotations-3.0.0.jar"
],
"downloaded_file_path": "v1/com/google/j2objc/j2objc-annotations/3.0.0/j2objc-annotations-3.0.0.jar"
}
},
"com_google_guava_failureaccess_1_0_1": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
@@ -2476,6 +2517,28 @@
"downloaded_file_path": "v1/io/perfmark/perfmark-api/0.26.0/perfmark-api-0.26.0.jar"
}
},
"io_grpc_grpc_core_1_66_0": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "136b7a7c411a45089dc2b26f0f032f4ae466d9b5d3bfe3a513421d6f35d2c2bd",
"urls": [
"https://repo1.maven.org/maven2/io/grpc/grpc-core/1.66.0/grpc-core-1.66.0.jar"
],
"downloaded_file_path": "v1/io/grpc/grpc-core/1.66.0/grpc-core-1.66.0.jar"
}
},
"io_netty_netty_codec_http2_4_1_100_Final": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "23b4a74350f4cf8d41b93fb93d52b5050667d8d53fffc385672c86eab83b8749",
"urls": [
"https://repo1.maven.org/maven2/io/netty/netty-codec-http2/4.1.100.Final/netty-codec-http2-4.1.100.Final.jar"
],
"downloaded_file_path": "v1/io/netty/netty-codec-http2/4.1.100.Final/netty-codec-http2-4.1.100.Final.jar"
}
},
"com_amazonaws_aws_java_sdk_kms_1_12_205": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
@@ -2487,6 +2550,17 @@
"downloaded_file_path": "v1/com/amazonaws/aws-java-sdk-kms/1.12.205/aws-java-sdk-kms-1.12.205.jar"
}
},
"io_grpc_grpc_util_1_66_0": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "c41b69a730bbc8605351a9e1a0dd7bd9283333c48c00234ba30b4d796b38bbdd",
"urls": [
"https://repo1.maven.org/maven2/io/grpc/grpc-util/1.66.0/grpc-util-1.66.0.jar"
],
"downloaded_file_path": "v1/io/grpc/grpc-util/1.66.0/grpc-util-1.66.0.jar"
}
},
"software_amazon_awssdk_netty_nio_client_2_20_128": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
@@ -2542,6 +2616,17 @@
"downloaded_file_path": "v1/software/amazon/awssdk/endpoints-spi/2.20.128/endpoints-spi-2.20.128.jar"
}
},
"dev_dirs_directories_26": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "6d18fe25aa30b7e08b908cd21151d8f96e22965c640acd7751add9bbfe6137d4",
"urls": [
"https://repo1.maven.org/maven2/dev/dirs/directories/26/directories-26.jar"
],
"downloaded_file_path": "v1/dev/dirs/directories/26/directories-26.jar"
}
},
"com_google_api_gax_grpc_2_32_0": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
@@ -2597,6 +2682,17 @@
"downloaded_file_path": "v1/org/reactivestreams/reactive-streams/1.0.3/reactive-streams-1.0.3.jar"
}
},
"com_google_protobuf_protobuf_java_3_25_3": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "e90d8ddb963b20a972a6a59b5093ade2b07cbe546cab3279aaf4383260385f58",
"urls": [
"https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.25.3/protobuf-java-3.25.3.jar"
],
"downloaded_file_path": "v1/com/google/protobuf/protobuf-java/3.25.3/protobuf-java-3.25.3.jar"
}
},
"org_json4s_json4s_core_2_13_4_0_6": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
@@ -2619,6 +2715,17 @@
"downloaded_file_path": "v1/org/apache/maven/maven-artifact/3.9.4/maven-artifact-3.9.4.jar"
}
},
"com_thesamet_scalapb_compilerplugin_2_13_0_11_17": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "d36b84059289c7aa2f2bf08eeab7e85084fcf72bf58b337edf167c73218880d7",
"urls": [
"https://repo1.maven.org/maven2/com/thesamet/scalapb/compilerplugin_2.13/0.11.17/compilerplugin_2.13-0.11.17.jar"
],
"downloaded_file_path": "v1/com/thesamet/scalapb/compilerplugin_2.13/0.11.17/compilerplugin_2.13-0.11.17.jar"
}
},
"software_amazon_awssdk_metrics_spi_2_20_128": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
@@ -2652,6 +2759,17 @@
"downloaded_file_path": "v1/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar"
}
},
"io_netty_netty_transport_4_1_100_Final": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "b1deeceedab3734cdb959c55f4be5ab4a667a8aed59121ff93763f49470f5470",
"urls": [
"https://repo1.maven.org/maven2/io/netty/netty-transport/4.1.100.Final/netty-transport-4.1.100.Final.jar"
],
"downloaded_file_path": "v1/io/netty/netty-transport/4.1.100.Final/netty-transport-4.1.100.Final.jar"
}
},
"io_netty_netty_codec_http_4_1_94_Final": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
@@ -2685,6 +2803,17 @@
"downloaded_file_path": "v1/javax/activation/javax.activation-api/1.2.0/javax.activation-api-1.2.0.jar"
}
},
"org_codehaus_mojo_animal_sniffer_annotations_1_24": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "c720e6e5bcbe6b2f48ded75a47bccdb763eede79d14330102e0d352e3d89ed92",
"urls": [
"https://repo1.maven.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.24/animal-sniffer-annotations-1.24.jar"
],
"downloaded_file_path": "v1/org/codehaus/mojo/animal-sniffer-annotations/1.24/animal-sniffer-annotations-1.24.jar"
}
},
"org_scala_lang_modules_scala_collection_compat_2_13_2_12_0": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
@@ -2718,17 +2847,6 @@
"downloaded_file_path": "v1/com/fasterxml/jackson/dataformat/jackson-dataformat-cbor/2.12.6/jackson-dataformat-cbor-2.12.6.jar"
}
},
"com_google_guava_guava_31_1_jre": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "a42edc9cab792e39fe39bb94f3fca655ed157ff87a8af78e1d6ba5b07c4a00ab",
"urls": [
"https://repo1.maven.org/maven2/com/google/guava/guava/31.1-jre/guava-31.1-jre.jar"
],
"downloaded_file_path": "v1/com/google/guava/guava/31.1-jre/guava-31.1-jre.jar"
}
},
"com_fasterxml_jackson_core_jackson_core_2_15_2": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
@@ -2784,6 +2902,28 @@
"downloaded_file_path": "v1/com/google/http-client/google-http-client-gson/1.43.3/google-http-client-gson-1.43.3.jar"
}
},
"com_thesamet_scalapb_protoc_gen_2_13_0_9_7": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "f9943ce49261aad80a063c2ce55b01fb62cfd9487ffa2d36a2eade467bc16b23",
"urls": [
"https://repo1.maven.org/maven2/com/thesamet/scalapb/protoc-gen_2.13/0.9.7/protoc-gen_2.13-0.9.7.jar"
],
"downloaded_file_path": "v1/com/thesamet/scalapb/protoc-gen_2.13/0.9.7/protoc-gen_2.13-0.9.7.jar"
}
},
"io_grpc_grpc_stub_1_66_0": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "39a32906304c7f442dfa56dfc6ea88887287fb398621d549e15dfdeaffae194a",
"urls": [
"https://repo1.maven.org/maven2/io/grpc/grpc-stub/1.66.0/grpc-stub-1.66.0.jar"
],
"downloaded_file_path": "v1/io/grpc/grpc-stub/1.66.0/grpc-stub-1.66.0.jar"
}
},
"io_grpc_grpc_protobuf_1_56_1": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
@@ -2806,6 +2946,17 @@
"downloaded_file_path": "v1/org/apache/httpcomponents/httpcore/4.4.13/httpcore-4.4.13.jar"
}
},
"io_netty_netty_handler_4_1_100_Final": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "0e10e584c2e7fdf7f4804e14760ed987003f1b62ab982f62eaf13a9892793d3a",
"urls": [
"https://repo1.maven.org/maven2/io/netty/netty-handler/4.1.100.Final/netty-handler-4.1.100.Final.jar"
],
"downloaded_file_path": "v1/io/netty/netty-handler/4.1.100.Final/netty-handler-4.1.100.Final.jar"
}
},
"io_grpc_grpc_protobuf_lite_1_56_1": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
@@ -2839,17 +2990,6 @@
"downloaded_file_path": "v1/com/google/api/grpc/gapic-google-cloud-storage-v2/2.26.1-alpha/gapic-google-cloud-storage-v2-2.26.1-alpha.jar"
}
},
"org_checkerframework_checker_qual_3_12_0": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb",
"urls": [
"https://repo1.maven.org/maven2/org/checkerframework/checker-qual/3.12.0/checker-qual-3.12.0.jar"
],
"downloaded_file_path": "v1/org/checkerframework/checker-qual/3.12.0/checker-qual-3.12.0.jar"
}
},
"com_amazonaws_aws_java_sdk_core_1_12_205": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
@@ -2945,6 +3085,17 @@
"downloaded_file_path": "v1/io/grpc/grpc-netty-shaded/1.56.1/grpc-netty-shaded-1.56.1.jar"
}
},
"io_netty_netty_codec_4_1_100_Final": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "180a01ed67af399602e24ff1c32864e7f57f57c4a0fa5e9ab3fe9b0e5e9cf051",
"urls": [
"https://repo1.maven.org/maven2/io/netty/netty-codec/4.1.100.Final/netty-codec-4.1.100.Final.jar"
],
"downloaded_file_path": "v1/io/netty/netty-codec/4.1.100.Final/netty-codec-4.1.100.Final.jar"
}
},
"com_fasterxml_jackson_core_jackson_databind_2_12_7": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
@@ -3047,10 +3198,29 @@
],
"artifacts": [
"{ \"group\": \"org.scala-lang\", \"artifact\": \"scala-library\", \"version\": \"2.13.12\" }",
"{ \"group\": \"io.netty\", \"artifact\": \"netty-tcnative-boringssl-static\", \"version\": \"2.0.46.Final\" }",
"{ \"group\": \"io.grpc\", \"artifact\": \"grpc-api\", \"version\": \"1.66.0\" }",
"{ \"group\": \"io.grpc\", \"artifact\": \"grpc-context\", \"version\": \"1.66.0\" }",
"{ \"group\": \"io.grpc\", \"artifact\": \"grpc-core\", \"version\": \"1.66.0\" }",
"{ \"group\": \"io.grpc\", \"artifact\": \"grpc-protobuf\", \"version\": \"1.66.0\" }",
"{ \"group\": \"io.grpc\", \"artifact\": \"grpc-services\", \"version\": \"1.66.0\" }",
"{ \"group\": \"io.grpc\", \"artifact\": \"grpc-stub\", \"version\": \"1.66.0\" }",
"{ \"group\": \"io.grpc\", \"artifact\": \"grpc-netty\", \"version\": \"1.66.0\" }",
"{ \"group\": \"io.netty\", \"artifact\": \"netty-codec\", \"version\": \"4.1.32.Final\" }",
"{ \"group\": \"io.netty\", \"artifact\": \"netty-codec-http\", \"version\": \"4.1.32.Final\" }",
"{ \"group\": \"io.netty\", \"artifact\": \"netty-codec-socks\", \"version\": \"4.1.32.Final\" }",
"{ \"group\": \"io.netty\", \"artifact\": \"netty-codec-http2\", \"version\": \"4.1.32.Final\" }",
"{ \"group\": \"io.netty\", \"artifact\": \"netty-handler\", \"version\": \"4.1.32.Final\" }",
"{ \"group\": \"io.netty\", \"artifact\": \"netty-buffer\", \"version\": \"4.1.32.Final\" }",
"{ \"group\": \"io.netty\", \"artifact\": \"netty-transport\", \"version\": \"4.1.32.Final\" }",
"{ \"group\": \"io.netty\", \"artifact\": \"netty-resolver\", \"version\": \"4.1.32.Final\" }",
"{ \"group\": \"io.netty\", \"artifact\": \"netty-common\", \"version\": \"4.1.32.Final\" }",
"{ \"group\": \"io.netty\", \"artifact\": \"netty-handler-proxy\", \"version\": \"4.1.32.Final\" }",
"{ \"group\": \"com.thesamet.scalapb\", \"artifact\": \"lenses_2.13\", \"version\": \"0.11.17\" }",
"{ \"group\": \"com.thesamet.scalapb\", \"artifact\": \"scalapb-json4s_2.13\", \"version\": \"0.12.1\" }",
"{ \"group\": \"com.thesamet.scalapb\", \"artifact\": \"scalapb-runtime_2.13\", \"version\": \"0.11.17\" }",
"{ \"group\": \"com.thesamet.scalapb\", \"artifact\": \"scalapb-runtime-grpc_2.13\", \"version\": \"0.11.17\" }",
"{ \"group\": \"com.thesamet.scalapb\", \"artifact\": \"compilerplugin_2.13\", \"version\": \"0.11.17\" }",
"{ \"group\": \"com.thesamet.scalapb\", \"artifact\": \"protoc-bridge_2.13\", \"version\": \"0.9.7\" }",
"{ \"group\": \"org.json4s\", \"artifact\": \"json4s-ast_2.13\", \"version\": \"4.0.6\" }",
"{ \"group\": \"org.json4s\", \"artifact\": \"json4s-core_2.13\", \"version\": \"4.0.6\" }",
"{ \"group\": \"org.json4s\", \"artifact\": \"json4s-native_2.13\", \"version\": \"4.0.6\" }",
@@ -3110,17 +3280,6 @@
"downloaded_file_path": "v1/org/mockito/mockito-core/4.3.1/mockito-core-4.3.1.jar"
}
},
"com_google_protobuf_protobuf_java_3_19_6": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "6a9a2dff91dcf71f85be71ae971f6164b5a631dcd34bff08f0618535ca44ad02",
"urls": [
"https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.19.6/protobuf-java-3.19.6.jar"
],
"downloaded_file_path": "v1/com/google/protobuf/protobuf-java/3.19.6/protobuf-java-3.19.6.jar"
}
},
"io_netty_netty_codec_http2_4_1_94_Final": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
@@ -3154,6 +3313,28 @@
"downloaded_file_path": "v1/software/amazon/awssdk/arns/2.20.128/arns-2.20.128.jar"
}
},
"io_grpc_grpc_protobuf_1_66_0": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "5942dd582be6c0319bf2af9dd94886f631927b7126d57c8d84fbddd796fd7eb5",
"urls": [
"https://repo1.maven.org/maven2/io/grpc/grpc-protobuf/1.66.0/grpc-protobuf-1.66.0.jar"
],
"downloaded_file_path": "v1/io/grpc/grpc-protobuf/1.66.0/grpc-protobuf-1.66.0.jar"
}
},
"org_checkerframework_checker_qual_3_42_0": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "ccaedd33af0b7894d9f2f3b644f4d19e43928e32902e61ac4d10777830f5aac7",
"urls": [
"https://repo1.maven.org/maven2/org/checkerframework/checker-qual/3.42.0/checker-qual-3.42.0.jar"
],
"downloaded_file_path": "v1/org/checkerframework/checker-qual/3.42.0/checker-qual-3.42.0.jar"
}
},
"com_google_api_gax_httpjson_2_32_0": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
@@ -3242,6 +3423,17 @@
"downloaded_file_path": "v1/io/grpc/grpc-stub/1.56.1/grpc-stub-1.56.1.jar"
}
},
"io_netty_netty_codec_http_4_1_100_Final": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "326811d249cb0e5555e78e026e877834e792261c38f0666d80464426695d9590",
"urls": [
"https://repo1.maven.org/maven2/io/netty/netty-codec-http/4.1.100.Final/netty-codec-http-4.1.100.Final.jar"
],
"downloaded_file_path": "v1/io/netty/netty-codec-http/4.1.100.Final/netty-codec-http-4.1.100.Final.jar"
}
},
"software_amazon_awssdk_third_party_jackson_core_2_20_128": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
@@ -3308,6 +3500,17 @@
"downloaded_file_path": "v1/com/google/oauth-client/google-oauth-client/1.34.1/google-oauth-client-1.34.1.jar"
}
},
"io_grpc_grpc_netty_1_66_0": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "77f7c0ccd77df1d62a8508fef6676fa80b388e3ef4f67fceb99a7d5eaa73b7c9",
"urls": [
"https://repo1.maven.org/maven2/io/grpc/grpc-netty/1.66.0/grpc-netty-1.66.0.jar"
],
"downloaded_file_path": "v1/io/grpc/grpc-netty/1.66.0/grpc-netty-1.66.0.jar"
}
},
"com_google_cloud_google_cloud_core_grpc_2_22_0": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
@@ -3352,6 +3555,28 @@
"downloaded_file_path": "v1/com/fasterxml/jackson/core/jackson-core/2.12.7/jackson-core-2.12.7.jar"
}
},
"com_google_errorprone_error_prone_annotations_2_28_0": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "f3fc8a3a0a4020706a373b00e7f57c2512dd26d1f83d28c7d38768f8682b231e",
"urls": [
"https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.28.0/error_prone_annotations-2.28.0.jar"
],
"downloaded_file_path": "v1/com/google/errorprone/error_prone_annotations/2.28.0/error_prone_annotations-2.28.0.jar"
}
},
"io_grpc_grpc_context_1_66_0": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "7b7521aa2116014d08dc08825e13d70eac8eb646d09dd44980b6f4d1883e6713",
"urls": [
"https://repo1.maven.org/maven2/io/grpc/grpc-context/1.66.0/grpc-context-1.66.0.jar"
],
"downloaded_file_path": "v1/io/grpc/grpc-context/1.66.0/grpc-context-1.66.0.jar"
}
},
"org_scala_lang_scala_library_2_13_14": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
@@ -3484,17 +3709,6 @@
"downloaded_file_path": "v1/io/netty/netty-resolver/4.1.94.Final/netty-resolver-4.1.94.Final.jar"
}
},
"io_netty_netty_tcnative_classes_2_0_46_Final": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "d3ec888dcc4ac7915bf88b417c5e04fd354f4311032a748a6882df09347eed9a",
"urls": [
"https://repo1.maven.org/maven2/io/netty/netty-tcnative-classes/2.0.46.Final/netty-tcnative-classes-2.0.46.Final.jar"
],
"downloaded_file_path": "v1/io/netty/netty-tcnative-classes/2.0.46.Final/netty-tcnative-classes-2.0.46.Final.jar"
}
},
"com_google_http_client_google_http_client_1_43_3": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
@@ -3660,15 +3874,15 @@
"downloaded_file_path": "v1/com/amazonaws/jmespath-java/1.12.205/jmespath-java-1.12.205.jar"
}
},
"com_google_j2objc_j2objc_annotations_1_3": {
"io_netty_netty_resolver_4_1_100_Final": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b",
"sha256": "c42c481c776e9d367a45cc3a67a06f65897d280334eb30b2362b8c55b7523f4f",
"urls": [
"https://repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar"
"https://repo1.maven.org/maven2/io/netty/netty-resolver/4.1.100.Final/netty-resolver-4.1.100.Final.jar"
],
"downloaded_file_path": "v1/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar"
"downloaded_file_path": "v1/io/netty/netty-resolver/4.1.100.Final/netty-resolver-4.1.100.Final.jar"
}
},
"com_google_http_client_google_http_client_apache_v2_1_43_3": {
@@ -3682,6 +3896,28 @@
"downloaded_file_path": "v1/com/google/http-client/google-http-client-apache-v2/1.43.3/google-http-client-apache-v2-1.43.3.jar"
}
},
"io_netty_netty_transport_native_unix_common_4_1_100_Final": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "5d888230a04c4a3e647c64e933cefb64fd49056f969bfb734c8a3fcedf0bea8a",
"urls": [
"https://repo1.maven.org/maven2/io/netty/netty-transport-native-unix-common/4.1.100.Final/netty-transport-native-unix-common-4.1.100.Final.jar"
],
"downloaded_file_path": "v1/io/netty/netty-transport-native-unix-common/4.1.100.Final/netty-transport-native-unix-common-4.1.100.Final.jar"
}
},
"io_grpc_grpc_protobuf_lite_1_66_0": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "7cfe945848c64dbbb338d89b28bb5568b833f71a1dc67f30dbbd94071330dc5d",
"urls": [
"https://repo1.maven.org/maven2/io/grpc/grpc-protobuf-lite/1.66.0/grpc-protobuf-lite-1.66.0.jar"
],
"downloaded_file_path": "v1/io/grpc/grpc-protobuf-lite/1.66.0/grpc-protobuf-lite-1.66.0.jar"
}
},
"com_google_protobuf_protobuf_java_3_23_2": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
@@ -3785,17 +4021,6 @@
"downloaded_file_path": "v1/com/google/http-client/google-http-client-appengine/1.43.3/google-http-client-appengine-1.43.3.jar"
}
},
"com_google_code_gson_gson_2_8_9": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "d3999291855de495c94c743761b8ab5176cfeabe281a5ab0d8e8d45326fd703e",
"urls": [
"https://repo1.maven.org/maven2/com/google/code/gson/gson/2.8.9/gson-2.8.9.jar"
],
"downloaded_file_path": "v1/com/google/code/gson/gson/2.8.9/gson-2.8.9.jar"
}
},
"com_thesamet_scalapb_scalapb_runtime_2_13_0_11_17": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
@@ -3828,10 +4053,29 @@
],
"artifacts": [
"{ \"group\": \"org.scala-lang\", \"artifact\": \"scala-library\", \"version\": \"2.13.12\" }",
"{ \"group\": \"io.netty\", \"artifact\": \"netty-tcnative-boringssl-static\", \"version\": \"2.0.46.Final\" }",
"{ \"group\": \"io.grpc\", \"artifact\": \"grpc-api\", \"version\": \"1.66.0\" }",
"{ \"group\": \"io.grpc\", \"artifact\": \"grpc-context\", \"version\": \"1.66.0\" }",
"{ \"group\": \"io.grpc\", \"artifact\": \"grpc-core\", \"version\": \"1.66.0\" }",
"{ \"group\": \"io.grpc\", \"artifact\": \"grpc-protobuf\", \"version\": \"1.66.0\" }",
"{ \"group\": \"io.grpc\", \"artifact\": \"grpc-services\", \"version\": \"1.66.0\" }",
"{ \"group\": \"io.grpc\", \"artifact\": \"grpc-stub\", \"version\": \"1.66.0\" }",
"{ \"group\": \"io.grpc\", \"artifact\": \"grpc-netty\", \"version\": \"1.66.0\" }",
"{ \"group\": \"io.netty\", \"artifact\": \"netty-codec\", \"version\": \"4.1.32.Final\" }",
"{ \"group\": \"io.netty\", \"artifact\": \"netty-codec-http\", \"version\": \"4.1.32.Final\" }",
"{ \"group\": \"io.netty\", \"artifact\": \"netty-codec-socks\", \"version\": \"4.1.32.Final\" }",
"{ \"group\": \"io.netty\", \"artifact\": \"netty-codec-http2\", \"version\": \"4.1.32.Final\" }",
"{ \"group\": \"io.netty\", \"artifact\": \"netty-handler\", \"version\": \"4.1.32.Final\" }",
"{ \"group\": \"io.netty\", \"artifact\": \"netty-buffer\", \"version\": \"4.1.32.Final\" }",
"{ \"group\": \"io.netty\", \"artifact\": \"netty-transport\", \"version\": \"4.1.32.Final\" }",
"{ \"group\": \"io.netty\", \"artifact\": \"netty-resolver\", \"version\": \"4.1.32.Final\" }",
"{ \"group\": \"io.netty\", \"artifact\": \"netty-common\", \"version\": \"4.1.32.Final\" }",
"{ \"group\": \"io.netty\", \"artifact\": \"netty-handler-proxy\", \"version\": \"4.1.32.Final\" }",
"{ \"group\": \"com.thesamet.scalapb\", \"artifact\": \"lenses_2.13\", \"version\": \"0.11.17\" }",
"{ \"group\": \"com.thesamet.scalapb\", \"artifact\": \"scalapb-json4s_2.13\", \"version\": \"0.12.1\" }",
"{ \"group\": \"com.thesamet.scalapb\", \"artifact\": \"scalapb-runtime_2.13\", \"version\": \"0.11.17\" }",
"{ \"group\": \"com.thesamet.scalapb\", \"artifact\": \"scalapb-runtime-grpc_2.13\", \"version\": \"0.11.17\" }",
"{ \"group\": \"com.thesamet.scalapb\", \"artifact\": \"compilerplugin_2.13\", \"version\": \"0.11.17\" }",
"{ \"group\": \"com.thesamet.scalapb\", \"artifact\": \"protoc-bridge_2.13\", \"version\": \"0.9.7\" }",
"{ \"group\": \"org.json4s\", \"artifact\": \"json4s-ast_2.13\", \"version\": \"4.0.6\" }",
"{ \"group\": \"org.json4s\", \"artifact\": \"json4s-core_2.13\", \"version\": \"4.0.6\" }",
"{ \"group\": \"org.json4s\", \"artifact\": \"json4s-native_2.13\", \"version\": \"4.0.6\" }",
@@ -3868,6 +4112,17 @@
"repin_instructions": ""
}
},
"com_google_guava_guava_33_2_1_jre": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "452b2d9787b7d366fa8cf5ed9a1c40404542d05effa7a598da03bbbbb76d9f31",
"urls": [
"https://repo1.maven.org/maven2/com/google/guava/guava/33.2.1-jre/guava-33.2.1-jre.jar"
],
"downloaded_file_path": "v1/com/google/guava/guava/33.2.1-jre/guava-33.2.1-jre.jar"
}
},
"com_google_cloud_google_cloud_core_2_22_0": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
@@ -3945,6 +4200,17 @@
"downloaded_file_path": "v1/com/google/api/gax/2.32.0/gax-2.32.0.jar"
}
},
"io_grpc_grpc_api_1_66_0": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "8fadb1f4f0a18971c082497f34cbb78a51897ca8af4b212aa2a99c7de9ad995c",
"urls": [
"https://repo1.maven.org/maven2/io/grpc/grpc-api/1.66.0/grpc-api-1.66.0.jar"
],
"downloaded_file_path": "v1/io/grpc/grpc-api/1.66.0/grpc-api-1.66.0.jar"
}
},
"com_google_api_grpc_proto_google_cloud_storage_v2_2_26_1_alpha": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
@@ -4027,17 +4293,6 @@
"ignore_empty_files": false
}
},
"com_google_errorprone_error_prone_annotations_2_11_0": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "721cb91842b46fa056847d104d5225c8b8e1e8b62263b993051e1e5a0137b7ec",
"urls": [
"https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.11.0/error_prone_annotations-2.11.0.jar"
],
"downloaded_file_path": "v1/com/google/errorprone/error_prone_annotations/2.11.0/error_prone_annotations-2.11.0.jar"
}
},
"io_grpc_grpc_grpclb_1_56_1": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
@@ -4060,15 +4315,37 @@
"downloaded_file_path": "v1/io/grpc/grpc-rls/1.56.1/grpc-rls-1.56.1.jar"
}
},
"io_netty_netty_tcnative_boringssl_static_2_0_46_Final": {
"io_netty_netty_codec_socks_4_1_100_Final": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "170403604dfda291ca562990175832fc9ad77d0d7429597660418eb0e5b34507",
"sha256": "608a453b90f8384ba4efcdc6db7f899a1f10b9ea1890954696e6cfac45ff1ba9",
"urls": [
"https://repo1.maven.org/maven2/io/netty/netty-tcnative-boringssl-static/2.0.46.Final/netty-tcnative-boringssl-static-2.0.46.Final.jar"
"https://repo1.maven.org/maven2/io/netty/netty-codec-socks/4.1.100.Final/netty-codec-socks-4.1.100.Final.jar"
],
"downloaded_file_path": "v1/io/netty/netty-tcnative-boringssl-static/2.0.46.Final/netty-tcnative-boringssl-static-2.0.46.Final.jar"
"downloaded_file_path": "v1/io/netty/netty-codec-socks/4.1.100.Final/netty-codec-socks-4.1.100.Final.jar"
}
},
"io_perfmark_perfmark_api_0_27_0": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "c7b478503ec524e55df19b424d46d27c8a68aeb801664fadd4f069b71f52d0f6",
"urls": [
"https://repo1.maven.org/maven2/io/perfmark/perfmark-api/0.27.0/perfmark-api-0.27.0.jar"
],
"downloaded_file_path": "v1/io/perfmark/perfmark-api/0.27.0/perfmark-api-0.27.0.jar"
}
},
"io_grpc_grpc_services_1_66_0": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "9b1001e3d53e3078fab4e800bdcf9d6b29b40145f8a1442eb822eafbd42565f2",
"urls": [
"https://repo1.maven.org/maven2/io/grpc/grpc-services/1.66.0/grpc-services-1.66.0.jar"
],
"downloaded_file_path": "v1/io/grpc/grpc-services/1.66.0/grpc-services-1.66.0.jar"
}
},
"io_netty_netty_transport_classes_epoll_4_1_94_Final": {
@@ -4126,6 +4403,28 @@
"downloaded_file_path": "v1/com/google/auth/google-auth-library-oauth2-http/1.19.0/google-auth-library-oauth2-http-1.19.0.jar"
}
},
"com_google_protobuf_protobuf_java_util_3_25_3": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "b813c8d6d554cb71c1e82d171d7f80730ae74222a185c863cbedf05072c88155",
"urls": [
"https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java-util/3.25.3/protobuf-java-util-3.25.3.jar"
],
"downloaded_file_path": "v1/com/google/protobuf/protobuf-java-util/3.25.3/protobuf-java-util-3.25.3.jar"
}
},
"com_thesamet_scalapb_scalapb_runtime_grpc_2_13_0_11_17": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "c03687c038f2a45bb413551519542069a59faf322de29fd1f9e06f2dd65003d0",
"urls": [
"https://repo1.maven.org/maven2/com/thesamet/scalapb/scalapb-runtime-grpc_2.13/0.11.17/scalapb-runtime-grpc_2.13-0.11.17.jar"
],
"downloaded_file_path": "v1/com/thesamet/scalapb/scalapb-runtime-grpc_2.13/0.11.17/scalapb-runtime-grpc_2.13-0.11.17.jar"
}
},
"com_google_truth_truth_1_1_2": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
@@ -4148,6 +4447,28 @@
"downloaded_file_path": "v1/com/amazonaws/aws-java-sdk-s3/1.12.205/aws-java-sdk-s3-1.12.205.jar"
}
},
"com_thesamet_scalapb_protoc_bridge_2_13_0_9_7": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "403f0e7223c8fd052cff0fbf977f3696c387a696a3a12d7b031d95660c7552f5",
"urls": [
"https://repo1.maven.org/maven2/com/thesamet/scalapb/protoc-bridge_2.13/0.9.7/protoc-bridge_2.13-0.9.7.jar"
],
"downloaded_file_path": "v1/com/thesamet/scalapb/protoc-bridge_2.13/0.9.7/protoc-bridge_2.13-0.9.7.jar"
}
},
"io_netty_netty_handler_proxy_4_1_100_Final": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "686dbc2e61407f216d6cb267dd7954896f851dd34b58be3e757c5a89f20a5e67",
"urls": [
"https://repo1.maven.org/maven2/io/netty/netty-handler-proxy/4.1.100.Final/netty-handler-proxy-4.1.100.Final.jar"
],
"downloaded_file_path": "v1/io/netty/netty-handler-proxy/4.1.100.Final/netty-handler-proxy-4.1.100.Final.jar"
}
},
"com_google_cloud_google_cloud_core_http_2_22_0": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
@@ -4181,6 +4502,17 @@
"downloaded_file_path": "v1/com/google/auth/google-auth-library-credentials/1.19.0/google-auth-library-credentials-1.19.0.jar"
}
},
"io_netty_netty_common_4_1_100_Final": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "d2908301f1ac6f2910900742473c15d701765d3d4467acdb1eebb9df3aa82885",
"urls": [
"https://repo1.maven.org/maven2/io/netty/netty-common/4.1.100.Final/netty-common-4.1.100.Final.jar"
],
"downloaded_file_path": "v1/io/netty/netty-common/4.1.100.Final/netty-common-4.1.100.Final.jar"
}
},
"org_scala_lang_scala_reflect_2_13_7": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
@@ -4225,6 +4557,17 @@
"downloaded_file_path": "v1/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar"
}
},
"com_google_code_gson_gson_2_11_0": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "57928d6e5a6edeb2abd3770a8f95ba44dce45f3b23b7a9dc2b309c581552a78b",
"urls": [
"https://repo1.maven.org/maven2/com/google/code/gson/gson/2.11.0/gson-2.11.0.jar"
],
"downloaded_file_path": "v1/com/google/code/gson/gson/2.11.0/gson-2.11.0.jar"
}
},
"com_google_android_annotations_4_1_1_4": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
@@ -4236,6 +4579,17 @@
"downloaded_file_path": "v1/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar"
}
},
"com_google_api_grpc_proto_google_common_protos_2_41_0": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "49edeba62f334053b91aa9455c95e38449269891b920dbc36daa74e959a3d89a",
"urls": [
"https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-common-protos/2.41.0/proto-google-common-protos-2.41.0.jar"
],
"downloaded_file_path": "v1/com/google/api/grpc/proto-google-common-protos/2.41.0/proto-google-common-protos-2.41.0.jar"
}
},
"commons_codec_commons_codec_1_15": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
@@ -4291,6 +4645,17 @@
"downloaded_file_path": "v1/io/netty/netty-transport-native-unix-common/4.1.94.Final/netty-transport-native-unix-common-4.1.94.Final.jar"
}
},
"io_netty_netty_buffer_4_1_100_Final": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
"attributes": {
"sha256": "462874b44ee782fbefec64078cda6eb8e7bf9f0e0af71a928ef4c1f2d564f7ee",
"urls": [
"https://repo1.maven.org/maven2/io/netty/netty-buffer/4.1.100.Final/netty-buffer-4.1.100.Final.jar"
],
"downloaded_file_path": "v1/io/netty/netty-buffer/4.1.100.Final/netty-buffer-4.1.100.Final.jar"
}
},
"com_google_googlejavaformat_google_java_format_1_17_0": {
"bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
"ruleClassName": "http_file",
+2 -10
View File
@@ -83,22 +83,14 @@ load("@io_bazel_rules_scala//:scala_config.bzl", "scala_config")
scala_config(scala_version = scala_version)
load("//tools:toolchains.bzl", "scala_register_unused_deps_and_opts_toolchains")
load("//tools:toolchains.bzl", "scala_register_toolchains")
scala_register_unused_deps_and_opts_toolchains()
scala_register_toolchains()
load("@io_bazel_rules_scala//scala:scala.bzl", "scala_repositories")
scala_repositories()
load("@io_bazel_rules_scala//scala_proto:scala_proto.bzl", "scala_proto_repositories")
scala_proto_repositories()
load("@io_bazel_rules_scala//scala_proto:toolchains.bzl", "scala_proto_register_toolchains")
scala_proto_register_toolchains()
load("@io_bazel_rules_scala//testing:scalatest.bzl", "scalatest_repositories", "scalatest_toolchain")
scalatest_repositories()
+557 -33
View File
@@ -1,9 +1,22 @@
{
"__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL",
"__INPUT_ARTIFACTS_HASH": -1138060269,
"__RESOLVED_ARTIFACTS_HASH": 804806802,
"__INPUT_ARTIFACTS_HASH": 1613143175,
"__RESOLVED_ARTIFACTS_HASH": -1616707633,
"conflict_resolution": {
"com.google.errorprone:error_prone_annotations:2.3.2": "com.google.errorprone:error_prone_annotations:2.11.0",
"com.google.code.gson:gson:2.8.9": "com.google.code.gson:gson:2.11.0",
"com.google.errorprone:error_prone_annotations:2.3.2": "com.google.errorprone:error_prone_annotations:2.28.0",
"com.google.guava:guava:31.1-jre": "com.google.guava:guava:33.2.1-jre",
"com.google.j2objc:j2objc-annotations:1.3": "com.google.j2objc:j2objc-annotations:3.0.0",
"io.netty:netty-buffer:4.1.32.Final": "io.netty:netty-buffer:4.1.100.Final",
"io.netty:netty-codec-http2:4.1.32.Final": "io.netty:netty-codec-http2:4.1.100.Final",
"io.netty:netty-codec-http:4.1.32.Final": "io.netty:netty-codec-http:4.1.100.Final",
"io.netty:netty-codec-socks:4.1.32.Final": "io.netty:netty-codec-socks:4.1.100.Final",
"io.netty:netty-codec:4.1.32.Final": "io.netty:netty-codec:4.1.100.Final",
"io.netty:netty-common:4.1.32.Final": "io.netty:netty-common:4.1.100.Final",
"io.netty:netty-handler-proxy:4.1.32.Final": "io.netty:netty-handler-proxy:4.1.100.Final",
"io.netty:netty-handler:4.1.32.Final": "io.netty:netty-handler:4.1.100.Final",
"io.netty:netty-resolver:4.1.32.Final": "io.netty:netty-resolver:4.1.100.Final",
"io.netty:netty-transport:4.1.32.Final": "io.netty:netty-transport:4.1.100.Final",
"org.scala-lang:scala-library:2.13.12": "org.scala-lang:scala-library:2.13.14"
},
"artifacts": {
@@ -67,6 +80,18 @@
},
"version": "2.12.6"
},
"com.google.android:annotations": {
"shasums": {
"jar": "ba734e1e84c09d615af6a09d33034b4f0442f8772dec120efb376d86a565ae15"
},
"version": "4.1.1.4"
},
"com.google.api.grpc:proto-google-common-protos": {
"shasums": {
"jar": "49edeba62f334053b91aa9455c95e38449269891b920dbc36daa74e959a3d89a"
},
"version": "2.41.0"
},
"com.google.auto.value:auto-value-annotations": {
"shasums": {
"jar": "fedd59b0b4986c342f6ab2d182f2a4ee9fceb2c7e2d5bdc4dc764c92394a23d3"
@@ -81,27 +106,27 @@
},
"com.google.code.gson:gson": {
"shasums": {
"jar": "d3999291855de495c94c743761b8ab5176cfeabe281a5ab0d8e8d45326fd703e"
},
"version": "2.8.9"
},
"com.google.errorprone:error_prone_annotations": {
"shasums": {
"jar": "721cb91842b46fa056847d104d5225c8b8e1e8b62263b993051e1e5a0137b7ec"
"jar": "57928d6e5a6edeb2abd3770a8f95ba44dce45f3b23b7a9dc2b309c581552a78b"
},
"version": "2.11.0"
},
"com.google.errorprone:error_prone_annotations": {
"shasums": {
"jar": "f3fc8a3a0a4020706a373b00e7f57c2512dd26d1f83d28c7d38768f8682b231e"
},
"version": "2.28.0"
},
"com.google.guava:failureaccess": {
"shasums": {
"jar": "a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26"
"jar": "8a8f81cf9b359e3f6dfa691a1e776985c061ef2f223c9b2c80753e1b458e8064"
},
"version": "1.0.1"
"version": "1.0.2"
},
"com.google.guava:guava": {
"shasums": {
"jar": "a42edc9cab792e39fe39bb94f3fca655ed157ff87a8af78e1d6ba5b07c4a00ab"
"jar": "452b2d9787b7d366fa8cf5ed9a1c40404542d05effa7a598da03bbbbb76d9f31"
},
"version": "31.1-jre"
"version": "33.2.1-jre"
},
"com.google.guava:guava-testlib": {
"shasums": {
@@ -117,15 +142,21 @@
},
"com.google.j2objc:j2objc-annotations": {
"shasums": {
"jar": "21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b"
"jar": "88241573467ddca44ffd4d74aa04c2bbfd11bf7c17e0c342c94c9de7a70a7c64"
},
"version": "1.3"
"version": "3.0.0"
},
"com.google.protobuf:protobuf-java": {
"shasums": {
"jar": "6a9a2dff91dcf71f85be71ae971f6164b5a631dcd34bff08f0618535ca44ad02"
"jar": "e90d8ddb963b20a972a6a59b5093ade2b07cbe546cab3279aaf4383260385f58"
},
"version": "3.19.6"
"version": "3.25.3"
},
"com.google.protobuf:protobuf-java-util": {
"shasums": {
"jar": "b813c8d6d554cb71c1e82d171d7f80730ae74222a185c863cbedf05072c88155"
},
"version": "3.25.3"
},
"com.google.truth:truth": {
"shasums": {
@@ -133,18 +164,42 @@
},
"version": "1.1.2"
},
"com.thesamet.scalapb:compilerplugin_2.13": {
"shasums": {
"jar": "d36b84059289c7aa2f2bf08eeab7e85084fcf72bf58b337edf167c73218880d7"
},
"version": "0.11.17"
},
"com.thesamet.scalapb:lenses_2.13": {
"shasums": {
"jar": "4abe3fe573b8505a633414b0fbbcae4240250690ba48a9d4a6eeb3dfc3302ddf"
},
"version": "0.11.17"
},
"com.thesamet.scalapb:protoc-bridge_2.13": {
"shasums": {
"jar": "403f0e7223c8fd052cff0fbf977f3696c387a696a3a12d7b031d95660c7552f5"
},
"version": "0.9.7"
},
"com.thesamet.scalapb:protoc-gen_2.13": {
"shasums": {
"jar": "f9943ce49261aad80a063c2ce55b01fb62cfd9487ffa2d36a2eade467bc16b23"
},
"version": "0.9.7"
},
"com.thesamet.scalapb:scalapb-json4s_2.13": {
"shasums": {
"jar": "390f37afd750905e52dca04ccc7d4150346641db23805b6791d276bf8984ebb6"
},
"version": "0.12.1"
},
"com.thesamet.scalapb:scalapb-runtime-grpc_2.13": {
"shasums": {
"jar": "c03687c038f2a45bb413551519542069a59faf322de29fd1f9e06f2dd65003d0"
},
"version": "0.11.17"
},
"com.thesamet.scalapb:scalapb-runtime_2.13": {
"shasums": {
"jar": "fe91faf58bccef68be348e76cab339a5fe2c215e48f7bd8f836190449ed94077"
@@ -169,17 +224,137 @@
},
"version": "1.2"
},
"io.netty:netty-tcnative-boringssl-static": {
"dev.dirs:directories": {
"shasums": {
"jar": "170403604dfda291ca562990175832fc9ad77d0d7429597660418eb0e5b34507"
"jar": "6d18fe25aa30b7e08b908cd21151d8f96e22965c640acd7751add9bbfe6137d4"
},
"version": "2.0.46.Final"
"version": "26"
},
"io.netty:netty-tcnative-classes": {
"io.grpc:grpc-api": {
"shasums": {
"jar": "d3ec888dcc4ac7915bf88b417c5e04fd354f4311032a748a6882df09347eed9a"
"jar": "8fadb1f4f0a18971c082497f34cbb78a51897ca8af4b212aa2a99c7de9ad995c"
},
"version": "2.0.46.Final"
"version": "1.66.0"
},
"io.grpc:grpc-context": {
"shasums": {
"jar": "7b7521aa2116014d08dc08825e13d70eac8eb646d09dd44980b6f4d1883e6713"
},
"version": "1.66.0"
},
"io.grpc:grpc-core": {
"shasums": {
"jar": "136b7a7c411a45089dc2b26f0f032f4ae466d9b5d3bfe3a513421d6f35d2c2bd"
},
"version": "1.66.0"
},
"io.grpc:grpc-netty": {
"shasums": {
"jar": "77f7c0ccd77df1d62a8508fef6676fa80b388e3ef4f67fceb99a7d5eaa73b7c9"
},
"version": "1.66.0"
},
"io.grpc:grpc-protobuf": {
"shasums": {
"jar": "5942dd582be6c0319bf2af9dd94886f631927b7126d57c8d84fbddd796fd7eb5"
},
"version": "1.66.0"
},
"io.grpc:grpc-protobuf-lite": {
"shasums": {
"jar": "7cfe945848c64dbbb338d89b28bb5568b833f71a1dc67f30dbbd94071330dc5d"
},
"version": "1.66.0"
},
"io.grpc:grpc-services": {
"shasums": {
"jar": "9b1001e3d53e3078fab4e800bdcf9d6b29b40145f8a1442eb822eafbd42565f2"
},
"version": "1.66.0"
},
"io.grpc:grpc-stub": {
"shasums": {
"jar": "39a32906304c7f442dfa56dfc6ea88887287fb398621d549e15dfdeaffae194a"
},
"version": "1.66.0"
},
"io.grpc:grpc-util": {
"shasums": {
"jar": "c41b69a730bbc8605351a9e1a0dd7bd9283333c48c00234ba30b4d796b38bbdd"
},
"version": "1.66.0"
},
"io.netty:netty-buffer": {
"shasums": {
"jar": "462874b44ee782fbefec64078cda6eb8e7bf9f0e0af71a928ef4c1f2d564f7ee"
},
"version": "4.1.100.Final"
},
"io.netty:netty-codec": {
"shasums": {
"jar": "180a01ed67af399602e24ff1c32864e7f57f57c4a0fa5e9ab3fe9b0e5e9cf051"
},
"version": "4.1.100.Final"
},
"io.netty:netty-codec-http": {
"shasums": {
"jar": "326811d249cb0e5555e78e026e877834e792261c38f0666d80464426695d9590"
},
"version": "4.1.100.Final"
},
"io.netty:netty-codec-http2": {
"shasums": {
"jar": "23b4a74350f4cf8d41b93fb93d52b5050667d8d53fffc385672c86eab83b8749"
},
"version": "4.1.100.Final"
},
"io.netty:netty-codec-socks": {
"shasums": {
"jar": "608a453b90f8384ba4efcdc6db7f899a1f10b9ea1890954696e6cfac45ff1ba9"
},
"version": "4.1.100.Final"
},
"io.netty:netty-common": {
"shasums": {
"jar": "d2908301f1ac6f2910900742473c15d701765d3d4467acdb1eebb9df3aa82885"
},
"version": "4.1.100.Final"
},
"io.netty:netty-handler": {
"shasums": {
"jar": "0e10e584c2e7fdf7f4804e14760ed987003f1b62ab982f62eaf13a9892793d3a"
},
"version": "4.1.100.Final"
},
"io.netty:netty-handler-proxy": {
"shasums": {
"jar": "686dbc2e61407f216d6cb267dd7954896f851dd34b58be3e757c5a89f20a5e67"
},
"version": "4.1.100.Final"
},
"io.netty:netty-resolver": {
"shasums": {
"jar": "c42c481c776e9d367a45cc3a67a06f65897d280334eb30b2362b8c55b7523f4f"
},
"version": "4.1.100.Final"
},
"io.netty:netty-transport": {
"shasums": {
"jar": "b1deeceedab3734cdb959c55f4be5ab4a667a8aed59121ff93763f49470f5470"
},
"version": "4.1.100.Final"
},
"io.netty:netty-transport-native-unix-common": {
"shasums": {
"jar": "5d888230a04c4a3e647c64e933cefb64fd49056f969bfb734c8a3fcedf0bea8a"
},
"version": "4.1.100.Final"
},
"io.perfmark:perfmark-api": {
"shasums": {
"jar": "c7b478503ec524e55df19b424d46d27c8a68aeb801664fadd4f069b71f52d0f6"
},
"version": "0.27.0"
},
"javax.activation:javax.activation-api": {
"shasums": {
@@ -231,9 +406,15 @@
},
"org.checkerframework:checker-qual": {
"shasums": {
"jar": "ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb"
"jar": "ccaedd33af0b7894d9f2f3b644f4d19e43928e32902e61ac4d10777830f5aac7"
},
"version": "3.12.0"
"version": "3.42.0"
},
"org.codehaus.mojo:animal-sniffer-annotations": {
"shasums": {
"jar": "c720e6e5bcbe6b2f48ded75a47bccdb763eede79d14330102e0d352e3d89ed92"
},
"version": "1.24"
},
"org.hamcrest:hamcrest-core": {
"shasums": {
@@ -359,6 +540,12 @@
"com.fasterxml.jackson.core:jackson-core",
"com.fasterxml.jackson.core:jackson-databind"
],
"com.google.api.grpc:proto-google-common-protos": [
"com.google.protobuf:protobuf-java"
],
"com.google.code.gson:gson": [
"com.google.errorprone:error_prone_annotations"
],
"com.google.guava:guava": [
"com.google.code.findbugs:jsr305",
"com.google.errorprone:error_prone_annotations",
@@ -375,6 +562,14 @@
"junit:junit",
"org.checkerframework:checker-qual"
],
"com.google.protobuf:protobuf-java-util": [
"com.google.code.findbugs:jsr305",
"com.google.code.gson:gson",
"com.google.errorprone:error_prone_annotations",
"com.google.guava:guava",
"com.google.j2objc:j2objc-annotations",
"com.google.protobuf:protobuf-java"
],
"com.google.truth:truth": [
"com.google.auto.value:auto-value-annotations",
"com.google.errorprone:error_prone_annotations",
@@ -383,23 +578,163 @@
"org.checkerframework:checker-qual",
"org.ow2.asm:asm"
],
"com.thesamet.scalapb:compilerplugin_2.13": [
"com.google.protobuf:protobuf-java",
"com.thesamet.scalapb:protoc-gen_2.13",
"org.scala-lang.modules:scala-collection-compat_2.13",
"org.scala-lang:scala-library"
],
"com.thesamet.scalapb:lenses_2.13": [
"org.scala-lang.modules:scala-collection-compat_2.13",
"org.scala-lang:scala-library"
],
"com.thesamet.scalapb:protoc-bridge_2.13": [
"dev.dirs:directories",
"org.scala-lang:scala-library"
],
"com.thesamet.scalapb:protoc-gen_2.13": [
"com.thesamet.scalapb:protoc-bridge_2.13",
"org.scala-lang:scala-library"
],
"com.thesamet.scalapb:scalapb-json4s_2.13": [
"com.thesamet.scalapb:scalapb-runtime_2.13",
"org.json4s:json4s-jackson-core_2.13",
"org.scala-lang:scala-library"
],
"com.thesamet.scalapb:scalapb-runtime-grpc_2.13": [
"com.thesamet.scalapb:scalapb-runtime_2.13",
"io.grpc:grpc-protobuf",
"io.grpc:grpc-stub",
"org.scala-lang.modules:scala-collection-compat_2.13",
"org.scala-lang:scala-library"
],
"com.thesamet.scalapb:scalapb-runtime_2.13": [
"com.google.protobuf:protobuf-java",
"com.thesamet.scalapb:lenses_2.13",
"org.scala-lang.modules:scala-collection-compat_2.13",
"org.scala-lang:scala-library"
],
"io.netty:netty-tcnative-boringssl-static": [
"io.netty:netty-tcnative-classes"
"io.grpc:grpc-api": [
"com.google.code.findbugs:jsr305",
"com.google.errorprone:error_prone_annotations",
"com.google.guava:guava"
],
"io.grpc:grpc-context": [
"io.grpc:grpc-api"
],
"io.grpc:grpc-core": [
"com.google.android:annotations",
"com.google.code.gson:gson",
"com.google.errorprone:error_prone_annotations",
"com.google.guava:guava",
"io.grpc:grpc-api",
"io.grpc:grpc-context",
"io.perfmark:perfmark-api",
"org.codehaus.mojo:animal-sniffer-annotations"
],
"io.grpc:grpc-netty": [
"com.google.errorprone:error_prone_annotations",
"com.google.guava:guava",
"io.grpc:grpc-api",
"io.grpc:grpc-core",
"io.grpc:grpc-util",
"io.netty:netty-codec-http2",
"io.netty:netty-handler-proxy",
"io.netty:netty-transport-native-unix-common",
"io.perfmark:perfmark-api"
],
"io.grpc:grpc-protobuf": [
"com.google.api.grpc:proto-google-common-protos",
"com.google.code.findbugs:jsr305",
"com.google.guava:guava",
"com.google.protobuf:protobuf-java",
"io.grpc:grpc-api",
"io.grpc:grpc-protobuf-lite"
],
"io.grpc:grpc-protobuf-lite": [
"com.google.code.findbugs:jsr305",
"com.google.guava:guava",
"io.grpc:grpc-api"
],
"io.grpc:grpc-services": [
"com.google.code.gson:gson",
"com.google.errorprone:error_prone_annotations",
"com.google.guava:guava",
"com.google.j2objc:j2objc-annotations",
"com.google.protobuf:protobuf-java-util",
"io.grpc:grpc-core",
"io.grpc:grpc-protobuf",
"io.grpc:grpc-stub",
"io.grpc:grpc-util"
],
"io.grpc:grpc-stub": [
"com.google.errorprone:error_prone_annotations",
"com.google.guava:guava",
"io.grpc:grpc-api"
],
"io.grpc:grpc-util": [
"com.google.guava:guava",
"io.grpc:grpc-api",
"io.grpc:grpc-core",
"org.codehaus.mojo:animal-sniffer-annotations"
],
"io.netty:netty-buffer": [
"io.netty:netty-common"
],
"io.netty:netty-codec": [
"io.netty:netty-buffer",
"io.netty:netty-common",
"io.netty:netty-transport"
],
"io.netty:netty-codec-http": [
"io.netty:netty-buffer",
"io.netty:netty-codec",
"io.netty:netty-common",
"io.netty:netty-handler",
"io.netty:netty-transport"
],
"io.netty:netty-codec-http2": [
"io.netty:netty-buffer",
"io.netty:netty-codec",
"io.netty:netty-codec-http",
"io.netty:netty-common",
"io.netty:netty-handler",
"io.netty:netty-transport"
],
"io.netty:netty-codec-socks": [
"io.netty:netty-buffer",
"io.netty:netty-codec",
"io.netty:netty-common",
"io.netty:netty-transport"
],
"io.netty:netty-handler": [
"io.netty:netty-buffer",
"io.netty:netty-codec",
"io.netty:netty-common",
"io.netty:netty-resolver",
"io.netty:netty-transport",
"io.netty:netty-transport-native-unix-common"
],
"io.netty:netty-handler-proxy": [
"io.netty:netty-buffer",
"io.netty:netty-codec",
"io.netty:netty-codec-http",
"io.netty:netty-codec-socks",
"io.netty:netty-common",
"io.netty:netty-transport"
],
"io.netty:netty-resolver": [
"io.netty:netty-common"
],
"io.netty:netty-transport": [
"io.netty:netty-buffer",
"io.netty:netty-common",
"io.netty:netty-resolver"
],
"io.netty:netty-transport-native-unix-common": [
"io.netty:netty-buffer",
"io.netty:netty-common",
"io.netty:netty-transport"
],
"javax.xml.bind:jaxb-api": [
"javax.activation:javax.activation-api"
@@ -620,6 +955,23 @@
"com.fasterxml.jackson.dataformat.cbor",
"com.fasterxml.jackson.dataformat.cbor.databind"
],
"com.google.android:annotations": [
"android.annotation"
],
"com.google.api.grpc:proto-google-common-protos": [
"com.google.api",
"com.google.apps.card.v1",
"com.google.cloud",
"com.google.cloud.audit",
"com.google.cloud.location",
"com.google.geo.type",
"com.google.logging.type",
"com.google.longrunning",
"com.google.rpc",
"com.google.rpc.context",
"com.google.shopping.type",
"com.google.type"
],
"com.google.auto.value:auto-value-annotations": [
"com.google.auto.value",
"com.google.auto.value.extension.memoized",
@@ -684,15 +1036,36 @@
"com.google.protobuf",
"com.google.protobuf.compiler"
],
"com.google.protobuf:protobuf-java-util": [
"com.google.protobuf.util"
],
"com.google.truth:truth": [
"com.google.common.truth"
],
"com.thesamet.scalapb:compilerplugin_2.13": [
"scalapb",
"scalapb.compiler",
"scalapb.internal",
"scalapb.options",
"scalapb.options.compiler"
],
"com.thesamet.scalapb:lenses_2.13": [
"scalapb.lenses"
],
"com.thesamet.scalapb:protoc-bridge_2.13": [
"protocbridge",
"protocbridge.codegen",
"protocbridge.frontend"
],
"com.thesamet.scalapb:protoc-gen_2.13": [
"protocgen"
],
"com.thesamet.scalapb:scalapb-json4s_2.13": [
"scalapb.json4s"
],
"com.thesamet.scalapb:scalapb-runtime-grpc_2.13": [
"scalapb.grpc"
],
"com.thesamet.scalapb:scalapb-runtime_2.13": [
"com.google.protobuf.any",
"com.google.protobuf.api",
@@ -728,8 +1101,127 @@
"org.apache.commons.logging",
"org.apache.commons.logging.impl"
],
"io.netty:netty-tcnative-classes": [
"io.netty.internal.tcnative"
"dev.dirs:directories": [
"dev.dirs"
],
"io.grpc:grpc-api": [
"io.grpc"
],
"io.grpc:grpc-core": [
"io.grpc.internal"
],
"io.grpc:grpc-netty": [
"io.grpc.netty"
],
"io.grpc:grpc-protobuf": [
"io.grpc.protobuf"
],
"io.grpc:grpc-protobuf-lite": [
"io.grpc.protobuf.lite"
],
"io.grpc:grpc-services": [
"io.grpc.binarylog.v1",
"io.grpc.channelz.v1",
"io.grpc.health.v1",
"io.grpc.protobuf.services",
"io.grpc.protobuf.services.internal",
"io.grpc.reflection.v1",
"io.grpc.reflection.v1alpha",
"io.grpc.services"
],
"io.grpc:grpc-stub": [
"io.grpc.stub",
"io.grpc.stub.annotations"
],
"io.grpc:grpc-util": [
"io.grpc.util"
],
"io.netty:netty-buffer": [
"io.netty.buffer",
"io.netty.buffer.search"
],
"io.netty:netty-codec": [
"io.netty.handler.codec",
"io.netty.handler.codec.base64",
"io.netty.handler.codec.bytes",
"io.netty.handler.codec.compression",
"io.netty.handler.codec.json",
"io.netty.handler.codec.marshalling",
"io.netty.handler.codec.protobuf",
"io.netty.handler.codec.serialization",
"io.netty.handler.codec.string",
"io.netty.handler.codec.xml"
],
"io.netty:netty-codec-http": [
"io.netty.handler.codec.http",
"io.netty.handler.codec.http.cookie",
"io.netty.handler.codec.http.cors",
"io.netty.handler.codec.http.multipart",
"io.netty.handler.codec.http.websocketx",
"io.netty.handler.codec.http.websocketx.extensions",
"io.netty.handler.codec.http.websocketx.extensions.compression",
"io.netty.handler.codec.rtsp",
"io.netty.handler.codec.spdy"
],
"io.netty:netty-codec-http2": [
"io.netty.handler.codec.http2"
],
"io.netty:netty-codec-socks": [
"io.netty.handler.codec.socks",
"io.netty.handler.codec.socksx",
"io.netty.handler.codec.socksx.v4",
"io.netty.handler.codec.socksx.v5"
],
"io.netty:netty-common": [
"io.netty.util",
"io.netty.util.collection",
"io.netty.util.concurrent",
"io.netty.util.internal",
"io.netty.util.internal.logging",
"io.netty.util.internal.shaded.org.jctools.queues",
"io.netty.util.internal.shaded.org.jctools.queues.atomic",
"io.netty.util.internal.shaded.org.jctools.util",
"io.netty.util.internal.svm"
],
"io.netty:netty-handler": [
"io.netty.handler.address",
"io.netty.handler.flow",
"io.netty.handler.flush",
"io.netty.handler.ipfilter",
"io.netty.handler.logging",
"io.netty.handler.pcap",
"io.netty.handler.ssl",
"io.netty.handler.ssl.ocsp",
"io.netty.handler.ssl.util",
"io.netty.handler.stream",
"io.netty.handler.timeout",
"io.netty.handler.traffic"
],
"io.netty:netty-handler-proxy": [
"io.netty.handler.proxy"
],
"io.netty:netty-resolver": [
"io.netty.resolver"
],
"io.netty:netty-transport": [
"io.netty.bootstrap",
"io.netty.channel",
"io.netty.channel.embedded",
"io.netty.channel.group",
"io.netty.channel.internal",
"io.netty.channel.local",
"io.netty.channel.nio",
"io.netty.channel.oio",
"io.netty.channel.pool",
"io.netty.channel.socket",
"io.netty.channel.socket.nio",
"io.netty.channel.socket.oio"
],
"io.netty:netty-transport-native-unix-common": [
"io.netty.channel.unix"
],
"io.perfmark:perfmark-api": [
"io.perfmark"
],
"javax.activation:javax.activation-api": [
"javax.activation"
@@ -887,6 +1379,7 @@
"org.checkerframework.checker.initialization.qual",
"org.checkerframework.checker.interning.qual",
"org.checkerframework.checker.lock.qual",
"org.checkerframework.checker.mustcall.qual",
"org.checkerframework.checker.nullness.qual",
"org.checkerframework.checker.optional.qual",
"org.checkerframework.checker.propkey.qual",
@@ -900,11 +1393,14 @@
"org.checkerframework.common.reflection.qual",
"org.checkerframework.common.returnsreceiver.qual",
"org.checkerframework.common.subtyping.qual",
"org.checkerframework.common.util.report.qual",
"org.checkerframework.common.util.count.report.qual",
"org.checkerframework.common.value.qual",
"org.checkerframework.dataflow.qual",
"org.checkerframework.framework.qual"
],
"org.codehaus.mojo:animal-sniffer-annotations": [
"org.codehaus.mojo.animal_sniffer"
],
"org.hamcrest:hamcrest-core": [
"org.hamcrest",
"org.hamcrest.core",
@@ -1104,6 +1600,8 @@
"com.fasterxml.jackson.core:jackson-core",
"com.fasterxml.jackson.core:jackson-databind",
"com.fasterxml.jackson.dataformat:jackson-dataformat-cbor",
"com.google.android:annotations",
"com.google.api.grpc:proto-google-common-protos",
"com.google.auto.value:auto-value-annotations",
"com.google.code.findbugs:jsr305",
"com.google.code.gson:gson",
@@ -1114,15 +1612,40 @@
"com.google.guava:listenablefuture",
"com.google.j2objc:j2objc-annotations",
"com.google.protobuf:protobuf-java",
"com.google.protobuf:protobuf-java-util",
"com.google.truth:truth",
"com.thesamet.scalapb:compilerplugin_2.13",
"com.thesamet.scalapb:lenses_2.13",
"com.thesamet.scalapb:protoc-bridge_2.13",
"com.thesamet.scalapb:protoc-gen_2.13",
"com.thesamet.scalapb:scalapb-json4s_2.13",
"com.thesamet.scalapb:scalapb-runtime-grpc_2.13",
"com.thesamet.scalapb:scalapb-runtime_2.13",
"com.thoughtworks.paranamer:paranamer",
"commons-codec:commons-codec",
"commons-logging:commons-logging",
"io.netty:netty-tcnative-boringssl-static",
"io.netty:netty-tcnative-classes",
"dev.dirs:directories",
"io.grpc:grpc-api",
"io.grpc:grpc-context",
"io.grpc:grpc-core",
"io.grpc:grpc-netty",
"io.grpc:grpc-protobuf",
"io.grpc:grpc-protobuf-lite",
"io.grpc:grpc-services",
"io.grpc:grpc-stub",
"io.grpc:grpc-util",
"io.netty:netty-buffer",
"io.netty:netty-codec",
"io.netty:netty-codec-http",
"io.netty:netty-codec-http2",
"io.netty:netty-codec-socks",
"io.netty:netty-common",
"io.netty:netty-handler",
"io.netty:netty-handler-proxy",
"io.netty:netty-resolver",
"io.netty:netty-transport",
"io.netty:netty-transport-native-unix-common",
"io.perfmark:perfmark-api",
"javax.activation:javax.activation-api",
"javax.xml.bind:jaxb-api",
"joda-time:joda-time",
@@ -1132,6 +1655,7 @@
"org.apache.httpcomponents:httpclient",
"org.apache.httpcomponents:httpcore",
"org.checkerframework:checker-qual",
"org.codehaus.mojo:animal-sniffer-annotations",
"org.hamcrest:hamcrest-core",
"org.json4s:json4s-ast_2.13",
"org.json4s:json4s-core_2.13",
+2 -2
View File
@@ -15,8 +15,8 @@ scala_library(
srcs = ["GrpcRetrier.scala"],
visibility = ["//visibility:public"],
deps = [
"@scala_proto_rules_grpc_api",
"@scala_proto_rules_grpc_stub",
"@maven//:io_grpc_grpc_api",
"@maven//:io_grpc_grpc_stub",
],
)
@@ -5,9 +5,6 @@ scala_binary(
srcs = ["Main.scala"],
main_class = "net.eagle0.eagle.Main",
visibility = ["//visibility:public"],
runtime_deps = [
"@maven//:io_netty_netty_tcnative_boringssl_static",
],
deps = [
":eagle_pkg",
"//src/main/protobuf/net/eagle0/eagle/api:eagle_scala_grpc",
@@ -32,9 +29,6 @@ scala_binary(
"//src/main/resources/net/eagle0/eagle:settings",
],
visibility = ["//visibility:public"],
runtime_deps = [
"@maven//:io_netty_netty_tcnative_boringssl_static",
],
deps = [
"//src/main/protobuf/net/eagle0/eagle/internal:game_state_scala_proto",
"//src/main/scala/net/eagle0/eagle/library/settings",
@@ -103,7 +103,8 @@ object MidGameAIClient {
foodAvailable,
availableDestinationProvinceIds,
actingProvinceId,
_ /* availableHeroIds */
_ /* availableHeroIds */,
_ /* unknownFieldSet */
) =>
val actingProvince = gameState.provinces(actingProvinceId)
val foodToHoldBack = FoodConsumptionUtils.foodConsumptionMonthsToHold(
@@ -148,12 +148,18 @@ class ActionResultProtoApplierImpl(validator: Validator)
.filterNot(u =>
cp.removedRulingPlayerHeroIds.contains(u.heroId)
)
.map { case CombatUnit(pid, hid, bid) =>
CombatUnit(
pid,
hid,
bid.filterNot(b => cp.removedBattalionIds.contains(b))
)
.map {
case CombatUnit(
pid,
hid,
bid,
_ /* unknownFieldSet */
) =>
CombatUnit(
pid,
hid,
bid.filterNot(b => cp.removedBattalionIds.contains(b))
)
}
)
}
@@ -337,12 +343,20 @@ class ActionResultProtoApplierImpl(validator: Validator)
statusChanges.foldLeft(
existingGroups
.filterNot(g => removedFactionIds.contains(g.factionId))
) { case (groups, HostileArmyGroupStatusChange(factionId, newStatus)) =>
groups.indexWhere(_.factionId == factionId) match {
case -1 => groups
case index: Int =>
groups.updated(index, groups(index).withStatus(newStatus))
}
) {
case (
groups,
HostileArmyGroupStatusChange(
factionId,
newStatus,
_ /* unknownFieldSet */
)
) =>
groups.indexWhere(_.factionId == factionId) match {
case -1 => groups
case index: Int =>
groups.updated(index, groups(index).withStatus(newStatus))
}
} ++ addedArmies
}
@@ -735,9 +749,14 @@ class ActionResultProtoApplierImpl(validator: Validator)
else cf.newLastActedProvinceId.getOrElse(lpid)
},
_.lastOutgoingTruceOfferRounds.modify { tor =>
tor.filterNot { case OutgoingOfferRound(toFactionId, _) =>
cf.addedOutgoingDiplomacyOfferPartners
.contains(toFactionId)
tor.filterNot {
case OutgoingOfferRound(
toFactionId,
_,
_ /* unknownFieldSet */
) =>
cf.addedOutgoingDiplomacyOfferPartners
.contains(toFactionId)
} ++ cf.addedOutgoingDiplomacyOfferPartners.map(toFid =>
OutgoingOfferRound(
toFactionId = toFid,
@@ -746,9 +765,14 @@ class ActionResultProtoApplierImpl(validator: Validator)
)
},
_.lastOutgoingInvitationRounds.modify { invr =>
invr.filterNot { case OutgoingOfferRound(toFactionId, _) =>
cf.addedOutgoingDiplomacyOfferPartners
.contains(toFactionId)
invr.filterNot {
case OutgoingOfferRound(
toFactionId,
_,
_ /* unknownFieldSet */
) =>
cf.addedOutgoingDiplomacyOfferPartners
.contains(toFactionId)
} ++ cf.addedOutgoingDiplomacyOfferPartners.map(toFid =>
OutgoingOfferRound(
toFactionId = toFid,
@@ -757,9 +781,14 @@ class ActionResultProtoApplierImpl(validator: Validator)
)
},
_.lastOutgoingRansomOfferRounds.modify { ror =>
ror.filterNot { case OutgoingOfferRound(toFactionId, _) =>
cf.addedOutgoingDiplomacyOfferPartners
.contains(toFactionId)
ror.filterNot {
case OutgoingOfferRound(
toFactionId,
_,
_ /* unknownFieldSet */
) =>
cf.addedOutgoingDiplomacyOfferPartners
.contains(toFactionId)
} ++ cf.addedOutgoingDiplomacyOfferPartners.map(toFid =>
OutgoingOfferRound(
toFactionId = toFid,
@@ -289,12 +289,29 @@ object AvailableDiplomacyCommandsFactory
.toVector
.sortBy(opt =>
LegacyFactionUtils.sortKey(gameState.factions(opt match {
case TruceOption(targetFactionId, _) => targetFactionId
case InvitationOption(targetFactionId, _) => targetFactionId
case RansomOfferOption(targetFactionId, _) => targetFactionId
case AllianceOption(targetFactionId, _) => targetFactionId
case BreakAllianceOption(targetFactionId, _) => targetFactionId
case DiplomacyOption.Empty => ???
case TruceOption(targetFactionId, _, _ /* unknownFieldSet */ ) =>
targetFactionId
case InvitationOption(
targetFactionId,
_,
_ /* unknownFieldSet */
) =>
targetFactionId
case RansomOfferOption(
targetFactionId,
_,
_ /* unknownFieldSet */
) =>
targetFactionId
case AllianceOption(targetFactionId, _, _ /* unknownFieldSet */ ) =>
targetFactionId
case BreakAllianceOption(
targetFactionId,
_,
_ /* unknownFieldSet */
) =>
targetFactionId
case DiplomacyOption.Empty => ???
}))
) match {
case Vector() => None
@@ -40,7 +40,8 @@ object AvailableResolveAllianceOfferCommandFactory {
messengerOriginProvinceId,
status,
offerTextId: String,
AllianceOfferDetails()
AllianceOfferDetails(_ /* unknownFieldSet */ ),
_ /* unknownFieldSet */
) =>
DiplomacyOffer(
originatingFactionId = originatingFactionId,
@@ -41,7 +41,8 @@ object AvailableResolveBreakAllianceCommandFactory {
messengerOriginProvinceId: FactionId,
status: DiplomacyOfferStatus,
offerTextId: String,
details: BreakAllianceDetails
details: BreakAllianceDetails,
_ /* unknownFieldSet */
) =>
DiplomacyOffer(
originatingFactionId = originatingFactionId,
@@ -24,7 +24,8 @@ object AvailableResolveInvitationCommandFactory {
_ /* messengerOriginProvinceId */,
DIPLOMACY_OFFER_STATUS_ACCEPTED,
_ /* offerMessage */,
InvitationDetails()
InvitationDetails(_ /* unknownFieldSet */ ),
_ /* unknownFieldSet */
) =>
true
case _ => false
@@ -41,7 +42,8 @@ object AvailableResolveInvitationCommandFactory {
_ /* messengerOriginProvinceId */,
DIPLOMACY_OFFER_STATUS_UNRESOLVED,
_ /* offerMessage */,
InvitationDetails()
InvitationDetails(_ /* unknownFieldSet */ ),
_ /* unknownFieldSet */
) =>
LegacyFactionUtils
.provinceCount(originatingFactionId, gameState) > 0
@@ -57,8 +59,8 @@ object AvailableResolveInvitationCommandFactory {
.incomingDiplomacyOffers
.filter { diploOffer =>
diploOffer.offerDetails match {
case InvitationDetails() => true
case _ => false
case InvitationDetails(_ /* unknownFieldSet */ ) => true
case _ => false
}
}
@@ -23,12 +23,24 @@ object AvailableResolveRansomOfferCommandFactory {
offer: DiplomacyOffer,
gs: GameState
): Boolean = offer.offerDetails match {
case RansomOfferDetails(Some(prisonerToBeRansomed), _, _, _) =>
case RansomOfferDetails(
Some(prisonerToBeRansomed),
_,
_,
_,
_ /* unknownFieldSet */
) =>
gs.factions.values
.flatMap(_.incomingDiplomacyOffers)
.exists { diploOffer =>
diploOffer.offerDetails match {
case RansomOfferDetails(_, prisonersOffered, _, _) =>
case RansomOfferDetails(
_,
prisonersOffered,
_,
_,
_ /* unknownFieldSet */
) =>
prisonersOffered
.exists(
_.heroId == prisonerToBeRansomed.prisonerHeroId
@@ -41,8 +53,8 @@ object AvailableResolveRansomOfferCommandFactory {
.filter(_.status != DIPLOMACY_OFFER_STATUS_REJECTED)
.exists { invitation =>
invitation.offerDetails match {
case InvitationDetails() => true
case _ => false
case InvitationDetails(_ /* unknownFieldSet */ ) => true
case _ => false
}
} || gs
.factions(offer.targetFactionId)
@@ -50,8 +62,8 @@ object AvailableResolveRansomOfferCommandFactory {
.filter(_.status != DIPLOMACY_OFFER_STATUS_REJECTED)
.exists {
_.offerDetails match {
case InvitationDetails() => true
case _ => false
case InvitationDetails(_ /* unknownFieldSet */ ) => true
case _ => false
}
}
case _ => throw new EagleInternalException("Not a ransom offer")
@@ -30,7 +30,8 @@ object AvailableResolveTributeCommandsFactory
case ag @ HostileArmyGroup(
fid: FactionId,
_,
status: HostileArmyGroupStatus
status: HostileArmyGroupStatus,
_ /* unknownFieldSet */
) =>
TributeAndFaction(
demandingFactionId = fid,
@@ -43,7 +43,8 @@ object AvailableResolveTruceOfferCommandFactory {
messengerOriginProvinceId,
status,
offerTextId,
TruceOfferDetails(_)
TruceOfferDetails(_, _),
_ /* unknownFieldSet */
) =>
DiplomacyOffer(
originatingFactionId = originatingFactionId,
@@ -83,7 +83,12 @@ object ChronicleEventGenerator {
relevantNotifications(awrs.actionResult)
.map(_.details)
.collect {
case AllianceAcceptedDetails(offeringFid, targetFid, ambassadorHid) =>
case AllianceAcceptedDetails(
offeringFid,
targetFid,
ambassadorHid,
_ /* unknownFieldSet */
) =>
AllianceAcceptedEvent(
offeringFactionId = offeringFid,
targetFactionId = targetFid,
@@ -94,7 +99,8 @@ object ChronicleEventGenerator {
capturedFromFactionId,
provinceId,
exiledHeroId,
exilingFactionId
exilingFactionId,
_ /* unknownFieldSet */
) =>
CapturedHeroExiledEvent(
capturedFromFactionId = capturedFromFactionId,
@@ -107,7 +113,8 @@ object ChronicleEventGenerator {
capturedFromFactionId,
provinceId,
executedHeroId,
executingFactionId
executingFactionId,
_ /* unknownFieldSet */
) =>
CapturedHeroExecutedEvent(
capturedFromFactionId = capturedFromFactionId,
@@ -120,7 +127,8 @@ object ChronicleEventGenerator {
capturedFromFactionId,
provinceId,
imprisonedHeroId,
imprisoningFactionId
imprisoningFactionId,
_ /* unknownFieldSet */
) =>
CapturedHeroImprisonedEvent(
capturedFromFactionId = capturedFromFactionId,
@@ -132,7 +140,8 @@ object ChronicleEventGenerator {
case HeroDepartureDetails(
departingHeroId,
fromFactionId,
provinceId
provinceId,
_ /* unknownFieldSet */
) =>
HeroDepartedEvent(
departingHeroId = departingHeroId,
@@ -144,7 +153,8 @@ object ChronicleEventGenerator {
heroId,
provinceId,
_ /* singularName */,
pluralName
pluralName,
_ /* unknownFieldSet */
) =>
SuppressBeastsFailedEvent(
heroId = heroId,
@@ -156,7 +166,8 @@ object ChronicleEventGenerator {
lastFactionId,
provinceId,
executedHeroId,
executingFactionId
executingFactionId,
_ /* unknownFieldSet */
) =>
PrisonerExecutedEvent(
lastFactionId = lastFactionId,
@@ -171,7 +182,8 @@ object ChronicleEventGenerator {
hero1ProvinceId,
hero2Id,
hero2FactionId,
hero2ProvinceId
hero2ProvinceId,
_ /* unknownFieldSet */
) =>
PrisonersExchangedEvent(
hero1Id = hero1Id,
@@ -186,7 +198,8 @@ object ChronicleEventGenerator {
provinceId,
conqueringFactionId,
otherAttackingFactionIds,
defendingFactionId
defendingFactionId,
_ /* unknownFieldSet */
) =>
ProvinceConqueredEvent(
provinceId = provinceId,
@@ -195,26 +208,43 @@ object ChronicleEventGenerator {
defendingFactionId = defendingFactionId
)
case ProvinceExpansionDetails(provinceId, expandingFactionId) =>
case ProvinceExpansionDetails(
provinceId,
expandingFactionId,
_ /* unknownFieldSet */
) =>
ProvinceExpansionEvent(
provinceId = provinceId,
expandingFactionId = expandingFactionId
)
case ProvinceHeldDetails(provinceId, attackingFids, defendingFid) =>
case ProvinceHeldDetails(
provinceId,
attackingFids,
defendingFid,
_ /* unknownFieldSet */
) =>
ProvinceHeldEvent(
provinceId = provinceId,
attackingFactionIds = attackingFids,
defendingFactionId = defendingFid
)
case SwearBrotherhoodDetails(factionId, newBrotherHeroId) =>
case SwearBrotherhoodDetails(
factionId,
newBrotherHeroId,
_ /* unknownFieldSet */
) =>
SwearBrotherhoodEvent(
factionId = factionId,
newBrotherHeroId = newBrotherHeroId
)
case InvitationAcceptedDetails(offeringFactionId, invitedFactionId) =>
case InvitationAcceptedDetails(
offeringFactionId,
invitedFactionId,
_ /* unknownFieldSet */
) =>
InvitationAcceptedEvent(
offeringFactionId = offeringFactionId,
invitedFactionId = invitedFactionId
@@ -223,7 +253,8 @@ object ChronicleEventGenerator {
case InvitationAmbassadorImprisonedDetails(
offeringFactionId,
invitedFactionId,
ambassadorHeroId
ambassadorHeroId,
_ /* unknownFieldSet */
) =>
InvitationAmbassadorImprisonedEvent(
offeringFactionId = offeringFactionId,
@@ -234,7 +265,8 @@ object ChronicleEventGenerator {
case TruceAcceptedDetails(
offeringFactionId,
targetFactionId,
ambassadorHeroId
ambassadorHeroId,
_ /* unknownFieldSet */
) =>
TruceAcceptedEvent(
offeringFactionId = offeringFactionId,
@@ -245,7 +277,8 @@ object ChronicleEventGenerator {
case TruceAmbassadorImprisonedDetails(
offeringFactionId,
targetFactionId,
ambassadorHeroId
ambassadorHeroId,
_ /* unknownFieldSet */
) =>
TruceAmbassadorImprisonedEvent(
offeringFactionId = offeringFactionId,
@@ -256,7 +289,8 @@ object ChronicleEventGenerator {
case BreakAllianceAcceptedDetails(
offeringFactionId,
targetFactionId,
ambassadorHeroId
ambassadorHeroId,
_ /* unknownFieldSet */
) =>
BreakAllianceEvent(
offeringFactionId = offeringFactionId,
@@ -267,7 +301,8 @@ object ChronicleEventGenerator {
case BreakAllianceAmbassadorImprisonedDetails(
offeringFactionId,
targetFactionId,
ambassadorHeroId
ambassadorHeroId,
_ /* unknownFieldSet */
) =>
BreakAllianceAmbassadorImprisonedEvent(
offeringFactionId = offeringFactionId,
@@ -278,7 +313,8 @@ object ChronicleEventGenerator {
case OutlawApprehendedDetails(
factionId,
provinceId,
apprehendedHeroId
apprehendedHeroId,
_ /* unknownFieldSet */
) =>
OutlawApprehendedEvent(
factionId = factionId,
@@ -289,7 +325,8 @@ object ChronicleEventGenerator {
case RansomPaidDetails(
ransomedHeroId,
ransomPaidByFactionId,
ransomPaidToFactionId
ransomPaidToFactionId,
_ /* unknownFieldSet */
) =>
RansomPaidEvent(
ransomedHeroId = ransomedHeroId,
@@ -300,7 +337,8 @@ object ChronicleEventGenerator {
case RansomRejectedDetails(
ransomedHeroId,
ransomRefusedByFactionId,
ransomOfferingFactionId
ransomOfferingFactionId,
_ /* unknownFieldSet */
) =>
RansomRejectedEvent(
ransomedHeroId = ransomedHeroId,
@@ -308,7 +346,12 @@ object ChronicleEventGenerator {
ransomOfferingFactionId = ransomOfferingFactionId
)
case ShatteredArmyDetails(factionId, provinceId, reason) =>
case ShatteredArmyDetails(
factionId,
provinceId,
reason,
_ /* unknownFieldSet */
) =>
ShatteredArmyEvent(
factionId = factionId,
provinceId = provinceId,
@@ -324,7 +367,12 @@ object ChronicleEventGenerator {
}
)
case VassalExiledDetails(factionId, provinceId, exiledHeroId) =>
case VassalExiledDetails(
factionId,
provinceId,
exiledHeroId,
_ /* unknownFieldSet */
) =>
VassalExiledEvent(
factionId = factionId,
provinceId = provinceId,
@@ -142,7 +142,8 @@ object EndBattleAftermathPhaseAction {
provinceId,
exilingHeroId,
exilingFactionId,
prisonerFactionId
prisonerFactionId,
_ /* unknownFieldSet */
) =>
val notificationLlmRequest =
CapturedHeroPleaGenerator.exiledNotification(
@@ -188,7 +189,8 @@ object EndBattleAftermathPhaseAction {
provinceId,
executingHeroId,
executingFactionId,
prisonerFactionId
prisonerFactionId,
_ /* unknownFieldSet */
) =>
val notificationLlmRequest =
CapturedHeroPleaGenerator.executedNotification(
@@ -232,7 +234,8 @@ object EndBattleAftermathPhaseAction {
provinceId,
imprisoningHeroId,
imprisoningFactionId,
prisonerFactionId
prisonerFactionId,
_ /* unknownFieldSet */
) =>
val notificationLlmRequest =
CapturedHeroPleaGenerator.imprisonedNotification(
@@ -280,7 +283,8 @@ object EndBattleAftermathPhaseAction {
fromProvinceId,
fromFactionId,
toProvinceId,
toFactionId
toFactionId,
_ /* unknownFieldSet */
) =>
RandomState(
ActionResult(
@@ -180,7 +180,11 @@ case class EndPlayerCommandsPhaseAction(gameState: GameState)
newProvinceEvents = Some(
ProvinceEventsReplacement(
newEvents = deferredChange match {
case BlizzardStarted(_, durationMonths) =>
case BlizzardStarted(
_,
durationMonths,
_ /* unknownFieldSet */
) =>
gs.provinces(pid).activeEvents :+ BlizzardEvent(
startDate = gs.currentDate,
endDate = DateUtils.addMonths(
@@ -188,12 +192,16 @@ case class EndPlayerCommandsPhaseAction(gameState: GameState)
durationMonths
)
)
case BlizzardEnded(_) =>
case BlizzardEnded(_, _ /* unknownFieldSet */ ) =>
gs.provinces(pid)
.activeEvents
.filterNot(ProvinceEventUtils.isBlizzardEvent)
case DroughtStarted(_, durationMonths) =>
case DroughtStarted(
_,
durationMonths,
_ /* unknownFieldSet */
) =>
gs.provinces(pid).activeEvents :+ DroughtEvent(
startDate = gs.currentDate,
endDate = DateUtils.addMonths(
@@ -202,23 +210,32 @@ case class EndPlayerCommandsPhaseAction(gameState: GameState)
)
)
case DroughtEnded(_) =>
case DroughtEnded(_, _ /* unknownFieldSet */ ) =>
gs.provinces(pid)
.activeEvents
.filterNot(ProvinceEventUtils.isDroughtEvent)
case EpidemicStarted(_) =>
case EpidemicStarted(_, _ /* unknownFieldSet */ ) =>
gs.provinces(pid).activeEvents :+ EpidemicEvent(
startDate = gs.currentDate
)
case PrisonerMoved(_, _, _) => Vector()
case PrisonerMoved(_, _, _, _ /* unknownFieldSet */ ) =>
Vector()
case PrisonerReturned(_, _, _, _, _) => Vector()
case _: CapturedHeroImprisoned => Vector()
case _: CapturedHeroExecuted => Vector()
case _: CapturedHeroExiled => Vector()
case _: CapturedHeroReturned => Vector()
case PrisonerReturned(
_,
_,
_,
_,
_,
_ /* unknownFieldSet */
) =>
Vector()
case _: CapturedHeroImprisoned => Vector()
case _: CapturedHeroExecuted => Vector()
case _: CapturedHeroExiled => Vector()
case _: CapturedHeroReturned => Vector()
case Empty => ???
}
@@ -214,7 +214,7 @@ case class PerformProvinceEventsAction(
)
)
)
case BeastsEvent(_, _, _, beastInfo) =>
case BeastsEvent(_, _, _, beastInfo, _ /* unknownFieldSet */ ) =>
cp.update(
_.optionalEconomyDevastationDelta.modify(dd =>
Some(dd.getOrElse(0.0) + beastInfo.economyDevastation)
@@ -427,7 +427,8 @@ case class PerformProvinceEventsAction(
_: Int,
_: Date,
endDate: Date,
_: BeastInfo
_: BeastInfo,
_ /* unknownFieldSet */
) =>
endDate > startingState.currentDate
case _ => false
@@ -537,18 +538,24 @@ case class PerformProvinceEventsAction(
val newProvinceEventSet = province.activeEvents.filter {
case ProvinceEvent.Empty => ???
case DroughtEvent(startDate, endDate) =>
case DroughtEvent(startDate, endDate, _ /* unknownFieldSet */ ) =>
endDate >= startingState.currentDate
case BeastsEvent(count, startDate, endDate, beastInfo) =>
case BeastsEvent(
count,
startDate,
endDate,
beastInfo,
_ /* unknownFieldSet */
) =>
endDate >= startingState.currentDate
case BlizzardEvent(startDate, endDate) =>
case BlizzardEvent(startDate, endDate, _ /* unknownFieldSet */ ) =>
endDate >= startingState.currentDate
case FestivalEvent(startDate, endDate) =>
case FestivalEvent(startDate, endDate, _ /* unknownFieldSet */ ) =>
endDate >= startingState.currentDate
case FloodEvent(startDate, endDate) =>
case FloodEvent(startDate, endDate, _ /* unknownFieldSet */ ) =>
endDate >= startingState.currentDate
case EpidemicEvent(startDate) => true
case ImminentRiotEvent() => true
case EpidemicEvent(startDate, _ /* unknownFieldSet */ ) => true
case ImminentRiotEvent(_ /* unknownFieldSet */ ) => true
} ++ newProvinceEvents(
province,
provinceEventRolls
@@ -87,11 +87,19 @@ case class ProvinceConqueredAction(
_,
_,
RansomOfferDetails(
Some(PrisonerToBeRansomed(_, conqueredProvince.id)),
Some(
PrisonerToBeRansomed(
_,
conqueredProvince.id,
_ /* unknownFieldSet */
)
),
_,
_,
_
)
_,
_ /* unknownFieldSet */
),
_ /* unknownFieldSet */
) =>
doff
}
@@ -27,7 +27,7 @@ case class SafePassageArmiesProceedAction(gs: GameState)
ha: HostileArmyGroup
): ActionResult =
ha.status match {
case SafePassageGranted(toProvinceId) =>
case SafePassageGranted(toProvinceId, _ /* unknownFieldSet */ ) =>
ActionResult(
`type` = ARMY_SAFE_PASSAGE_PROCEEDED,
player = Some(ha.factionId),
@@ -52,7 +52,7 @@ object AllianceResolutionHelpers {
functionalRandom: FunctionalRandom
): RandomState[ReturningHeroes.ReturningResult] =
allianceOffer.offerDetails match {
case AllianceOfferDetails() =>
case AllianceOfferDetails(_ /* unknownFieldSet */ ) =>
ReturningHeroes
.heroesReturningToFaction(
hids = Vector(allianceOffer.messengerHeroId),
@@ -140,7 +140,7 @@ object AllianceResolutionHelpers {
gs: GameState,
functionalRandom: FunctionalRandom
): RandomState[Vector[ActionResult]] = allianceOffer.offerDetails match {
case AllianceOfferDetails() =>
case AllianceOfferDetails(_ /* unknownFieldSet */ ) =>
returningHeroesForOffer(allianceOffer, gs, functionalRandom).map {
returningHeroes =>
val backstoryEvent = EventForHeroBackstory(
@@ -242,7 +242,7 @@ object AllianceResolutionHelpers {
gs: GameState,
functionalRandom: FunctionalRandom
): RandomState[ActionResult] = allianceOffer.offerDetails match {
case AllianceOfferDetails() =>
case AllianceOfferDetails(_ /* unknownFieldSet */ ) =>
returningHeroesForOffer(allianceOffer, gs, functionalRandom).map {
returningHeroes =>
val backstoryEvent = EventForHeroBackstory(
@@ -306,7 +306,7 @@ object AllianceResolutionHelpers {
def prisoner(allianceOffer: DiplomacyOffer): UnaffiliatedHero =
allianceOffer.offerDetails match {
case AllianceOfferDetails() =>
case AllianceOfferDetails(_ /* unknownFieldSet */ ) =>
UnaffiliatedHero(
heroId = allianceOffer.messengerHeroId,
`type` = UNAFFILIATED_HERO_PRISONER,
@@ -338,7 +338,7 @@ object AllianceResolutionHelpers {
allianceOffer: DiplomacyOffer,
gs: GameState
): ActionResult = allianceOffer.offerDetails match {
case AllianceOfferDetails() =>
case AllianceOfferDetails(_ /* unknownFieldSet */ ) =>
val backstoryEvent = EventForHeroBackstory(
date = gs.currentDate,
details = AllianceAmbassadorBackstoryEvent(
@@ -52,7 +52,7 @@ object BreakAllianceResolutionHelpers {
functionalRandom: FunctionalRandom
): RandomState[ReturningHeroes.ReturningResult] =
breakAllianceOffer.offerDetails match {
case BreakAllianceDetails() =>
case BreakAllianceDetails(_ /* unknownFieldSet */ ) =>
ReturningHeroes
.heroesReturningToFaction(
hids = Vector(breakAllianceOffer.messengerHeroId),
@@ -70,7 +70,7 @@ object BreakAllianceResolutionHelpers {
gs: GameState,
functionalRandom: FunctionalRandom
): RandomState[ActionResult] = breakAllianceOffer.offerDetails match {
case BreakAllianceDetails() =>
case BreakAllianceDetails(_ /* unknownFieldSet */ ) =>
returningHeroesForOffer(breakAllianceOffer, gs, functionalRandom).map {
returningHeroes =>
val backstoryEvent = EventForHeroBackstory(
@@ -171,7 +171,7 @@ object BreakAllianceResolutionHelpers {
def prisoner(breakAllianceOffer: DiplomacyOffer): UnaffiliatedHero =
breakAllianceOffer.offerDetails match {
case BreakAllianceDetails() =>
case BreakAllianceDetails(_ /* unknownFieldSet */ ) =>
UnaffiliatedHero(
heroId = breakAllianceOffer.messengerHeroId,
`type` = UNAFFILIATED_HERO_PRISONER,
@@ -203,7 +203,7 @@ object BreakAllianceResolutionHelpers {
breakAllianceOffer: DiplomacyOffer,
gs: GameState
): ActionResult = breakAllianceOffer.offerDetails match {
case BreakAllianceDetails() =>
case BreakAllianceDetails(_ /* unknownFieldSet */ ) =>
val backstoryEvent = EventForHeroBackstory(
date = gs.currentDate,
details = BreakAllianceAmbassadorBackstoryEvent(
@@ -73,16 +73,20 @@ object InvitationResolutionHelpers {
uh.recruitmentInfo
.flatMap(_.quest)
.map(_.details)
.collect { case TruceWithFactionQuest(targetFactionId) =>
Option.when(targetFactionId == invitedFid) {
uh.update(
_.divined := false,
_.recruitmentInfo := RecruitmentInfo(
status = RECRUITMENT_STATUS_NOT_DIVINED,
quest = None
.collect {
case TruceWithFactionQuest(
targetFactionId,
_ /* unknownFieldSet */
) =>
Option.when(targetFactionId == invitedFid) {
uh.update(
_.divined := false,
_.recruitmentInfo := RecruitmentInfo(
status = RECRUITMENT_STATUS_NOT_DIVINED,
quest = None
)
)
)
}
}
}
.flatten
}
@@ -153,7 +157,7 @@ object InvitationResolutionHelpers {
gs: GameState,
functionalRandom: FunctionalRandom
): RandomState[Vector[ActionResult]] = acceptedInvitation.offerDetails match {
case InvitationDetails() =>
case InvitationDetails(_ /* unknownFieldSet */ ) =>
val ambassadorBackstoryEvent = EventForHeroBackstory(
date = gs.currentDate,
details = InvitationAmbassadorBackstoryEvent(
@@ -298,7 +302,7 @@ object InvitationResolutionHelpers {
gs: GameState,
functionalRandom: FunctionalRandom
): RandomState[ActionResult] = rejectedInvitation.offerDetails match {
case InvitationDetails() =>
case InvitationDetails(_ /* unknownFieldSet */ ) =>
val invitingFid = rejectedInvitation.originatingFactionId
val rejectingFid = rejectedInvitation.targetFactionId
val messengerHid = rejectedInvitation.messengerHeroId
@@ -389,7 +393,7 @@ object InvitationResolutionHelpers {
def prisoner(invitation: DiplomacyOffer): UnaffiliatedHero =
invitation.offerDetails match {
case InvitationDetails() =>
case InvitationDetails(_ /* unknownFieldSet */ ) =>
UnaffiliatedHero(
heroId = invitation.messengerHeroId,
`type` = UNAFFILIATED_HERO_PRISONER,
@@ -421,7 +425,7 @@ object InvitationResolutionHelpers {
invitation: DiplomacyOffer,
gs: GameState
): ActionResult = invitation.offerDetails match {
case InvitationDetails() =>
case InvitationDetails(_ /* unknownFieldSet */ ) =>
val ambassadorBackstoryEvent = EventForHeroBackstory(
date = gs.currentDate,
details = InvitationAmbassadorBackstoryEvent(
@@ -58,7 +58,8 @@ object RansomResolutionHelpers {
Some(prisonerToBeRansomed),
prisonersOffered,
hostagesOffered,
goldOffered
goldOffered,
_ /* unknownFieldSet */
) =>
val tfid = offer.targetFactionId
@@ -63,7 +63,7 @@ object TruceResolutionHelpers {
functionalRandom: FunctionalRandom
): RandomState[ReturningHeroes.ReturningResult] =
truceOffer.offerDetails match {
case TruceOfferDetails(_ /* endDate */ ) =>
case TruceOfferDetails(_ /* endDate */, _ /* unknownFieldSet */ ) =>
ReturningHeroes
.heroesReturningToFaction(
hids = Vector(truceOffer.messengerHeroId),
@@ -87,8 +87,12 @@ object TruceResolutionHelpers {
.flatMap(_.quest)
.map(_.details)
.collect { case twfq: TruceWithFactionQuestProto => twfq }
.exists { case TruceWithFactionQuestProto(targetFactionId) =>
targetFactionId == truceOffer.targetFactionId
.exists {
case TruceWithFactionQuestProto(
targetFactionId,
_ /* unknownFieldSet */
) =>
targetFactionId == truceOffer.targetFactionId
}
)
@@ -136,7 +140,7 @@ object TruceResolutionHelpers {
gs: GameState,
functionalRandom: FunctionalRandom
): RandomState[ActionResult] = truceOffer.offerDetails match {
case TruceOfferDetails(endDate) =>
case TruceOfferDetails(endDate, _ /* unknownFieldSet */ ) =>
returningHeroesForOffer(truceOffer, gs, functionalRandom).map {
returningHeroes =>
val backstoryEvent = EventForHeroBackstory(
@@ -203,7 +207,7 @@ object TruceResolutionHelpers {
gs: GameState,
functionalRandom: FunctionalRandom
): RandomState[Vector[ActionResult]] = truceOffer.offerDetails match {
case TruceOfferDetails(_ /* endDate */ ) =>
case TruceOfferDetails(_ /* endDate */, _ /* unknownFieldSet */ ) =>
returningHeroesForOffer(truceOffer, gs, functionalRandom).map {
returningHeroes =>
val backstoryEvent = EventForHeroBackstory(
@@ -275,7 +279,7 @@ object TruceResolutionHelpers {
def prisoner(truceOffer: DiplomacyOffer): UnaffiliatedHero =
truceOffer.offerDetails match {
case TruceOfferDetails(_ /* endDate */ ) =>
case TruceOfferDetails(_ /* endDate */, _ /* unknownFieldSet */ ) =>
UnaffiliatedHero(
heroId = truceOffer.messengerHeroId,
`type` = UNAFFILIATED_HERO_PRISONER,
@@ -307,7 +311,7 @@ object TruceResolutionHelpers {
truceOffer: DiplomacyOffer,
gs: GameState
): Vector[ActionResult] = truceOffer.offerDetails match {
case TruceOfferDetails(_ /* endDate */ ) =>
case TruceOfferDetails(_ /* endDate */, _ /* unknownFieldSet */ ) =>
val backstoryEvent = EventForHeroBackstory(
date = gs.currentDate,
details = TruceAmbassadorBackstoryEvent(
@@ -148,7 +148,7 @@ object AttackDecisionCommand {
val selectedDecision = selectedCommand.decision
selectedDecision match {
case AdvanceDecision() =>
case AdvanceDecision(_ /* unknownFieldSet */ ) =>
commandRequire(
availableCommand.availableDecisions.contains(selectedDecision),
s"Selected decision $selectedDecision was not among ${availableCommand.availableDecisions}"
@@ -159,10 +159,11 @@ object AttackDecisionCommand {
attackingFactionId = actingFactionId,
provinceId = availableCommand.actingProvinceId
)
case DemandTributeDecision(tributeDemanded) =>
case DemandTributeDecision(tributeDemanded, _ /* unknownFieldSet */ ) =>
val availableDemandTribute =
availableCommand.availableDecisions.collectFirst {
case DemandTributeDecision(tribute) => tribute
case DemandTributeDecision(tribute, _ /* unknownFieldSet */ ) =>
tribute
}
commandRequire(
availableDemandTribute.isDefined,
@@ -195,7 +196,7 @@ object AttackDecisionCommand {
provinceId = availableCommand.actingProvinceId,
tribute = tributeDemanded
)
case WithdrawDecision() =>
case WithdrawDecision(_ /* unknownFieldSet */ ) =>
commandRequire(
availableCommand.availableDecisions.contains(selectedDecision),
s"Selected decision $selectedDecision was not among ${availableCommand.availableDecisions}"
@@ -205,7 +206,7 @@ object AttackDecisionCommand {
attackingFactionId = actingFactionId,
provinceId = availableCommand.actingProvinceId
)
case SafePassageDecision(toProvinceId) =>
case SafePassageDecision(toProvinceId, _ /* unknownFieldSet */ ) =>
commandRequire(
availableCommand.availableDecisions.contains(selectedDecision),
s"Selected decision $selectedDecision was not among ${availableCommand.availableDecisions}"
@@ -93,7 +93,8 @@ class CommandFactory {
options = cwac.options.map {
case TargetProvinceOptions(
targetedProvinceId,
controlWeatherTypes
controlWeatherTypes,
_ /* unknownFieldSet */
) =>
ControlWeatherCommand.ControlWeatherOption(
targetedProvinceId = targetedProvinceId,
@@ -245,7 +246,8 @@ class CommandFactory {
case EligibleGift(
recipientHeroId,
goldAvailable,
_ /* recipientProvinceId */
_ /* recipientProvinceId */,
_ /* unknownFieldSet */
) =>
HeroGiftCommand.EligibleGift(
recipientHeroId = recipientHeroId,
@@ -52,11 +52,11 @@ object DiplomacyCommand {
option: DiplomacyOption.NonEmpty
): FactionId =
option match {
case TruceOption(tfid, _) => tfid
case InvitationOption(tfid, _) => tfid
case RansomOfferOption(tfid, _) => tfid
case AllianceOption(tfid, _) => tfid
case BreakAllianceOption(tfid, _) => tfid
case TruceOption(tfid, _, _ /* unknownFieldSet */ ) => tfid
case InvitationOption(tfid, _, _ /* unknownFieldSet */ ) => tfid
case RansomOfferOption(tfid, _, _ /* unknownFieldSet */ ) => tfid
case AllianceOption(tfid, _, _ /* unknownFieldSet */ ) => tfid
case BreakAllianceOption(tfid, _, _ /* unknownFieldSet */ ) => tfid
}
def make(
@@ -86,7 +86,7 @@ object DiplomacyCommand {
val actingHeroId = selectedCommand.sentHeroId
nonEmptySelectedOption match {
case InvitationOption(_, goldCost) =>
case InvitationOption(_, goldCost, _ /* unknownFieldSet */ ) =>
commandRequire(
availableCommand.availableHeroIds
.contains(actingHeroId),
@@ -109,7 +109,7 @@ object DiplomacyCommand {
currentRoundId = currentRoundId
)
case TruceOption(_, goldCost) =>
case TruceOption(_, goldCost, _ /* unknownFieldSet */ ) =>
commandRequire(
availableCommand.availableHeroIds
.contains(actingHeroId),
@@ -135,7 +135,8 @@ object DiplomacyCommand {
case RansomOfferOption(
_,
ransomOfferOption: Option[RansomOfferDetails]
ransomOfferOption: Option[RansomOfferDetails],
_ /* unknownFieldSet */
) =>
commandRequire(
ransomOfferOption.nonEmpty,
@@ -149,7 +150,11 @@ object DiplomacyCommand {
)
val availableOptionOpt = availableCommand.options.collectFirst {
case x @ RansomOfferOption(tfid, availableOffer)
case x @ RansomOfferOption(
tfid,
availableOffer,
_ /* unknownFieldSet */
)
if tfid == targetFid
&& availableOffer.get.prisonerToBeRansomed == ransomOffer.prisonerToBeRansomed =>
x
@@ -213,7 +218,11 @@ object DiplomacyCommand {
currentRoundId = currentRoundId
)
case AllianceOption(targetFactionId, goldCost) =>
case AllianceOption(
targetFactionId,
goldCost,
_ /* unknownFieldSet */
) =>
commandRequire(
availableCommand.availableHeroIds
.contains(actingHeroId),
@@ -237,7 +246,11 @@ object DiplomacyCommand {
currentDate = currentDate
)
case BreakAllianceOption(targetFactionId, goldCost) =>
case BreakAllianceOption(
targetFactionId,
goldCost,
_ /* unknownFieldSet */
) =>
commandRequire(
availableCommand.availableHeroIds
.contains(actingHeroId),
@@ -151,19 +151,36 @@ object DivineCommand
.flatMap(_.quest)
.map(_.details)
.collect {
case SpecificExpansionQuest(provinceId) =>
case SpecificExpansionQuest(
provinceId,
_ /* unknownFieldSet */
) =>
Vector(provinceId)
case DefeatFactionQuest(targetFactionId) =>
case DefeatFactionQuest(
targetFactionId,
_ /* unknownFieldSet */
) =>
LegacyFactionUtils
.provinces(targetFactionId, gameState)
.map(_.id)
case TruceWithFactionQuest(targetFactionId) =>
case TruceWithFactionQuest(
targetFactionId,
_ /* unknownFieldSet */
) =>
LegacyFactionUtils
.provinces(targetFactionId, gameState)
.map(_.id)
case AlmsToProvinceQuest(provinceId, totalFood) =>
case AlmsToProvinceQuest(
provinceId,
totalFood,
_ /* unknownFieldSet */
) =>
Vector(provinceId)
case GiveToHeroesInProvinceQuest(provinceId, totalGold) =>
case GiveToHeroesInProvinceQuest(
provinceId,
totalGold,
_ /* unknownFieldSet */
) =>
Vector(provinceId)
}
.getOrElse(Vector())
@@ -153,7 +153,10 @@ object ExileVassalCommand {
.map(QuestConverter.toProto)
.map(_.details)
.exists {
case DismissSpecificVassalQuest(targetHeroId) =>
case DismissSpecificVassalQuest(
targetHeroId,
_ /* unknownFieldSet */
) =>
targetHeroId == exiledHeroBefore.id
case _ => false
}
@@ -90,23 +90,23 @@ object FreeForAllDecisionCommand {
case AttackDecisionType.Empty =>
throw new EagleCommandException(s"Must specify an attack decision type")
case AdvanceDecision() =>
case AdvanceDecision(_ /* unknownFieldSet */ ) =>
FreeForAllAttackCommand(
sc = selectedCommand,
attackingFactionId = actingFactionId,
provinceId = availableCommand.provinceId
)
case WithdrawDecision() =>
case WithdrawDecision(_ /* unknownFieldSet */ ) =>
FreeForAllWithdrawCommand(
sc = selectedCommand,
attackingFactionId = actingFactionId,
provinceId = availableCommand.provinceId
)
case DemandTributeDecision(_) =>
case DemandTributeDecision(_, _ /* unknownFieldSet */ ) =>
throw new EagleCommandException(
s"Demand Tribute not allowed for free-for-all"
)
case SafePassageDecision(_) =>
case SafePassageDecision(_, _ /* unknownFieldSet */ ) =>
throw new EagleCommandException(
s"Safe Passage not allowed for free-for-all"
)
@@ -31,11 +31,12 @@ object IssueOrdersCommand
player = Some(factionId),
province = Some(provinceId),
provinceActed = Some(provinceId),
changedProvinces = newOrders.map { case ProvinceOrders(pid, ord) =>
ChangedProvince(
id = pid,
newProvinceOrders = Some(ProvinceOrdersOption(ord))
)
changedProvinces = newOrders.map {
case ProvinceOrders(pid, ord, _ /* unknownFieldSet */ ) =>
ChangedProvince(
id = pid,
newProvinceOrders = Some(ProvinceOrdersOption(ord))
)
},
changedFactions =
if (gameState.factions(factionId).focusProvinceId == newFocusProvince)
@@ -66,7 +66,7 @@ object ManagePrisonersCommand
.find(_.heroId == prisonerId)
override def immediateExecute: ActionResult = selectedOption match {
case PrisonerManagementOptionRelease() =>
case PrisonerManagementOptionRelease(_ /* unknownFieldSet */ ) =>
ActionResult(
`type` = PRISONER_RELEASED,
player = Some(actingFactionId),
@@ -85,7 +85,7 @@ object ManagePrisonersCommand
)
)
)
case PrisonerManagementOptionExile() =>
case PrisonerManagementOptionExile(_ /* unknownFieldSet */ ) =>
ActionResult(
`type` = PRISONER_EXILED,
player = Some(actingFactionId),
@@ -104,7 +104,10 @@ object ManagePrisonersCommand
)
)
)
case PrisonerManagementOptionReturn(toFactionId) =>
case PrisonerManagementOptionReturn(
toFactionId,
_ /* unknownFieldSet */
) =>
ActionResult(
`type` = PRISONER_RETURNED,
player = Some(actingFactionId),
@@ -128,7 +131,10 @@ object ManagePrisonersCommand
)
)
)
case PrisonerManagementOptionMove(toProvinceId) =>
case PrisonerManagementOptionMove(
toProvinceId,
_ /* unknownFieldSet */
) =>
ActionResult(
`type` = PRISONER_MOVED,
player = Some(actingFactionId),
@@ -147,7 +153,7 @@ object ManagePrisonersCommand
)
)
)
case PrisonerManagementOptionExecute() =>
case PrisonerManagementOptionExecute(_ /* unknownFieldSet */ ) =>
ActionResult(
`type` = PRISONER_EXECUTED,
player = Some(actingFactionId),
@@ -45,7 +45,8 @@ object ResolveRansomOfferCommand
Some(prisonerToBeRansomed),
_ /* prisonersOffered */,
_ /* hostagesOffered */,
_ /* goldOffered */
_ /* goldOffered */,
_ /* unknownFieldSet */
) =>
val llmRequest =
DiplomacyResolutionLlmRequestGenerator.ransomResolutionRequest(
@@ -59,7 +59,8 @@ object ResolveTributeCommand
override def immediateExecute: ActionResult = {
val tributeAmount = demandingArmy.status match {
case TributeDemanded(tributeAmount) => tributeAmount
case TributeDemanded(tributeAmount, _ /* unknownFieldSet */ ) =>
tributeAmount
case _ => throw new IllegalStateException("Tribute not paid")
}
ActionResult(
@@ -153,7 +154,14 @@ object ResolveTributeCommand
.get
val tributeDemanded = selectedDemand.get match {
case TributeAndFaction(_, tributeDemanded, _, _) => tributeDemanded
case TributeAndFaction(
_,
tributeDemanded,
_,
_,
_ /* unknownFieldSet */
) =>
tributeDemanded
}
if (selectedCommand.paid) {
@@ -56,7 +56,8 @@ object ChronicleEventTextGenerator {
case AllianceAcceptedEvent(
offeringFactionId,
targetFactionId,
ambassadorHeroId
ambassadorHeroId,
_ /* unknownFieldSet */
) =>
val offeringFactionName =
maybeDestroyedFaction(offeringFactionId, gameState).name
@@ -72,7 +73,8 @@ object ChronicleEventTextGenerator {
case BreakAllianceEvent(
offeringFactionId,
targetFactionId,
ambassadorHeroId
ambassadorHeroId,
_ /* unknownFieldSet */
) =>
val offeringFactionName =
maybeDestroyedFaction(offeringFactionId, gameState).name
@@ -89,7 +91,8 @@ object ChronicleEventTextGenerator {
case BreakAllianceAmbassadorImprisonedEvent(
offeringFactionId,
targetFactionId,
ambassadorHeroId
ambassadorHeroId,
_ /* unknownFieldSet */
) =>
val offeringFactionName =
maybeDestroyedFaction(offeringFactionId, gameState).name
@@ -107,7 +110,8 @@ object ChronicleEventTextGenerator {
capturedFromFactionId,
provinceId,
exiledHeroId,
exilingFactionId
exilingFactionId,
_ /* unknownFieldSet */
) =>
val capturedFromFactionName =
maybeDestroyedFaction(capturedFromFactionId, gameState).name
@@ -127,7 +131,8 @@ object ChronicleEventTextGenerator {
capturedFromFactionId,
provinceId,
executedHeroId,
executingFactionId
executingFactionId,
_ /* unknownFieldSet */
) =>
val capturedFromFactionName =
maybeDestroyedFaction(capturedFromFactionId, gameState).name
@@ -149,7 +154,8 @@ object ChronicleEventTextGenerator {
capturedFromFactionId,
provinceId,
imprisonedHeroId,
imprisoningFactionId
imprisoningFactionId,
_ /* unknownFieldSet */
) =>
val capturedFromFactionName =
maybeDestroyedFaction(capturedFromFactionId, gameState).name
@@ -165,12 +171,17 @@ object ChronicleEventTextGenerator {
.objectPronoun(imprisonedHero.pronounGender)}. $imprisonedHeroBackstory"
}
case FactionDestroyedEvent(factionId) =>
case FactionDestroyedEvent(factionId, _ /* unknownFieldSet */ ) =>
TextGenerationSuccess(
s"${maybeDestroyedFaction(factionId, gameState).name} is no more."
)
case HeroDepartedEvent(departingHeroId, fromFactionId, provinceId) =>
case HeroDepartedEvent(
departingHeroId,
fromFactionId,
provinceId,
_ /* unknownFieldSet */
) =>
val departingHero = maybeKilledHero(departingHeroId, gameState)
val fromFaction = maybeDestroyedFaction(fromFactionId, gameState)
val province = gameState.provinces(provinceId)
@@ -181,7 +192,11 @@ object ChronicleEventTextGenerator {
s"${departingHero.name} of ${province.name} left ${fromFaction.name}. $departingHeroBackstory"
}
case InvitationAcceptedEvent(offeringFactionId, invitedFactionId) =>
case InvitationAcceptedEvent(
offeringFactionId,
invitedFactionId,
_ /* unknownFieldSet */
) =>
val offeringFactionName =
maybeDestroyedFaction(offeringFactionId, gameState).name
val invitedFactionName =
@@ -194,7 +209,8 @@ object ChronicleEventTextGenerator {
case InvitationAmbassadorImprisonedEvent(
offeringFactionId,
invitedFactionId,
ambassadorHeroId
ambassadorHeroId,
_ /* unknownFieldSet */
) =>
val offeringFactionName =
maybeDestroyedFaction(offeringFactionId, gameState).name
@@ -208,7 +224,12 @@ object ChronicleEventTextGenerator {
s"$offeringFactionName invited $invitedFactionName to join with them, but $invitedFactionName imprisoned the ambassador, ${ambassador.name}, instead. $ambassadorBackstory"
}
case OutlawApprehendedEvent(factionId, provinceId, apprehendedHeroId) =>
case OutlawApprehendedEvent(
factionId,
provinceId,
apprehendedHeroId,
_ /* unknownFieldSet */
) =>
val faction = maybeDestroyedFaction(factionId, gameState)
val province = gameState.provinces(provinceId)
val apprehendedHero =
@@ -224,7 +245,8 @@ object ChronicleEventTextGenerator {
lastFactionId,
provinceId,
executedHeroId,
executingFactionId
executingFactionId,
_ /* unknownFieldSet */
) =>
val lastFactionName =
lastFactionId
@@ -253,7 +275,8 @@ object ChronicleEventTextGenerator {
hero1ProvinceId,
hero2Id,
hero2FactionId,
hero2ProvinceId
hero2ProvinceId,
_ /* unknownFieldSet */
) =>
val hero1 = maybeKilledHero(hero1Id, gameState)
val hero1Faction =
@@ -272,7 +295,8 @@ object ChronicleEventTextGenerator {
provinceId,
conqueringFactionId,
otherAttackingFactionIds,
defendingFactionId
defendingFactionId,
_ /* unknownFieldSet */
) =>
val provinceName = gameState.provinces(provinceId).name
val conqueringFactionName =
@@ -291,7 +315,11 @@ object ChronicleEventTextGenerator {
.conjunction(otherAttackingFactions.map(_.name))} conquered $provinceName from $defendingFactionName."
)
case ProvinceExpansionEvent(provinceId, expandingFactionId) =>
case ProvinceExpansionEvent(
provinceId,
expandingFactionId,
_ /* unknownFieldSet */
) =>
val provinceName = gameState.provinces(provinceId).name
val expandingFactionName =
maybeDestroyedFaction(expandingFactionId, gameState).name
@@ -303,7 +331,8 @@ object ChronicleEventTextGenerator {
case ProvinceHeldEvent(
provinceId,
attackingFactionIds,
defendingFactionId
defendingFactionId,
_ /* unknownFieldSet */
) =>
val provinceName = gameState.provinces(provinceId).name
val attackingFactionNames = GeneratorUtilities.conjunction(
@@ -321,7 +350,8 @@ object ChronicleEventTextGenerator {
case RansomPaidEvent(
ransomedHeroId,
ransomPaidByFactionId,
ransomPaidToFactionId
ransomPaidToFactionId,
_ /* unknownFieldSet */
) =>
val ransomedHero = maybeKilledHero(ransomedHeroId, gameState)
val ransomPaidByFaction =
@@ -338,7 +368,8 @@ object ChronicleEventTextGenerator {
case RansomRejectedEvent(
ransomedHeroId,
ransomRejectedByFactionId,
ransomOfferingFactionId
ransomOfferingFactionId,
_ /* unknownFieldSet */
) =>
val ransomedHero = maybeKilledHero(ransomedHeroId, gameState)
val ransomRefusedByFaction =
@@ -352,7 +383,12 @@ object ChronicleEventTextGenerator {
s"${ransomRefusedByFaction.name} refused a ransom offer from ${ransomOfferingFaction.name} for ${ransomedHero.name}. $notRansomedHeroBackstory"
}
case ShatteredArmyEvent(factionId, provinceId, reason) =>
case ShatteredArmyEvent(
factionId,
provinceId,
reason,
_ /* unknownFieldSet */
) =>
val faction = maybeDestroyedFaction(factionId, gameState)
val province = gameState.provinces(provinceId)
val reasonString = reason match {
@@ -373,7 +409,8 @@ object ChronicleEventTextGenerator {
heroId,
provinceId,
_ /* singularName */,
pluralName
pluralName,
_ /* unknownFieldSet */
) =>
val hero = maybeKilledHero(heroId, gameState)
val province = gameState.provinces(provinceId)
@@ -384,7 +421,11 @@ object ChronicleEventTextGenerator {
s"${hero.name} was eradicated attempting to fight $pluralName in ${province.name}. $heroBackstory"
}
case SwearBrotherhoodEvent(factionId, newBrotherHeroId) =>
case SwearBrotherhoodEvent(
factionId,
newBrotherHeroId,
_ /* unknownFieldSet */
) =>
val faction = gameState.factions(factionId)
val factionHead =
maybeKilledHero(faction.factionHeadId, gameState)
@@ -399,7 +440,8 @@ object ChronicleEventTextGenerator {
case TruceAcceptedEvent(
offeringFactionId,
targetFactionId,
ambassadorHeroId
ambassadorHeroId,
_ /* unknownFieldSet */
) =>
val offeringFactionName =
maybeDestroyedFaction(offeringFactionId, gameState).name
@@ -417,7 +459,8 @@ object ChronicleEventTextGenerator {
case TruceAmbassadorImprisonedEvent(
offeringFactionId,
targetFactionId,
ambassadorHeroId
ambassadorHeroId,
_ /* unknownFieldSet */
) =>
val offeringFactionName =
maybeDestroyedFaction(offeringFactionId, gameState).name
@@ -432,7 +475,12 @@ object ChronicleEventTextGenerator {
s"$offeringFactionName offered a truce to $targetFactionName, but $targetFactionName imprisoned the ambassador, ${ambassador.name}, instead. $ambassadorBackstory"
}
case VassalExiledEvent(factionId, provinceId, exiledHeroId) =>
case VassalExiledEvent(
factionId,
provinceId,
exiledHeroId,
_ /* unknownFieldSet */
) =>
val faction = maybeDestroyedFaction(factionId, gameState)
val province = gameState.provinces(provinceId)
val exiledHero = maybeKilledHero(exiledHeroId, gameState)
@@ -53,7 +53,7 @@ case class DivineMessagePromptGenerator(
.getQuest
quest.details match {
case DefeatFactionQuest(targetFactionId) =>
case DefeatFactionQuest(targetFactionId, _ /* unknownFieldSet */ ) =>
val targetFaction = gameState.factions(targetFactionId)
val targetFactionLeader = gameState.heroes(targetFaction.factionHeadId)
@@ -63,41 +63,64 @@ case class DivineMessagePromptGenerator(
|$targetFactionLeaderDescription""".stripMargin
}
case AlmsAcrossRealmQuest(amount: Int) =>
case AlmsAcrossRealmQuest(amount: Int, _ /* unknownFieldSet */ ) =>
TextGenerationSuccess(
s"${divinedHero.name} wants ${faction.name} to give away $amount food in alms to the people across their realm."
)
case AlmsToProvinceQuest(provinceId: ProvinceId, amount: Int) =>
case AlmsToProvinceQuest(
provinceId: ProvinceId,
amount: Int,
_ /* unknownFieldSet */
) =>
val targetProvince = gameState.provinces(provinceId)
TextGenerationSuccess(
s"${divinedHero.name} wants ${faction.name} to give away $amount food in alms to the people of ${targetProvince.name}."
)
case GiveToHeroesAcrossRealmQuest(amount: Int) =>
case GiveToHeroesAcrossRealmQuest(
amount: Int,
_ /* unknownFieldSet */
) =>
TextGenerationSuccess(
s"${divinedHero.name} wants ${faction.name} to give away $amount gold in gifts to heroes across their realm."
)
case GiveToHeroesInProvinceQuest(provinceId: ProvinceId, amount: Int) =>
case GiveToHeroesInProvinceQuest(
provinceId: ProvinceId,
amount: Int,
_ /* unknownFieldSet */
) =>
val targetProvince = gameState.provinces(provinceId)
TextGenerationSuccess(
s"${divinedHero.name} wants ${faction.name} to give away $amount gold in gifts to the heroes of ${targetProvince.name}."
)
case ImproveAgricultureQuest(provinceId, desiredValue) =>
case ImproveAgricultureQuest(
provinceId,
desiredValue,
_ /* unknownFieldSet */
) =>
val targetProvince = gameState.provinces(provinceId)
TextGenerationSuccess(
s"${divinedHero.name} wants ${actingHero.name} to raise the agriculture of ${targetProvince.name} to ${desiredValue.ceil.toInt}."
)
case ImproveEconomyQuest(provinceId, desiredValue) =>
case ImproveEconomyQuest(
provinceId,
desiredValue,
_ /* unknownFieldSet */
) =>
val targetProvince = gameState.provinces(provinceId)
TextGenerationSuccess(
s"${divinedHero.name} wants ${actingHero.name} to raise the economy of ${targetProvince.name} to ${desiredValue.ceil.toInt}."
)
case ImproveInfrastructureQuest(provinceId, desiredValue) =>
case ImproveInfrastructureQuest(
provinceId,
desiredValue,
_ /* unknownFieldSet */
) =>
val targetProvince = gameState.provinces(provinceId)
TextGenerationSuccess(
s"${divinedHero.name} wants ${actingHero.name} to raise the infrastructure in ${targetProvince.name} to ${desiredValue.ceil.toInt}."
@@ -107,7 +130,8 @@ case class DivineMessagePromptGenerator(
provinceId: FactionId,
battalionTypeId: BattalionTypeId,
minimumArmament: Double,
minimumTraining: Double
minimumTraining: Double,
_ /* unknownFieldSet */
) =>
val battType =
gameState.battalionTypes.find(_.typeId == battalionTypeId).get
@@ -116,22 +140,22 @@ case class DivineMessagePromptGenerator(
s"${divinedHero.name} wants to see a mighty ${battType.name}, with an armament of ${minimumArmament.ceil.toInt} and training of ${minimumTraining.ceil.toInt}, in ${targetProvince.name}."
)
case GrandArmyQuest(totalTroopCount) =>
case GrandArmyQuest(totalTroopCount, _ /* unknownFieldSet */ ) =>
TextGenerationSuccess(
s"${divinedHero.name} wants to see a grand army of at least $totalTroopCount in ${province.name}."
)
case SpecificExpansionQuest(provinceId) =>
case SpecificExpansionQuest(provinceId, _ /* unknownFieldSet */ ) =>
TextGenerationSuccess(
s"${divinedHero.name} wants ${faction.name} to expand their domain to include the province of ${gameState.provinces(provinceId).name}."
)
case WealthQuest(gold, food) =>
case WealthQuest(gold, food, _ /* unknownFieldSet */ ) =>
TextGenerationSuccess(
s"${divinedHero.name} wants to see vast wealth of $gold gold and $food food in ${province.name}."
)
case DismissSpecificVassalQuest(targetHeroId) =>
case DismissSpecificVassalQuest(targetHeroId, _ /* unknownFieldSet */ ) =>
val targetHero = gameState.heroes(targetHeroId)
descriptionWithoutFaction(
@@ -143,7 +167,7 @@ case class DivineMessagePromptGenerator(
|$targetHeroDescription""".stripMargin
}
case TruceWithFactionQuest(targetFactionId) =>
case TruceWithFactionQuest(targetFactionId, _ /* unknownFieldSet */ ) =>
val targetFaction = gameState.factions(targetFactionId)
description(
@@ -155,7 +179,7 @@ case class DivineMessagePromptGenerator(
|$targetFactionLeaderDescription""".stripMargin
}
case TruceCountQuest(truceCount) =>
case TruceCountQuest(truceCount, _ /* unknownFieldSet */ ) =>
TextGenerationSuccess(
s"${divinedHero.name} wants to see the progress of peace, by seeing ${faction.name} sign truces with at least " +
s"$truceCount other factions. ${subjectPronoun(divinedHero.pronounGender)} does not care *which* factions as " +
@@ -107,7 +107,8 @@ case class HeroBackstoryUpdatePromptGenerator(
case AllianceAmbassadorBackstoryEvent(
fromFactionId,
toFactionId,
outcome
outcome,
_ /* unknownFieldSet */
) =>
val fromFaction = gameState.factions(fromFactionId)
val toFaction = gameState.factions(toFactionId)
@@ -138,7 +139,8 @@ case class HeroBackstoryUpdatePromptGenerator(
case BreakAllianceAmbassadorBackstoryEvent(
fromFactionId,
toFactionId,
outcome
outcome,
_ /* unknownFieldSet */
) =>
val fromFaction = gameState.factions(fromFactionId)
val toFaction = gameState.factions(toFactionId)
@@ -174,7 +176,8 @@ case class HeroBackstoryUpdatePromptGenerator(
case CapturedHeroExecutedBackstoryEvent(
capturingFactionId,
capturingHeroId,
provinceId
provinceId,
_ /* unknownFieldSet */
) =>
val capturedByFaction = gameState.factions(capturingFactionId)
val province = gameState.provinces(provinceId)
@@ -193,7 +196,8 @@ case class HeroBackstoryUpdatePromptGenerator(
case CapturedHeroExiledBackstoryEvent(
capturingFactionId,
capturingHeroId,
provinceId
provinceId,
_ /* unknownFieldSet */
) =>
val capturedByFaction = gameState.factions(capturingFactionId)
val province = gameState.provinces(provinceId)
@@ -213,7 +217,8 @@ case class HeroBackstoryUpdatePromptGenerator(
case CapturedHeroImprisonedBackstoryEvent(
capturingFactionId,
capturingHeroId,
provinceId
provinceId,
_ /* unknownFieldSet */
) =>
val capturedByFaction = gameState.factions(capturingFactionId)
val province = gameState.provinces(provinceId)
@@ -233,7 +238,8 @@ case class HeroBackstoryUpdatePromptGenerator(
case CapturedHeroRecruitedBackstoryEvent(
capturingFactionId,
capturingHeroId,
provinceId
provinceId,
_ /* unknownFieldSet */
) =>
val capturedByFaction = gameState.factions(capturingFactionId)
val province = gameState.provinces(provinceId)
@@ -253,7 +259,8 @@ case class HeroBackstoryUpdatePromptGenerator(
case CapturedHeroReturnedBackstoryEvent(
capturingFactionId,
capturingHeroId,
provinceId
provinceId,
_ /* unknownFieldSet */
) =>
val capturedByFaction = gameState.factions(capturingFactionId)
val capturedFromFaction = gameState.factions(hero.getFactionId)
@@ -276,7 +283,8 @@ case class HeroBackstoryUpdatePromptGenerator(
ransomPaidByFactionId,
ransomPaidToFactionId,
ransomedHeroId,
imprisonedInProvinceId
imprisonedInProvinceId,
_ /* unknownFieldSet */
) =>
val ransomPaidByFaction = gameState.factions(ransomPaidByFactionId)
val ransomPaidToFaction = gameState.factions(ransomPaidToFactionId)
@@ -293,7 +301,11 @@ case class HeroBackstoryUpdatePromptGenerator(
s"${hero.name} was offered up by ${ransomPaidByFaction.name} to ${ransomPaidToFaction.name} as part of a ransom for ${ransomedHero.name}. ${hero.name} is now imprisoned in ${imprisonedInProvince.name}. $ransomedHeroDescription"
}
case ExiledBackstoryEvent(exiledByFactionId, exiledInProvinceId) =>
case ExiledBackstoryEvent(
exiledByFactionId,
exiledInProvinceId,
_ /* unknownFieldSet */
) =>
val exiledByFaction = gameState.factions(exiledByFactionId)
val exiledInProvince = gameState.provinces(exiledInProvinceId)
val provinceLeader = gameState.heroes(exiledInProvince.rulingHeroId.get)
@@ -314,7 +326,8 @@ case class HeroBackstoryUpdatePromptGenerator(
isVictorious,
isAttacker,
enemyFactionIds,
status
status,
_ /* unknownFieldSet */
) =>
val province = gameState.provinces(provinceId)
val heroFaction = gameState.factions(hero.getFactionId)
@@ -380,7 +393,8 @@ case class HeroBackstoryUpdatePromptGenerator(
case HeroDepartedBackstoryEvent(
departedFromFactionId,
departedFromProvinceId
departedFromProvinceId,
_ /* unknownFieldSet */
) =>
val departedFromFaction = gameState.factions(departedFromFactionId)
val departedFromProvince = gameState.provinces(departedFromProvinceId)
@@ -392,7 +406,8 @@ case class HeroBackstoryUpdatePromptGenerator(
case InvitationAmbassadorBackstoryEvent(
fromFactionId,
toFactionId,
outcome
outcome,
_ /* unknownFieldSet */
) =>
val fromFaction = gameState.factions(fromFactionId)
val toFaction = gameState.factions.getOrElse(
@@ -426,8 +441,9 @@ case class HeroBackstoryUpdatePromptGenerator(
case JoinedByInvitationBackstoryEvent(
invitedByFactionId,
invitedByHeroId,
previousFactionId,
previousFactionHeadHeroId
_ /* previousFactionId */,
previousFactionHeadHeroId,
_ /* unknownFieldSet */
) =>
val invitedByFaction = gameState.factions(invitedByFactionId)
val invitedByFactionLeader =
@@ -467,7 +483,8 @@ case class HeroBackstoryUpdatePromptGenerator(
case PleaseRecruitMeBackstoryEvent(
desiredFactionId,
provinceId,
accepted
accepted,
_ /* unknownFieldSet */
) =>
val desiredFaction = gameState.factions(desiredFactionId)
val factionLeader = gameState.heroes(desiredFaction.factionHeadId)
@@ -486,7 +503,12 @@ case class HeroBackstoryUpdatePromptGenerator(
s"this request. $leaderDescription"
}
case QuestFailedBackstoryEvent(provinceId, factionId, quest) =>
case QuestFailedBackstoryEvent(
provinceId,
factionId,
quest,
_ /* unknownFieldSet */
) =>
val province = gameState.provinces(provinceId)
val faction = gameState.factions(factionId)
val factionHead = gameState.heroes(faction.factionHeadId)
@@ -512,7 +534,12 @@ case class HeroBackstoryUpdatePromptGenerator(
s"$questDescription ${hero.name} was disappointed when ${faction.name} failed in these aims. ${subjP.capitalize} $isV unlikely to join ${faction.name} any time soon. $factionHeadDescription"
}
case QuestFulfilledBackstoryEvent(provinceId, factionId, quest) =>
case QuestFulfilledBackstoryEvent(
provinceId,
factionId,
quest,
_ /* unknownFieldSet */
) =>
val province = gameState.provinces(provinceId)
val faction = gameState.factions(factionId)
val factionHead = gameState.heroes(faction.factionHeadId)
@@ -543,7 +570,8 @@ case class HeroBackstoryUpdatePromptGenerator(
ransomPaidToFactionId,
imprisonedInProvinceId,
goldPaid,
heroIdsExchanged
heroIdsExchanged,
_ /* unknownFieldSet */
) =>
val ransomPaidByFaction = gameState.factions(ransomPaidByFactionId)
val ransomPaidToFaction = gameState.factions(ransomPaidToFactionId)
@@ -559,7 +587,8 @@ case class HeroBackstoryUpdatePromptGenerator(
case RecruitedBackstoryEvent(
recruitedByFactionId,
recruitedByHeroId,
recruitedInProvinceId
recruitedInProvinceId,
_ /* unknownFieldSet */
) =>
val recruitedByFaction = gameState.factions(recruitedByFactionId)
val recruitedByHero = gameState.heroes(recruitedByHeroId)
@@ -577,7 +606,8 @@ case class HeroBackstoryUpdatePromptGenerator(
case ReleasedByAllianceBackstoryEvent(
releasingFactionId,
releasedFromProvinceId
releasedFromProvinceId,
_ /* unknownFieldSet */
) =>
val heroFaction = gameState.factions(hero.getFactionId)
val releasingFaction = gameState.factions(releasingFactionId)
@@ -589,7 +619,8 @@ case class HeroBackstoryUpdatePromptGenerator(
case ReleasedByProvinceCaptureBackstoryEvent(
releasingFactionId,
releasedFromProvinceId
releasedFromProvinceId,
_ /* unknownFieldSet */
) =>
val heroFaction = gameState.factions(hero.getFactionId)
val releasingFaction = gameState.factions(releasingFactionId)
@@ -604,7 +635,8 @@ case class HeroBackstoryUpdatePromptGenerator(
beastType,
beastCount,
battalion,
succeeded
succeeded,
_ /* unknownFieldSet */
) =>
val foughtText = battalion
.map { batt =>
@@ -625,7 +657,8 @@ case class HeroBackstoryUpdatePromptGenerator(
case SworeBrotherhoodBackstoryEvent(
sworeWithFactionId,
sworeInProvinceId
sworeInProvinceId,
_ /* unknownFieldSet */
) =>
val sworeWithFaction = gameState.factions(sworeWithFactionId)
val sworeInProvince = gameState.provinces(sworeInProvinceId)
@@ -651,7 +684,12 @@ case class HeroBackstoryUpdatePromptGenerator(
.replace("\n", " ")
}
case TruceAmbassadorBackstoryEvent(fromFactionId, toFactionId, outcome) =>
case TruceAmbassadorBackstoryEvent(
fromFactionId,
toFactionId,
outcome,
_ /* unknownFieldSet */
) =>
val toFaction = gameState.factions(toFactionId)
val toFactionLeader =
gameState.heroes(toFaction.factionHeadId)
@@ -46,7 +46,7 @@ object QuestEndedGeneratorUtilities {
clientTextStore: ClientTextStore
): TextGenerationResult =
quest.details match {
case DefeatFactionQuest(targetFactionId) =>
case DefeatFactionQuest(targetFactionId, _ /* unknownFieldSet */ ) =>
for {
targetFactionLeaderDescription <- description(
heroId = HeroInfoUtilities
@@ -62,41 +62,64 @@ object QuestEndedGeneratorUtilities {
|$targetFactionLeaderDescription""".stripMargin
}
case AlmsToProvinceQuest(provinceId: ProvinceId, amount: Int) =>
case AlmsToProvinceQuest(
provinceId: ProvinceId,
amount: Int,
_ /* unknownFieldSet */
) =>
val targetProvince = gameState.provinces(provinceId)
TextGenerationSuccess(
s"${unaffiliatedHero.name} wanted to see ${faction.name} give away $amount food to the people of ${targetProvince.name}."
)
case AlmsAcrossRealmQuest(amount: Int) =>
case AlmsAcrossRealmQuest(amount: Int, _ /* unknownFieldSet */ ) =>
TextGenerationSuccess(
s"${unaffiliatedHero.name} wanted to see ${faction.name} give away $amount food to the people across their realm."
)
case GiveToHeroesInProvinceQuest(provinceId: ProvinceId, amount: Int) =>
case GiveToHeroesInProvinceQuest(
provinceId: ProvinceId,
amount: Int,
_ /* unknownFieldSet */
) =>
val targetProvince = gameState.provinces(provinceId)
TextGenerationSuccess(
s"${unaffiliatedHero.name} wanted to see ${faction.name} give away $amount gold to the heroes of ${targetProvince.name}."
)
case GiveToHeroesAcrossRealmQuest(amount: Int) =>
case GiveToHeroesAcrossRealmQuest(
amount: Int,
_ /* unknownFieldSet */
) =>
TextGenerationSuccess(
s"${unaffiliatedHero.name} wanted to see ${faction.name} give away $amount gold to heroes across their realm."
)
case ImproveAgricultureQuest(provinceId, desiredValue) =>
case ImproveAgricultureQuest(
provinceId,
desiredValue,
_ /* unknownFieldSet */
) =>
val targetProvince = gameState.provinces(provinceId)
TextGenerationSuccess(
s"${unaffiliatedHero.name} wanted to see the agriculture of ${targetProvince.name} raised to ${desiredValue.ceil.toInt}."
)
case ImproveEconomyQuest(provinceId, desiredValue) =>
case ImproveEconomyQuest(
provinceId,
desiredValue,
_ /* unknownFieldSet */
) =>
val targetProvince = gameState.provinces(provinceId)
TextGenerationSuccess(
s"${unaffiliatedHero.name} wanted to see the economy of ${targetProvince.name} raised to ${desiredValue.ceil.toInt}."
)
case ImproveInfrastructureQuest(provinceId, desiredValue) =>
case ImproveInfrastructureQuest(
provinceId,
desiredValue,
_ /* unknownFieldSet */
) =>
val targetProvince = gameState.provinces(provinceId)
TextGenerationSuccess(
s"${unaffiliatedHero.name} wanted to see the infrastructure in ${targetProvince.name} raised to ${desiredValue.ceil.toInt}."
@@ -106,7 +129,8 @@ object QuestEndedGeneratorUtilities {
provinceId: FactionId,
battalionTypeId: BattalionTypeId,
minimumArmament: Double,
minimumTraining: Double
minimumTraining: Double,
_ /* unknownFieldSet */
) =>
val battType =
gameState.battalionTypes.find(_.typeId == battalionTypeId).get
@@ -115,22 +139,22 @@ object QuestEndedGeneratorUtilities {
s"${unaffiliatedHero.name} wanted to see a mighty ${battType.name}, with an armament of ${minimumArmament.ceil.toInt} and training of ${minimumTraining.ceil.toInt}, in ${targetProvince.name}."
)
case GrandArmyQuest(totalTroopCount) =>
case GrandArmyQuest(totalTroopCount, _ /* unknownFieldSet */ ) =>
TextGenerationSuccess(
s"${unaffiliatedHero.name} wanted to see a grand army of at least $totalTroopCount troops in ${province.name}."
)
case SpecificExpansionQuest(provinceId) =>
case SpecificExpansionQuest(provinceId, _ /* unknownFieldSet */ ) =>
TextGenerationSuccess(
s"${unaffiliatedHero.name} wanted ${faction.name} to expand their domain to include the province of ${gameState.provinces(provinceId).name}."
)
case WealthQuest(gold, food) =>
case WealthQuest(gold, food, _ /* unknownFieldSet */ ) =>
TextGenerationSuccess(
s"${unaffiliatedHero.name} wanted to see vast wealth of $gold gold and $food food in ${province.name}."
)
case DismissSpecificVassalQuest(targetHeroId) =>
case DismissSpecificVassalQuest(targetHeroId, _ /* unknownFieldSet */ ) =>
val targetHero = HeroInfoUtilities.getHero(targetHeroId, gameState)
for {
@@ -145,7 +169,7 @@ object QuestEndedGeneratorUtilities {
|""".stripMargin
}
case TruceWithFactionQuest(targetFactionId) =>
case TruceWithFactionQuest(targetFactionId, _ /* unknownFieldSet */ ) =>
val targetFaction =
HeroInfoUtilities.getFaction(targetFactionId, gameState)
@@ -161,7 +185,7 @@ object QuestEndedGeneratorUtilities {
|""".stripMargin
}
case TruceCountQuest(truceCount) =>
case TruceCountQuest(truceCount, _ /* unknownFieldSet */ ) =>
TextGenerationSuccess(
s"${unaffiliatedHero.name} wanted to see the progress of peace, by seeing ${faction.name} sign truces with at least $truceCount other factions."
)
@@ -26,12 +26,13 @@ object ProvinceEventUtils {
event.isInstanceOf[ImminentRiotEvent]
def beastsCount(event: ProvinceEvent): Int = event match {
case BeastsEvent(count: Int, _, _, _) => count
case _ => 0
case BeastsEvent(count: Int, _, _, _, _ /* unknownFieldSet */ ) => count
case _ => 0
}
def beastInfo(event: ProvinceEvent): Option[BeastInfo] = event match {
case BeastsEvent(_, _, _, beastInfo: BeastInfo) => Some(beastInfo)
case _ => None
case BeastsEvent(_, _, _, beastInfo: BeastInfo, _ /* unknownFieldSet */ ) =>
Some(beastInfo)
case _ => None
}
}
@@ -25,7 +25,8 @@ object RansomValidity {
Some(prisonerToBeRansomed),
prisonersOffered,
hostagesOffered,
goldOffered
goldOffered,
_ /* unknownFieldSet */
) =>
gs.provinces(offer.messengerOriginProvinceId)
.rulingFactionId
@@ -444,7 +444,13 @@ object CommandChoiceHelpers {
functionalRandom
) { case (ac, fr) =>
ac.availableHeroes.head match {
case ExpandedCapturedHero(hero, options, _, _) =>
case ExpandedCapturedHero(
hero,
options,
_,
_,
_ /* unknownFieldSet */
) =>
fr.nextDouble
.map { roll =>
Some(
@@ -545,7 +551,7 @@ object CommandChoiceHelpers {
flatSelectionForType[AttackDecisionAvailableCommand](availableCommands) {
availableCommand =>
availableCommand.availableDecisions.collectFirst {
case DemandTributeDecision(maxTribute) =>
case DemandTributeDecision(maxTribute, _ /* unknownFieldSet */ ) =>
tributeToDemand(maxTribute).flatMap { tribute =>
Option.when(
(okToAttack(
@@ -797,7 +803,8 @@ object CommandChoiceHelpers {
demandingFactionId: FactionId,
_: TributeAmount,
_: Int,
_: Int
_: Int,
_ /* unknownFieldSet */
) =>
Some(
CommandSelection(
@@ -1655,7 +1662,11 @@ object CommandChoiceHelpers {
) { case (ac, fr) =>
if (ac.actingProvinceId == chosenPid)
fr.nextFlatCollectFirst(ac.options) {
case RansomOfferOption(targetFactionId, Some(ransomOffer)) =>
case RansomOfferOption(
targetFactionId,
Some(ransomOffer),
_ /* unknownFieldSet */
) =>
innerFR =>
innerFR.nextRandomElement(ac.availableHeroIds).map { sentHeroId =>
RansomOfferHelpers
@@ -29,10 +29,13 @@ object DiplomacyCommandSelector {
targetFactionId: FactionId
): Boolean =
option match {
case TruceOption(tfid, _) => tfid == targetFactionId
case InvitationOption(tfid, _) => tfid == targetFactionId
case RansomOfferOption(tfid, _) => tfid == targetFactionId
case _ => false
case TruceOption(tfid, _, _ /* unknownFieldSet */ ) =>
tfid == targetFactionId
case InvitationOption(tfid, _, _ /* unknownFieldSet */ ) =>
tfid == targetFactionId
case RansomOfferOption(tfid, _, _ /* unknownFieldSet */ ) =>
tfid == targetFactionId
case _ => false
}
private def truceOptionWithTarget(
@@ -40,7 +43,9 @@ object DiplomacyCommandSelector {
targetFactionId: FactionId
): Option[TruceOption] =
options.collectFirst {
case x @ TruceOption(tfid, _) if tfid == targetFactionId => x
case x @ TruceOption(tfid, _, _ /* unknownFieldSet */ )
if tfid == targetFactionId =>
x
}
def chosenTruceWithFactionCommand(
@@ -51,8 +51,13 @@ object RansomOfferHelpers {
!gameState
.factions(offeringFactionId)
.lastOutgoingRansomOfferRounds
.exists { case OutgoingOfferRound(toFactionId, roundId) =>
toFactionId == targetFactionId && roundId + MinimumMonthsBeforeRepeatRansomOffer.intValue > gameState.currentRoundId
.exists {
case OutgoingOfferRound(
toFactionId,
roundId,
_ /* unknownFieldSet */
) =>
toFactionId == targetFactionId && roundId + MinimumMonthsBeforeRepeatRansomOffer.intValue > gameState.currentRoundId
}
def chosenOffer(
@@ -65,7 +70,8 @@ object RansomOfferHelpers {
_ /* prisonerToBeRansomed */,
prisonersOffered,
hostagesOffered,
goldOffered
goldOffered,
_ /* unknownFieldSet */
) =>
val nonFactionLeaderHostages =
hostagesOffered.filterNot(hoie =>
@@ -47,8 +47,13 @@ object TrustForDiplomacy {
!gameState
.factions(actingFactionId)
.lastOutgoingTruceOfferRounds
.exists { case OutgoingOfferRound(toFactionId, roundId) =>
toFactionId == targetFactionId && roundId + MinimumMonthsBeforeRepeatTruceOffer.intValue > gameState.currentRoundId
.exists {
case OutgoingOfferRound(
toFactionId,
roundId,
_ /* unknownFieldSet */
) =>
toFactionId == targetFactionId && roundId + MinimumMonthsBeforeRepeatTruceOffer.intValue > gameState.currentRoundId
}
def meetsConditionsForInvitation(
@@ -85,7 +90,12 @@ object TrustForDiplomacy {
!gameState
.factions(actingFactionId)
.lastOutgoingInvitationRounds
.exists { case OutgoingOfferRound(toFactionId, roundId) =>
toFactionId == targetFactionId && roundId + MinimumMonthsBeforeRepeatInvitation.intValue > gameState.currentRoundId
.exists {
case OutgoingOfferRound(
toFactionId,
roundId,
_ /* unknownFieldSet */
) =>
toFactionId == targetFactionId && roundId + MinimumMonthsBeforeRepeatInvitation.intValue > gameState.currentRoundId
}
}
@@ -17,7 +17,12 @@ object AlmsAcrossRealmQuestCommandChooser
): Option[Int] = uhsWithQuests
.map(uhwq => uhwq.quest)
.collect {
case Quest(_, componentsFulfilled, AlmsAcrossRealmQuest(amount: Int)) =>
case Quest(
_,
componentsFulfilled,
AlmsAcrossRealmQuest(amount: Int, _ /* unknownFieldSet */ ),
_ /* unknownFieldSet */
) =>
amount - componentsFulfilled
}
.maxOption
@@ -16,8 +16,16 @@ object AlmsToProvinceQuestCommandChooser
): Option[CommandSelection] =
uhsWithQuests
.map(uhwq => (uhwq.pid, uhwq.quest.details))
.collect { case (pid, AlmsToProvinceQuest(_: ProvinceId, amount: Int)) =>
(pid, amount)
.collect {
case (
pid,
AlmsToProvinceQuest(
_: ProvinceId,
amount: Int,
_ /* unknownFieldSet */
)
) =>
(pid, amount)
}
.groupBy(_._1)
.map { case (pid, amts) => (pid, amts.map(_._2).max) }
@@ -30,7 +30,11 @@ object DismissSpecificVassalCommandChooser
Quest(
_,
_,
DismissSpecificVassalQuest(targetHeroId)
DismissSpecificVassalQuest(
targetHeroId,
_ /* unknownFieldSet */
),
_ /* unknownFieldSet */
)
) =>
MoreOption.flatWhen(
@@ -20,7 +20,8 @@ object GiveToHeroesAcrossRealmQuestCommandChooser
case Quest(
_,
componentsFulfilled,
GiveToHeroesAcrossRealmQuest(amount: Int)
GiveToHeroesAcrossRealmQuest(amount: Int, _ /* unknownFieldSet */ ),
_ /* unknownFieldSet */
) =>
amount - componentsFulfilled
}
@@ -22,7 +22,11 @@ object GiveToHeroesInProvinceQuestCommandChooser
.collect {
case (
pid,
GiveToHeroesInProvinceQuest(_: ProvinceId, amount: Int),
GiveToHeroesInProvinceQuest(
_: ProvinceId,
amount: Int,
_ /* unknownFieldSet */
),
amountCompleted
) =>
(pid, amount - amountCompleted)
@@ -151,7 +151,8 @@ object LegacyFactionUtils {
_: FactionId,
FactionRelationship.RelationshipLevel.TRUCE,
resetDate,
_: Int
_: Int,
_ /* unknownFieldSet */
) =>
resetDate
case _ => None
@@ -191,7 +192,8 @@ object LegacyFactionUtils {
targetFid: FactionId,
FactionRelationship.RelationshipLevel.ALLY,
_ /* resetDate */: Option[Date],
_ /* trustLevel */: Int
_ /* trustLevel */: Int,
_ /* unknownFieldSet */
) =>
targetFid
}
@@ -91,9 +91,20 @@ object QuestCreationUtils {
val p = gs.provinces(pid)
functionalRandom.nextFlatMap(
Vector(
(p.agriculture, ImproveAgricultureQuest.apply _),
(p.economy, ImproveEconomyQuest.apply _),
(p.infrastructure, ImproveInfrastructureQuest.apply _)
(
p.agriculture,
(pid: ProvinceId, value: Double) =>
ImproveAgricultureQuest(pid, value)
),
(
p.economy,
(pid: ProvinceId, value: Double) => ImproveEconomyQuest(pid, value)
),
(
p.infrastructure,
(pid: ProvinceId, value: Double) =>
ImproveInfrastructureQuest(pid, value)
)
)
) { case ((value, maker), fr) =>
randomImprovementQuest(p.id, value, maker, fr).map(_.toVector)
@@ -55,7 +55,8 @@ object HeroViewFilter {
_ /* prisonerToBeRansomed */,
prisonersOffered,
hostagesOffered,
_ /* goldOffered */
_ /* goldOffered */,
_ /* unknownFieldSet */
) =>
hostagesOffered.exists(_.heroId == heroId) ||
prisonersOffered.exists(_.heroId == heroId)
@@ -11,7 +11,7 @@ object NotificationConverter {
def toProto(notification: NotificationT): NotificationProto =
NotificationProto(
details = notification.details,
targetFactions = notification.targetFactions.map(TargetFaction.apply),
targetFactions = notification.targetFactions.map(x => TargetFaction(x)),
affectedProvinceIds = notification.affectedProvinceIds,
affectedHeroIds = notification.affectedHeroIds,
llm = notification.llm match {
@@ -111,36 +111,67 @@ object QuestConverter {
componentCount = questProto.componentCount,
componentsFulfilled = questProto.componentsFulfilled,
details = questProto.details match {
case AlmsAcrossRealmQuestProto(totalFood) =>
case AlmsAcrossRealmQuestProto(totalFood, _ /* unknownFieldSet */ ) =>
AlmsAcrossRealmQuest(totalFood)
case AlmsToProvinceQuestProto(provinceId, totalFood) =>
case AlmsToProvinceQuestProto(
provinceId,
totalFood,
_ /* unknownFieldSet */
) =>
AlmsToProvinceQuest(provinceId, totalFood)
case DefeatFactionQuestProto(targetFactionId) =>
case DefeatFactionQuestProto(targetFactionId, _ /* unknownFieldSet */ ) =>
DefeatFactionQuest(targetFactionId)
case DismissSpecificVassalQuestProto(targetHeroId) =>
case DismissSpecificVassalQuestProto(
targetHeroId,
_ /* unknownFieldSet */
) =>
DismissSpecificVassalQuest(targetHeroId)
case GiveToHeroesAcrossRealmQuestProto(totalGold) =>
case GiveToHeroesAcrossRealmQuestProto(
totalGold,
_ /* unknownFieldSet */
) =>
GiveToHeroesAcrossRealmQuest(totalGold)
case GiveToHeroesInProvinceQuestProto(provinceId, totalGold) =>
case GiveToHeroesInProvinceQuestProto(
provinceId,
totalGold,
_ /* unknownFieldSet */
) =>
GiveToHeroesInProvinceQuest(provinceId, totalGold)
case GrandArmyQuestProto(totalTroopCount) =>
case GrandArmyQuestProto(totalTroopCount, _ /* unknownFieldSet */ ) =>
GrandArmyQuest(totalTroopCount)
case ImproveAgricultureQuestProto(provinceId, desiredValue) =>
case ImproveAgricultureQuestProto(
provinceId,
desiredValue,
_ /* unknownFieldSet */
) =>
ImproveAgricultureQuest(provinceId, desiredValue)
case ImproveEconomyQuestProto(provinceId, desiredValue) =>
case ImproveEconomyQuestProto(
provinceId,
desiredValue,
_ /* unknownFieldSet */
) =>
ImproveEconomyQuest(provinceId, desiredValue)
case ImproveInfrastructureQuestProto(provinceId, desiredValue) =>
case ImproveInfrastructureQuestProto(
provinceId,
desiredValue,
_ /* unknownFieldSet */
) =>
ImproveInfrastructureQuest(provinceId, desiredValue)
case SpecificExpansionQuestProto(provinceId) =>
case SpecificExpansionQuestProto(provinceId, _ /* unknownFieldSet */ ) =>
SpecificExpansionQuest(provinceId)
case TruceCountQuestProto(truceCount) => TruceCountQuest(truceCount)
case TruceWithFactionQuestProto(targetFactionId) =>
case TruceCountQuestProto(truceCount, _ /* unknownFieldSet */ ) =>
TruceCountQuest(truceCount)
case TruceWithFactionQuestProto(
targetFactionId,
_ /* unknownFieldSet */
) =>
TruceWithFactionQuest(targetFactionId)
case UpgradeBattalionQuestProto(
provinceId,
battalionTypeId,
minimumArmament,
minimumTraining
minimumTraining,
_ /* unknownFieldSet */
) =>
UpgradeBattalionQuest(
provinceId,
@@ -148,7 +179,8 @@ object QuestConverter {
minimumArmament,
minimumTraining
)
case WealthQuestProto(gold, food) => WealthQuest(gold, food)
case WealthQuestProto(gold, food, _ /* unknownFieldSet */ ) =>
WealthQuest(gold, food)
case QuestDetailsProto.Empty =>
throw new IllegalArgumentException("Empty quest details")
}
@@ -66,7 +66,7 @@ object UnaffiliatedHeroConverter {
factionBiases = uhProto.factionBiases,
lastFaction = uhProto.lastFaction,
recruitmentInfo = uhProto.recruitmentInfo.map {
case RecruitmentInfoProto(status, quest) =>
case RecruitmentInfoProto(status, quest, _ /* unknownFieldSet */ ) =>
RecruitmentInfo(
status = recruitmentStatusMap(status),
quest = quest.map(QuestConverter.fromProto)
@@ -84,20 +84,30 @@ case class ProvinceWrapper(provinceProto: ProvinceProto) extends ProvinceT {
override def deferredChanges: Vector[DeferredChangeT] =
provinceProto.deferredChanges.map {
case EpidemicStarted(responsibleFaction) =>
case EpidemicStarted(responsibleFaction, _ /* unknownFieldSet */ ) =>
DeferredChange.EpidemicStarted(responsibleFaction)
case DroughtStarted(responsibleFaction, durationMonths) =>
case DroughtStarted(
responsibleFaction,
durationMonths,
_ /* unknownFieldSet */
) =>
DeferredChange.DroughtStarted(responsibleFaction, durationMonths)
case DroughtEnded(responsibleFaction) =>
case DroughtEnded(responsibleFaction, _ /* unknownFieldSet */ ) =>
DeferredChange.DroughtEnded(responsibleFaction)
case PrisonerMoved(heroId, fromProvinceId, toProvinceId) =>
case PrisonerMoved(
heroId,
fromProvinceId,
toProvinceId,
_ /* unknownFieldSet */
) =>
DeferredChange.PrisonerMoved(heroId, fromProvinceId, toProvinceId)
case CapturedHeroImprisoned(
heroId,
provinceId,
imprisoningHeroId,
imprisoningFactionId,
prisonerFactionId
prisonerFactionId,
_ /* unknownFieldSet */
) =>
DeferredChange.CapturedHeroImprisoned(
heroId,
@@ -112,7 +122,8 @@ case class ProvinceWrapper(provinceProto: ProvinceProto) extends ProvinceT {
fromProvinceId,
fromFactionId,
toProvinceId,
toFactionId
toFactionId,
_ /* unknownFieldSet */
) =>
DeferredChange.CapturedHeroReturned(
heroId,
@@ -128,7 +139,8 @@ case class ProvinceWrapper(provinceProto: ProvinceProto) extends ProvinceT {
fromProvinceId,
fromFactionId,
toProvinceId,
toFactionId
toFactionId,
_ /* unknownFieldSet */
) =>
DeferredChange.PrisonerReturned(
heroId,
@@ -137,14 +149,19 @@ case class ProvinceWrapper(provinceProto: ProvinceProto) extends ProvinceT {
toProvinceId,
toFactionId
)
case BlizzardStarted(responsibleFaction, durationMonths) =>
case BlizzardStarted(
responsibleFaction,
durationMonths,
_ /* unknownFieldSet */
) =>
DeferredChange.BlizzardStarted(responsibleFaction, durationMonths)
case CapturedHeroExecuted(
heroId,
provinceId,
executingHeroId,
executingFactionId,
prisonerFactionId
prisonerFactionId,
_ /* unknownFieldSet */
) =>
DeferredChange.CapturedHeroExecuted(
heroId,
@@ -154,14 +171,15 @@ case class ProvinceWrapper(provinceProto: ProvinceProto) extends ProvinceT {
prisonerFactionId
)
case BlizzardEnded(responsibleFaction) =>
case BlizzardEnded(responsibleFaction, _ /* unknownFieldSet */ ) =>
DeferredChange.BlizzardEnded(responsibleFaction)
case CapturedHeroExiled(
heroId,
provinceId,
exilingHeroId,
exilingFactionId,
prisonerFactionId
prisonerFactionId,
_ /* unknownFieldSet */
) =>
DeferredChange.CapturedHeroExiled(
heroId,
@@ -52,8 +52,7 @@ scala_library(
"//src/main/scala/net/eagle0/eagle:__subpackages__",
],
deps = [
# "//src/main/protobuf/net/eagle0/eagle/api:eagle_scala_grpc",
"@scala_proto_rules_grpc_context",
"@maven//:io_grpc_grpc_api",
],
)
@@ -92,7 +92,14 @@ class EagleServiceImpl(
): Future[PostCommandResponse] =
lockAndDoWithUserName { un =>
request.command match {
case ShardokCommand(shardokGameId, playerId, token, index, roll) =>
case ShardokCommand(
shardokGameId,
playerId,
token,
index,
roll,
_ /* unknownFieldSet */
) =>
if (
gamesManager.gameControllerInfos.values.exists(
_.controller.gameId == request.gameId
@@ -117,7 +124,7 @@ class EagleServiceImpl(
index = index,
roll = roll
)
case EagleCommand(provinceId, eagleCommand) =>
case EagleCommand(provinceId, eagleCommand, _ /* unknownFieldSet */ ) =>
gamesManager.postCommand(
name = un,
gameId = request.gameId,
@@ -129,7 +136,8 @@ class EagleServiceImpl(
gameId,
playerId,
placementCommands,
token
token,
_ /* unknownFieldSet */
) =>
if (
gamesManager.gameControllerInfos.values.exists(
@@ -748,7 +748,7 @@ class GamesManager(
gameId = newGameId,
desiredLeader = desiredLeader
) match {
case JoinGameResponse(result, gameId) =>
case JoinGameResponse(result, gameId, _ /* unknownFieldSet */ ) =>
CreateGameResponse(result, gameId)
}
@@ -92,7 +92,8 @@ object GameController {
.map {
case StreamingTextStatus(
llmIdentifier: String,
knownByteCount: Int
knownByteCount: Int,
_ /* unknownFieldSet */
) =>
val bytes = text.getBytes(StandardCharsets.UTF_8)
internalRequire(
@@ -426,7 +426,11 @@ object FixedNewGameCreation extends NewGameCreation {
.id +: sf.swornBrotherNames.map(ar.heroWithName).map(_.id),
name = factionHeadGp.greatPerson.factionName,
factionRelationships = sf.startingTrusts.map {
case StartingTrust(targetFactionId, value) =>
case StartingTrust(
targetFactionId,
value,
_ /* unknownFieldSet */
) =>
FactionRelationship(
targetFactionId = targetFactionId,
relationshipLevel = HOSTILE,
@@ -153,7 +153,7 @@ scala_library(
"//src/main/scala/net/eagle0/eagle/library/settings:vigor_to_constitution_xp_multiplier",
"//src/main/scala/net/eagle0/eagle/library/util:hero_utils",
"//src/main/scala/net/eagle0/eagle/library/util/faction_utils:legacy_faction_utils",
"@scala_proto_rules_grpc_stub",
"@maven//:io_grpc_grpc_stub",
],
)
@@ -114,7 +114,8 @@ class InvitationCommandSelectorTest
case DiplomacySelectedCommand(
selectedOption,
targetFactionId,
sentHeroId
sentHeroId,
_ /* unknownFieldSet */
) =>
selectedOption shouldBe invitationOption
targetFactionId shouldBe targetFactionId
@@ -158,7 +158,8 @@ class MidGameAIClientTest
_, /* food */
originProvince,
destinationProvinceId,
marchingUnits
marchingUnits,
_ /* uknownFieldSet */
) =>
destinationProvinceId shouldBe 1
originProvince shouldBe 3
@@ -397,7 +398,11 @@ class MidGameAIClientTest
.selected
inside(selected) {
case ReconSelectedCommand(actingHeroId, targetProvinceId) =>
case ReconSelectedCommand(
actingHeroId,
targetProvinceId,
_ /* uknownFieldSet */
) =>
actingHeroId shouldBe 9
targetProvinceId shouldBe 23
}
@@ -455,7 +460,11 @@ class MidGameAIClientTest
.selected
inside(selected) {
case ReconSelectedCommand(actingHeroId, targetProvinceId) =>
case ReconSelectedCommand(
actingHeroId,
targetProvinceId,
_ /* uknownFieldSet */
) =>
actingHeroId shouldBe 9
targetProvinceId shouldBe 23
}
@@ -578,7 +587,11 @@ class MidGameAIClientTest
.selected
inside(selected) {
case ReconSelectedCommand(actingHeroId, targetProvinceId) =>
case ReconSelectedCommand(
actingHeroId,
targetProvinceId,
_ /* uknownFieldSet */
) =>
actingHeroId shouldBe 9
targetProvinceId shouldBe 7
}
@@ -777,7 +790,12 @@ class MidGameAIClientTest
.get
inside(command.selected) {
case ImproveSelectedCommand(improvementType, _, _) =>
case ImproveSelectedCommand(
improvementType,
_,
_,
_ /* uknownFieldSet */
) =>
improvementType shouldBe ImprovementType.ECONOMY
}
}
@@ -813,7 +831,12 @@ class MidGameAIClientTest
.get
inside(command.selected) {
case ImproveSelectedCommand(improvementType, _, _) =>
case ImproveSelectedCommand(
improvementType,
_,
_,
_ /* uknownFieldSet */
) =>
improvementType shouldBe ImprovementType.AGRICULTURE
}
}
@@ -869,7 +892,8 @@ class MidGameAIClientTest
food,
originProvince,
destinationProvinceId,
marchingUnits
marchingUnits,
_ /* uknownFieldSet */
) =>
originProvince shouldBe 7
destinationProvinceId shouldBe 15
@@ -124,7 +124,8 @@ class MoveLeaderToBetterProvinceCommandChooserTest
_, /* food */
originProvince,
destinationProvinceId,
marchingUnits
marchingUnits,
_ /* uknownFieldSet */
) =>
destinationProvinceId shouldBe 2
originProvince shouldBe 1
@@ -187,7 +188,8 @@ class MoveLeaderToBetterProvinceCommandChooserTest
_, /* food */
originProvince,
destinationProvinceId,
marchingUnits
marchingUnits,
_ /* uknownFieldSet */
) =>
destinationProvinceId shouldBe 4
originProvince shouldBe 2
@@ -130,7 +130,10 @@ class SeekMoreLeadersCommandChooserTest
selection.available shouldBe swearBrotherhoodAC
inside(selection.selected) {
case SwearBrotherhoodSelectedCommand(newBrotherHeroId) =>
case SwearBrotherhoodSelectedCommand(
newBrotherHeroId,
_ /* uknownFieldSet */
) =>
newBrotherHeroId shouldBe 12
}
}
@@ -154,7 +157,7 @@ class SeekMoreLeadersCommandChooserTest
selection.available should not be swearBrotherhoodAC
selection.selected should not matchPattern {
case SwearBrotherhoodSelectedCommand(_) =>
case SwearBrotherhoodSelectedCommand(_, _ /* uknownFieldSet */ ) =>
}
}
@@ -180,7 +183,8 @@ class SeekMoreLeadersCommandChooserTest
.get
selection.available shouldBe feastAC
selection.selected should matchPattern { case FeastSelectedCommand() =>
selection.selected should matchPattern {
case FeastSelectedCommand(_ /* uknownFieldSet */ ) =>
}
}
@@ -207,7 +211,11 @@ class SeekMoreLeadersCommandChooserTest
selection.available shouldBe heroGiftAC
inside(selection.selected) {
case HeroGiftSelectedCommand(recipientHeroId, amount) =>
case HeroGiftSelectedCommand(
recipientHeroId,
amount,
_ /* uknownFieldSet */
) =>
recipientHeroId shouldBe 12
amount shouldBe 100
}
@@ -139,7 +139,11 @@ class AvailableDeclineQuestCommandsFactoryTest
.get
inside(command) {
case DeclineQuestAvailableCommand(actingProvinceId, declinableHeroes) =>
case DeclineQuestAvailableCommand(
actingProvinceId,
declinableHeroes,
_ /* uknownFieldSet */
) =>
actingProvinceId should equal(provinceId)
declinableHeroes should have size 1
@@ -209,7 +209,7 @@ class AvailableDiplomacyCommandsFactoryTest
diploCmd.availableHeroIds shouldBe Vector(8, 9, 10, 11)
diploCmd.options.foreach {
case TruceOption(targetFactionId, _) =>
case TruceOption(targetFactionId, _, _ /* uknownFieldSet */ ) =>
targetFactionId should not be 5
case _ =>
}
@@ -236,8 +236,9 @@ class AvailableDiplomacyCommandsFactoryTest
)
)
diploCmd.options.collect { case bao @ BreakAllianceOption(_, _) =>
bao
diploCmd.options.collect {
case bao @ BreakAllianceOption(_, _, _ /* uknownFieldSet */ ) =>
bao
} shouldBe empty
}
@@ -354,8 +355,8 @@ class AvailableDiplomacyCommandsFactoryTest
.options
.exists(
_ match {
case InvitationOption(_, _) => true
case _ => false
case InvitationOption(_, _, _ /* uknownFieldSet */ ) => true
case _ => false
}
) shouldBe false
}
@@ -399,8 +400,9 @@ class AvailableDiplomacyCommandsFactoryTest
diploCmd.availableHeroIds shouldBe Vector(8, 9, 10, 11)
diploCmd.options.exists(dipOpt =>
dipOpt match {
case InvitationOption(targetFactionId, _) => targetFactionId == 4
case _ => false
case InvitationOption(targetFactionId, _, _ /* uknownFieldSet */ ) =>
targetFactionId == 4
case _ => false
}
) shouldBe false
}
@@ -416,8 +418,8 @@ class AvailableDiplomacyCommandsFactoryTest
diploCmd.availableHeroIds shouldBe Vector(8, 9, 10, 11)
diploCmd.options.exists(_ match {
case InvitationOption(_, _) => true
case _ => false
case InvitationOption(_, _, _ /* uknownFieldSet */ ) => true
case _ => false
}) shouldBe false
}
@@ -432,8 +434,8 @@ class AvailableDiplomacyCommandsFactoryTest
.get
diploCmd.options.exists(_ match {
case InvitationOption(_, _) => true
case _ => false
case InvitationOption(_, _, _ /* uknownFieldSet */ ) => true
case _ => false
}) shouldBe false
}
@@ -448,8 +450,8 @@ class AvailableDiplomacyCommandsFactoryTest
.get
diploCmd.options.exists(_ match {
case InvitationOption(_, _) => true
case _ => false
case InvitationOption(_, _, _ /* uknownFieldSet */ ) => true
case _ => false
}) shouldBe false
}
@@ -465,8 +467,8 @@ class AvailableDiplomacyCommandsFactoryTest
.get
diploCmd.options.exists(_ match {
case InvitationOption(_, _) => true
case _ => false
case InvitationOption(_, _, _ /* uknownFieldSet */ ) => true
case _ => false
}) shouldBe true
}
@@ -494,8 +496,8 @@ class AvailableDiplomacyCommandsFactoryTest
.get
diploCmd.options.exists(_ match {
case InvitationOption(_, _) => true
case _ => false
case InvitationOption(_, _, _ /* uknownFieldSet */ ) => true
case _ => false
}) shouldBe true
}
@@ -586,8 +588,8 @@ class AvailableDiplomacyCommandsFactoryTest
diploCmd.availableHeroIds shouldBe Vector(8, 9, 10, 11)
diploCmd.options.exists(_ match {
case TruceOption(5, _) => true
case _ => false
case TruceOption(5, _, _ /* uknownFieldSet */ ) => true
case _ => false
}) shouldBe false
}
@@ -254,8 +254,8 @@ class AvailableManagePrisonerCommandsFactoryTest
.get
.availableOptions
.forall {
case PrisonerManagementOptionReturn(_) => false
case _ => true
case PrisonerManagementOptionReturn(_, _ /* uknownFieldSet */ ) => false
case _ => true
} shouldBe true
}
@@ -163,7 +163,7 @@ class EndBattleAftermathPhaseActionTest
the[EagleInternalException] thrownBy {
EndBattleAftermathPhaseAction(gameState).results(actionResultProtoApplier)
} should have message "requirement failed: There is still a hostile army with status TributeDemanded(TributeAmount(17,11)) for faction 17 in province 7"
} should have message "requirement failed: There is still a hostile army with status TributeDemanded(TributeAmount(17,11,UnknownFieldSet(Map())),UnknownFieldSet(Map())) for faction 17 in province 7"
}
it should "remove an executed hero" in {
@@ -368,7 +368,11 @@ class PerformVassalCommandsPhaseActionTest
).chooseCommand(developingProvince.id, functionalRandom).newValue.get
inside(selection.available) {
case FeastAvailableCommand(_, actingProvinceId) =>
case FeastAvailableCommand(
_,
actingProvinceId,
_ /* uknownFieldSet */
) =>
actingProvinceId shouldBe developingProvince.id
}
}
@@ -408,8 +412,16 @@ class PerformVassalCommandsPhaseActionTest
case CommandSelection(
_,
_,
HeroGiftAvailableCommand(eligibleGifts, actingProvinceId),
HeroGiftSelectedCommand(recipientHeroId, amount),
HeroGiftAvailableCommand(
eligibleGifts,
actingProvinceId,
_ /* uknownFieldSet */
),
HeroGiftSelectedCommand(
recipientHeroId,
amount,
_ /* uknownFieldSet */
),
_
) =>
actingProvinceId shouldBe developingProvince.id
@@ -622,7 +634,8 @@ class PerformVassalCommandsPhaseActionTest
food,
originProvince,
destinationProvinceId,
marchingUnits
marchingUnits,
_ /* uknownFieldSet */
) =>
marchingUnits should have size 4
gold shouldBe 650
@@ -761,7 +774,8 @@ class PerformVassalCommandsPhaseActionTest
food,
originProvince,
destinationProvinceId,
marchingUnits
marchingUnits,
_ /* uknownFieldSet */
) =>
marchingUnits should have size 4
marchingUnits.distinct should have size 4
@@ -205,7 +205,7 @@ class AttackDecisionCommandTest
selectedCommand = advanceDecisionCommand,
defendingFactionId = defenderFid
)
} should have message "requirement failed: Selected decision AdvanceDecision() was not among Vector(DemandTributeDecision(TributeAmount(100,200)))"
} should have message "requirement failed: Selected decision AdvanceDecision(UnknownFieldSet(Map())) was not among Vector(DemandTributeDecision(TributeAmount(100,200,UnknownFieldSet(Map())),UnknownFieldSet(Map())))"
}
"advance decision command" should "set the result type to ARMY_ADVANCED" in {
@@ -162,7 +162,12 @@ class DeclineQuestCommandTest extends AnyFlatSpec {
note.affectedProvinceIds shouldBe Vector(provinceId)
note.affectedHeroIds shouldBe Vector(8)
inside(note.details) {
case QuestFailedDetails(heroId, provinceId, failedQuest) =>
case QuestFailedDetails(
heroId,
provinceId,
failedQuest,
_ /* uknownFieldSet */
) =>
heroId shouldBe 8
provinceId shouldBe provinceId
failedQuest shouldBe Some(questProto)
@@ -192,7 +197,8 @@ class DeclineQuestCommandTest extends AnyFlatSpec {
heroId,
provinceId,
_ /* factionId */,
failedQuest
failedQuest,
_ /* uknownFieldSet */
) =>
heroId shouldBe 8
provinceId shouldBe provinceId
@@ -219,7 +225,7 @@ class DeclineQuestCommandTest extends AnyFlatSpec {
ch.newEventsForHeroBackstory should have size 1
inside(ch.newEventsForHeroBackstory.head) {
case EventForHeroBackstoryWrapper(
EventForHeroBackstory(date, details)
EventForHeroBackstory(date, details, _ /* uknownFieldSet */ )
) =>
date shouldBe DateProto(year = 2024, month = 6)
details shouldBe QuestFailedBackstoryEvent(
@@ -116,7 +116,7 @@ class DiplomacyCommandTest
currentRoundId = currentRoundId,
currentDate = currentDate
)
} should have message "requirement failed: Target fid 5 did not match selected option TruceOption(4,0)"
} should have message "requirement failed: Target fid 5 did not match selected option TruceOption(4,0,UnknownFieldSet(Map()))"
}
"TruceCommand execute" should "have type TRUCE_OFFERED" in {
@@ -109,6 +109,6 @@ class FreeForAllDecisionCommandTest
availableCommand = smallerAC,
selectedCommand = withdrawCommand
)
} should have message "requirement failed: Selected WithdrawDecision() was not in Vector(AdvanceDecision())"
} should have message "requirement failed: Selected WithdrawDecision(UnknownFieldSet(Map())) was not in Vector(AdvanceDecision(UnknownFieldSet(Map())))"
}
}
@@ -155,7 +155,7 @@ class IssueOrdersCommandTest extends AnyFlatSpec with Matchers {
selectedCommand = selectedCommand
)
} should have message
"requirement failed: Duplicate province ID found in orders Vector(ProvinceOrders(5,DEVELOP), ProvinceOrders(9,EXPAND), ProvinceOrders(5,MOBILIZE))"
"requirement failed: Duplicate province ID found in orders Vector(ProvinceOrders(5,DEVELOP,UnknownFieldSet(Map())), ProvinceOrders(9,EXPAND,UnknownFieldSet(Map())), ProvinceOrders(5,MOBILIZE,UnknownFieldSet(Map())))"
}
"make with an unowned province ID" should "throw with unowned id message" in {
@@ -175,7 +175,7 @@ class IssueOrdersCommandTest extends AnyFlatSpec with Matchers {
selectedCommand = selectedCommand
)
} should have message
"requirement failed: Found a province that does not belong to player 7 in Vector(ProvinceOrders(5,DEVELOP), ProvinceOrders(9,EXPAND), ProvinceOrders(1,MOBILIZE))"
"requirement failed: Found a province that does not belong to player 7 in Vector(ProvinceOrders(5,DEVELOP,UnknownFieldSet(Map())), ProvinceOrders(9,EXPAND,UnknownFieldSet(Map())), ProvinceOrders(1,MOBILIZE,UnknownFieldSet(Map())))"
}
"make with focus province ID set" should "change the faction to the new focus province in the faction" in {
@@ -195,7 +195,7 @@ class ManagePrisonersCommandTest
availableCommand = availableCommand,
selectedCommand = sc
)
} should have message "requirement failed: Selected management type PrisonerManagementOptionRelease() was not among available options Vector(PrisonerManagementOptionExecute(), PrisonerManagementOptionReturn(98), PrisonerManagementOptionMove(17))"
} should have message "requirement failed: Selected management type PrisonerManagementOptionRelease(UnknownFieldSet(Map())) was not among available options Vector(PrisonerManagementOptionExecute(UnknownFieldSet(Map())), PrisonerManagementOptionReturn(98,UnknownFieldSet(Map())), PrisonerManagementOptionMove(17,UnknownFieldSet(Map())))"
}
"execute" should "set the basics" in {
@@ -294,12 +294,14 @@ class ManagePrisonersCommandTest
lastFactionId,
provinceId,
executedHeroId,
executingFactionId
executingFactionId,
_ /* uknownFieldSet */
),
_,
_,
_,
_
_,
_ /* uknownFieldSet */
)
) =>
provinceId shouldBe provinceId
@@ -151,13 +151,14 @@ class RecruitHeroesCommandTest
result.changedHeroes should have size 1
val newBackstoryEvent =
result.changedHeroes.head.newBackstoryEvents.loneElement
inside(newBackstoryEvent) { case EventForHeroBackstory(date, details) =>
date shouldBe startingState.currentDate
details shouldBe RecruitedBackstoryEvent(
recruitedByFactionId = actingFactionId,
recruitedByHeroId = rulingHeroId,
recruitedInProvinceId = provinceId
)
inside(newBackstoryEvent) {
case EventForHeroBackstory(date, details, _ /* uknownFieldSet */ ) =>
date shouldBe startingState.currentDate
details shouldBe RecruitedBackstoryEvent(
recruitedByFactionId = actingFactionId,
recruitedByHeroId = rulingHeroId,
recruitedInProvinceId = provinceId
)
}
}
@@ -1020,7 +1020,8 @@ class CommandChoiceHelpersTest
gold,
food,
actingHeroId,
destinationProvinceId
destinationProvinceId,
_ /* uknownFieldSet */
) =>
gold shouldBe 99
food shouldBe 200
@@ -1081,7 +1082,8 @@ class CommandChoiceHelpersTest
gold,
food,
actingHeroId,
destinationProvinceId
destinationProvinceId,
_ /* uknownFieldSet */
) =>
gold shouldBe 100
food shouldBe 199
@@ -1203,7 +1205,8 @@ class CommandChoiceHelpersTest
food,
originProvince,
destinationProvinceId,
marchingUnits
marchingUnits,
_ /* uknownFieldSet */
) =>
originProvince shouldBe 9
destinationProvinceId shouldBe 10
@@ -138,7 +138,8 @@ class QuestCreationUtilsTest
) { q =>
q.componentCount shouldBe 1
q.componentsFulfilled shouldBe 0
q.details should matchPattern { case ImproveAgricultureQuest(_, _) =>
q.details should matchPattern {
case ImproveAgricultureQuest(_, _, _ /* unknownFieldSet */ ) =>
}
}
}
@@ -154,7 +155,8 @@ class QuestCreationUtilsTest
)
.newValue
) { q =>
q.details should not matchPattern { case ImproveAgricultureQuest(_, _) =>
q.details should not matchPattern {
case ImproveAgricultureQuest(_, _, _ /* unknownFieldSet */ ) =>
}
}
}
@@ -173,7 +175,9 @@ class QuestCreationUtilsTest
) { q =>
q.componentCount shouldBe 1
q.componentsFulfilled shouldBe 0
q.details should matchPattern { case ImproveEconomyQuest(_, _) => }
q.details should matchPattern {
case ImproveEconomyQuest(_, _, _ /* unknownFieldSet */ ) =>
}
}
}
@@ -188,7 +192,9 @@ class QuestCreationUtilsTest
)
.newValue
) { q =>
q.details should not matchPattern { case ImproveEconomyQuest(_, _) => }
q.details should not matchPattern {
case ImproveEconomyQuest(_, _, _ /* unknownFieldSet */ ) =>
}
}
}
@@ -206,7 +212,9 @@ class QuestCreationUtilsTest
) { q =>
q.componentCount shouldBe 1
q.componentsFulfilled shouldBe 0
q.details should matchPattern { case ImproveInfrastructureQuest(_, _) => }
q.details should matchPattern {
case ImproveInfrastructureQuest(_, _, _ /* unknownFieldSet */ ) =>
}
}
}
@@ -223,7 +231,7 @@ class QuestCreationUtilsTest
.newValue
) { q =>
q.details should not matchPattern {
case ImproveInfrastructureQuest(_, _) =>
case ImproveInfrastructureQuest(_, _, _ /* unknownFieldSet */ ) =>
}
}
}
@@ -264,7 +272,7 @@ class QuestCreationUtilsTest
.newValue
) { q =>
q.details should not matchPattern {
case SpecificExpansionQuest(immediate1.id) =>
case SpecificExpansionQuest(immediate1.id, _ /* unknownFieldSet */ ) =>
}
}
}
@@ -281,7 +289,7 @@ class QuestCreationUtilsTest
.newValue
) { q =>
q.details should not matchPattern {
case SpecificExpansionQuest(twoAway.id) =>
case SpecificExpansionQuest(twoAway.id, _ /* unknownFieldSet */ ) =>
}
}
}
@@ -298,7 +306,7 @@ class QuestCreationUtilsTest
.newValue
) { q =>
q.details should not matchPattern {
case SpecificExpansionQuest(threeAway.id) =>
case SpecificExpansionQuest(threeAway.id, _ /* unknownFieldSet */ ) =>
}
}
}
@@ -333,7 +341,8 @@ class QuestCreationUtilsTest
)
.newValue
) {
_.details should not matchPattern { case DismissSpecificVassalQuest(1) =>
_.details should not matchPattern {
case DismissSpecificVassalQuest(1, _ /* unknownFieldSet */ ) =>
}
}
}
@@ -349,7 +358,8 @@ class QuestCreationUtilsTest
)
.newValue
) {
_.details should not matchPattern { case DismissSpecificVassalQuest(3) =>
_.details should not matchPattern {
case DismissSpecificVassalQuest(3, _ /* unknownFieldSet */ ) =>
}
}
}
@@ -368,9 +378,10 @@ class QuestCreationUtilsTest
)
.newValue
) { q =>
inside(q.details) { case WealthQuest(gold, food) =>
food should be >= 5000 + province.food
gold should be >= 5000 + province.gold
inside(q.details) {
case WealthQuest(gold, food, _ /* unknownFieldSet */ ) =>
food should be >= 5000 + province.food
gold should be >= 5000 + province.gold
}
}
}
@@ -494,9 +505,10 @@ class QuestCreationUtilsTest
.newValue
forAtLeast(1, quests) { q =>
inside(q.details) { case GrandArmyQuest(totalTroopCount) =>
totalTroopCount should be > 3200 + 2500
totalTroopCount should be < 3200 + 5000
inside(q.details) {
case GrandArmyQuest(totalTroopCount, _ /* unknownFieldSet */ ) =>
totalTroopCount should be > 3200 + 2500
totalTroopCount should be < 3200 + 5000
}
}
}
@@ -571,7 +583,9 @@ class QuestCreationUtilsTest
.newValue
forAll(quests) { q =>
q.details should not matchPattern { case DefeatFactionQuest(71) => }
q.details should not matchPattern {
case DefeatFactionQuest(71, _ /* unknownFieldSet */ ) =>
}
}
}
@@ -605,7 +619,9 @@ class QuestCreationUtilsTest
.newValue
forAll(quests) { q =>
q.details should not matchPattern { case DefeatFactionQuest(71) => }
q.details should not matchPattern {
case DefeatFactionQuest(71, _ /* unknownFieldSet */ ) =>
}
}
quests should contain(
@@ -649,7 +665,9 @@ class QuestCreationUtilsTest
.newValue
forAll(quests) { q =>
q.details should not matchPattern { case DefeatFactionQuest(71) => }
q.details should not matchPattern {
case DefeatFactionQuest(71, _ /* unknownFieldSet */ ) =>
}
}
quests should contain(
@@ -691,7 +709,9 @@ class QuestCreationUtilsTest
.newValue
forAll(quests) { q =>
q.details should not matchPattern { case TruceWithFactionQuest(71) => }
q.details should not matchPattern {
case TruceWithFactionQuest(71, _ /* unknownFieldSet */ ) =>
}
}
}
@@ -728,8 +748,9 @@ class QuestCreationUtilsTest
.newValue
forAtLeast(1, quests) { q =>
inside(q.details) { case TruceCountQuest(truceCount) =>
truceCount should be >= 3
inside(q.details) {
case TruceCountQuest(truceCount, _ /* unknownFieldSet */ ) =>
truceCount should be >= 3
}
}
}
@@ -778,7 +799,8 @@ class QuestCreationUtilsTest
.newValue
forAll(quests) { q =>
q.details should not matchPattern { case TruceCountQuest(truceCount) =>
q.details should not matchPattern {
case TruceCountQuest(truceCount, _ /* unknownFieldSet */ ) =>
}
}
}
@@ -797,7 +819,11 @@ class QuestCreationUtilsTest
forExactly(1, quests) { quest =>
inside(quest.details) {
case AlmsToProvinceQuest(province.id, totalFood) =>
case AlmsToProvinceQuest(
province.id,
totalFood,
_ /* unknownFieldSet */
) =>
totalFood should be >= 3000
totalFood should be <= 5000
}
@@ -816,7 +842,7 @@ class QuestCreationUtilsTest
forAll(quests) { quest =>
quest.details should not matchPattern {
case AlmsAcrossRealmQuest(totalFood) =>
case AlmsAcrossRealmQuest(totalFood, _ /* unknownFieldSet */ ) =>
}
}
}
@@ -834,9 +860,10 @@ class QuestCreationUtilsTest
.newValue
forExactly(1, quests) { quest =>
inside(quest.details) { case AlmsAcrossRealmQuest(totalFood) =>
totalFood should be >= 4245 // 3000 * sqrt(2)
totalFood should be <= 7072 // 5000 * sqrt(2)
inside(quest.details) {
case AlmsAcrossRealmQuest(totalFood, _ /* unknownFieldSet */ ) =>
totalFood should be >= 4245 // 3000 * sqrt(2)
totalFood should be <= 7072 // 5000 * sqrt(2)
}
}
}
@@ -857,9 +884,10 @@ class QuestCreationUtilsTest
.newValue
forExactly(1, quests) { quest =>
inside(quest.details) { case AlmsAcrossRealmQuest(totalFood) =>
totalFood should be >= (3000 * Math.pow(5, 0.5)).ceil.toInt
totalFood should be <= (5000 * Math.pow(5, 0.5)).ceil.toInt
inside(quest.details) {
case AlmsAcrossRealmQuest(totalFood, _ /* unknownFieldSet */ ) =>
totalFood should be >= (3000 * Math.pow(5, 0.5)).ceil.toInt
totalFood should be <= (5000 * Math.pow(5, 0.5)).ceil.toInt
}
}
}
@@ -878,7 +906,11 @@ class QuestCreationUtilsTest
forExactly(1, quests) { quest =>
inside(quest.details) {
case GiveToHeroesInProvinceQuest(province.id, totalGold) =>
case GiveToHeroesInProvinceQuest(
province.id,
totalGold,
_ /* unknownFieldSet */
) =>
totalGold should be >= 300
totalGold should be <= 500
}
@@ -899,7 +931,10 @@ class QuestCreationUtilsTest
forAll(quests) { quest =>
quest.details should not matchPattern {
case GiveToHeroesAcrossRealmQuest(totalGold) =>
case GiveToHeroesAcrossRealmQuest(
totalGold,
_ /* unknownFieldSet */
) =>
}
}
}
@@ -915,9 +950,13 @@ class QuestCreationUtilsTest
.newValue
forExactly(1, quests) { quest =>
inside(quest.details) { case GiveToHeroesAcrossRealmQuest(totalGold) =>
totalGold should be >= 425 // 300 * sqrt(2)
totalGold should be <= 708 // 500 * sqrt(2)
inside(quest.details) {
case GiveToHeroesAcrossRealmQuest(
totalGold,
_ /* unknownFieldSet */
) =>
totalGold should be >= 425 // 300 * sqrt(2)
totalGold should be <= 708 // 500 * sqrt(2)
}
}
}
@@ -938,9 +977,13 @@ class QuestCreationUtilsTest
.newValue
forExactly(1, quests) { quest =>
inside(quest.details) { case GiveToHeroesAcrossRealmQuest(totalGold) =>
totalGold should be >= (300 * Math.pow(5, 0.5)).ceil.toInt
totalGold should be <= (500 * Math.pow(5, 0.5)).ceil.toInt
inside(quest.details) {
case GiveToHeroesAcrossRealmQuest(
totalGold,
_ /* unknownFieldSet */
) =>
totalGold should be >= (300 * Math.pow(5, 0.5)).ceil.toInt
totalGold should be <= (500 * Math.pow(5, 0.5)).ceil.toInt
}
}
}
@@ -87,9 +87,10 @@ class TruceCountQuestCreationTest extends AnyFlatSpec with Matchers {
.newValue
quests should have size 1
inside(quests.head.details) { case TruceCountQuest(truceCount) =>
truceCount should be >= 3
truceCount should be <= 4
inside(quests.head.details) {
case TruceCountQuest(truceCount, _ /* unknownFieldSet */ ) =>
truceCount should be >= 3
truceCount should be <= 4
}
}
}
@@ -158,9 +158,10 @@ class QuestFulfillmentUtilsTest
provinceId = province.id,
fulfilledQuest = Some(questProto)
)
note.llm shouldBe NotificationT.Llm.Id(
s"quest fulfilled ${uh.heroId} $questProto"
)
inside(note.llm) { case NotificationT.Llm.Id(llmId) =>
print(llmId)
llmId shouldBe s"quest fulfilled ${uh.heroId} Quest(${quest.componentCount},${quest.componentsFulfilled},${questProto.details})"
}
note.affectedProvinceIds shouldBe Vector(province.id)
note.affectedHeroIds shouldBe Vector(uh.heroId)
note.deferred shouldBe false
@@ -171,7 +172,8 @@ class QuestFulfillmentUtilsTest
}
llmRequests should contain(
LLMRequest(
id = "quest fulfilled 21 Quest(1,0,ImproveEconomyQuest(42,57.0))",
id =
"quest fulfilled 21 Quest(1,0,ImproveEconomyQuest(42,57.0,UnknownFieldSet(Map())))",
eagleGameId = 0xcafe,
details = QuestFulfilledMessage(
heroId = uh.heroId,
@@ -413,7 +413,7 @@ class RuntimeValidatorTest extends AnyFlatSpec with Matchers {
the[EagleInternalException] thrownBy {
RuntimeValidator.validate(gameState)
} should have message
"validation failed: Unowned focus province for faction Faction(7,0,,Vector(),Vector(),Vector(),Vector(),Some(21),Vector(),0,Vector(),Vector(),Vector(),0)"
"validation failed: Unowned focus province for faction Faction(7,0,,Vector(),Vector(),Vector(),Vector(),Some(21),Vector(),0,Vector(),Vector(),Vector(),0,UnknownFieldSet(Map()))"
}
it should "throw if there is a faction relationship with a destroyed faction" in {
@@ -437,6 +437,6 @@ class RuntimeValidatorTest extends AnyFlatSpec with Matchers {
the[EagleInternalException] thrownBy {
RuntimeValidator.validate(gameState)
} should have message
"validation failed: Invalid target faction id 8 in faction relationship FactionRelationship(8,TRUCE,Some(Date(4,2025)),20)"
"validation failed: Invalid target faction id 8 in faction relationship FactionRelationship(8,TRUCE,Some(Date(4,2025,UnknownFieldSet(Map()))),20,UnknownFieldSet(Map()))"
}
}
+71 -5
View File
@@ -1,8 +1,26 @@
load("@io_bazel_rules_scala//scala_proto:scala_proto_toolchain.bzl", "scala_proto_toolchain")
load("@io_bazel_rules_scala//scala_proto:scala_proto_toolchain.bzl", "scala_proto_deps_toolchain", "scala_proto_toolchain")
load("@io_bazel_rules_scala//scala:scala_toolchain.bzl", "scala_toolchain")
load("@io_bazel_rules_scala//scala:providers.bzl", "declare_deps_provider")
scala_proto_deps_toolchain(
name = "custom_scalapb_deps_toolchain_impl",
dep_providers = [
":custom_grpc_deps",
":custom_compile_deps",
":custom_worker_deps",
],
visibility = ["//visibility:public"],
)
toolchain(
name = "custom_scalapb_deps_toolchain",
toolchain = ":custom_scalapb_deps_toolchain_impl",
toolchain_type = "@io_bazel_rules_scala//scala_proto:deps_toolchain_type",
visibility = ["//visibility:public"],
)
scala_proto_toolchain(
name = "scala_proto_toolchain_configuration",
name = "custom_scalapb_toolchain_impl",
visibility = ["//visibility:public"],
with_flat_package = False,
with_grpc = True,
@@ -10,10 +28,9 @@ scala_proto_toolchain(
)
toolchain(
name = "scalapb_toolchain",
toolchain = ":scala_proto_toolchain_configuration",
name = "custom_scalapb_toolchain",
toolchain = ":custom_scalapb_toolchain_impl",
toolchain_type = "@io_bazel_rules_scala//scala_proto:toolchain_type",
visibility = ["//visibility:public"],
)
scala_toolchain(
@@ -41,3 +58,52 @@ toolchain(
toolchain_type = "@io_bazel_rules_scala//scala:toolchain_type",
visibility = ["//visibility:public"],
)
declare_deps_provider(
name = "custom_grpc_deps",
deps_id = "scalapb_grpc_deps",
visibility = ["//visibility:public"],
deps = [
"@maven//:com_thesamet_scalapb_scalapb_runtime_grpc_2_13",
"@maven//:io_grpc_grpc_api",
"@maven//:io_grpc_grpc_context",
"@maven//:io_grpc_grpc_core",
"@maven//:io_grpc_grpc_netty",
"@maven//:io_grpc_grpc_protobuf",
"@maven//:io_grpc_grpc_stub",
"@maven//:io_netty_netty_buffer",
"@maven//:io_netty_netty_codec",
"@maven//:io_netty_netty_codec_http",
"@maven//:io_netty_netty_codec_http2",
"@maven//:io_netty_netty_codec_socks",
"@maven//:io_netty_netty_common",
"@maven//:io_netty_netty_handler",
"@maven//:io_netty_netty_handler_proxy",
"@maven//:io_netty_netty_resolver",
"@maven//:io_netty_netty_transport",
],
)
declare_deps_provider(
name = "custom_compile_deps",
deps_id = "scalapb_compile_deps",
visibility = ["//visibility:public"],
deps = [
"@com_google_protobuf//:protobuf_java",
"@maven//:com_thesamet_scalapb_lenses_2_13",
"@maven//:com_thesamet_scalapb_scalapb_runtime_2_13",
"@maven//:io_grpc_grpc_protobuf",
"@maven//:org_scala_lang_scala_library",
],
)
declare_deps_provider(
name = "custom_worker_deps",
deps_id = "scalapb_worker_deps",
visibility = ["//visibility:public"],
deps = [
"@com_google_protobuf//:protobuf_java",
"@maven//:com_thesamet_scalapb_compilerplugin_2_13",
"@maven//:com_thesamet_scalapb_protoc_bridge_2_13",
],
)
+10 -3
View File
@@ -1,5 +1,12 @@
def scala_register_unused_deps_and_opts_toolchains():
def scala_register_toolchains():
native.register_toolchains(
"//tools:unused_dependency_checker_error_and_opts_toolchain",
)
)
native.register_toolchains(
"//tools:custom_scalapb_deps_toolchain",
)
native.register_toolchains(
"//tools:custom_scalapb_toolchain",
)