Automatically document all rust crates

Additionally, add a ./dev_tools/cargo-doc.sh script that builds and
opens the documentation for any documented rust target.

Change-Id: I2a52adaf90ca93cb749415260c02f3777a53ddf6
Signed-off-by: James Kuszmaul <james.kuszmaul@bluerivertech.com>
diff --git a/aos/BUILD b/aos/BUILD
index a887edc..d9781f9 100644
--- a/aos/BUILD
+++ b/aos/BUILD
@@ -225,6 +225,7 @@
     testonly = True,
     srcs = ["test_init.rs"],
     crate_name = "aos_test_init",
+    docs = False,
     libs = [
         "//aos/testing:tmpdir",
     ],
diff --git a/aos/events/BUILD b/aos/events/BUILD
index fdd8bb6..015c316 100644
--- a/aos/events/BUILD
+++ b/aos/events/BUILD
@@ -3,7 +3,7 @@
 load("//aos:flatbuffers.bzl", "cc_static_flatbuffer")
 load("//aos:config.bzl", "aos_config")
 load("//tools/build_rules:autocxx.bzl", "autocxx_library")
-load("//tools/rust:defs.bzl", "flatbuffer_rust_library", "rust_binary", "rust_doc", "rust_doc_test", "rust_library", "rust_test")
+load("//tools/rust:defs.bzl", "flatbuffer_rust_library", "rust_binary", "rust_doc_test", "rust_library", "rust_test")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -163,11 +163,6 @@
     ],
 )
 
-rust_doc(
-    name = "event_loop_runtime_doc",
-    crate = ":event_loop_runtime",
-)
-
 rust_doc_test(
     name = "event_loop_runtime_doc_test",
     crate = ":event_loop_runtime",
@@ -181,6 +176,7 @@
     name = "event_loop_runtime_test_lib_rs",
     testonly = True,
     srcs = ["event_loop_runtime_test_lib.rs"],
+    docs = False,
     libs = [
         ":event_loop",
     ],
@@ -665,12 +661,6 @@
     ],
 )
 
-rust_doc(
-    name = "shm_event_loop_rs_doc",
-    crate = ":shm_event_loop_rs",
-    target_compatible_with = ["@platforms//cpu:x86_64"],
-)
-
 rust_test(
     name = "shm_event_loop_rs_test",
     crate = ":shm_event_loop_rs",