Use failure details in InfoCommand, InvalidConfigurationException

Adapts its usage of ExitCode and AbruptExitException to add FailureDetail
values. Failure modes detected there now have corresponding codes in
failure_details.proto.

InvalidConfigurationException now specifies a fine-grained code to more
precisely represent what configuration-related activity failed. This gets
its first use for platform mapping failures. (Platform mapping failures
may benefit from additional refinement.)

RELNOTES: None.
PiperOrigin-RevId: 309104771
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/BUILD b/src/main/java/com/google/devtools/build/lib/analysis/BUILD
index aa46a17..29d2426 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/analysis/BUILD
@@ -1622,6 +1622,10 @@
 java_library(
     name = "config/invalid_configuration_exception",
     srcs = ["config/InvalidConfigurationException.java"],
+    deps = [
+        "//src/main/protobuf:failure_details_java_proto",
+        "//third_party:jsr305",
+    ],
 )
 
 java_library(