Soong build rules for np_adv targets am: b0b34efe8c

Original change: https://android-review.googlesource.com/c/platform/external/rust/beto-rust/+/2938282

Change-Id: If81dcd169704a0e56015007d91da8388b8d3a382
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/nearby/Android.bp b/nearby/Android.bp
index 1739424..d79a7da 100644
--- a/nearby/Android.bp
+++ b/nearby/Android.bp
@@ -6,17 +6,27 @@
     //   legacy_unencumbered
     //   SPDX-license-identifier-Apache-2.0
     //   SPDX-license-identifier-Unlicense
+    default_visibility: [":__subpackages__"],
     default_applicable_licenses: ["external_rust_beto-rust_license"],
 }
 
+rust_defaults {
+    name: "beto_rust_defaults",
+    host_supported: true,
+    cargo_env_compat: true,
+    cargo_pkg_version: "0.1.0",
+    edition: "2021",
+    apex_available: [
+        "//apex_available:platform",
+        "//apex_available:anyapex",
+    ],
+}
+
 rust_library_rlib {
     name: "libcrypto_provider",
-    host_supported: true,
     crate_name: "crypto_provider",
-    cargo_env_compat: true,
-    cargo_pkg_version: "0.1.0",
+    defaults: ["beto_rust_defaults"],
     srcs: ["crypto/crypto_provider/src/lib.rs"],
-    edition: "2021",
     features: [
         "std",
         "alloc",
@@ -28,74 +38,46 @@
         "librand",
         "libtinyvec",
     ],
-    apex_available: [
-        "//apex_available:platform",
-        "//apex_available:anyapex",
-    ],
 }
 
 rust_library_rlib {
     name: "libcrypto_provider_stubs",
-    host_supported: true,
     crate_name: "crypto_provider_stubs",
-    cargo_env_compat: true,
-    cargo_pkg_version: "0.1.0",
+    defaults: ["beto_rust_defaults"],
     srcs: ["crypto/crypto_provider_stubs/src/lib.rs"],
-    edition: "2021",
     rustlibs: [
         "libcrypto_provider",
     ],
-    apex_available: [
-        "//apex_available:platform",
-        "//apex_available:anyapex",
-    ],
 }
 
 rust_library_rlib {
     name: "liblock_adapter",
-    host_supported: true,
     crate_name: "lock_adapter",
-    cargo_env_compat: true,
-    cargo_pkg_version: "0.1.0",
+    defaults: ["beto_rust_defaults"],
     srcs: ["util/lock_adapter/src/lib.rs"],
-    edition: "2021",
     features: [
         "std",
     ],
-    apex_available: [
-        "//apex_available:platform",
-        "//apex_available:anyapex",
-    ],
 }
 
 rust_library_rlib {
     name: "libcrypto_provider_default",
-    host_supported: true,
     crate_name: "crypto_provider_default",
-    cargo_env_compat: true,
-    cargo_pkg_version: "0.1.0",
+    defaults: ["beto_rust_defaults"],
     srcs: ["crypto/crypto_provider_default/src/lib.rs"],
-    edition: "2021",
     features: ["boringssl"],
     rustlibs: [
         "libcfg_if",
         "libcrypto_provider",
         "libcrypto_provider_boringssl",
     ],
-    apex_available: [
-        "//apex_available:platform",
-        "//apex_available:anyapex",
-    ],
 }
 
 rust_library_rlib {
     name: "libcrypto_provider_boringssl",
-    host_supported: true,
     crate_name: "crypto_provider_boringssl",
-    cargo_env_compat: true,
-    cargo_pkg_version: "0.1.0",
+    defaults: ["beto_rust_defaults"],
     srcs: ["crypto/crypto_provider_boringssl/src/lib.rs"],
-    edition: "2021",
     rustlibs: [
         "libcfg_if",
         "libcrypto_provider",
@@ -103,21 +85,14 @@
         "libbssl_crypto",
         "librand",
     ],
-    apex_available: [
-        "//apex_available:platform",
-        "//apex_available:anyapex",
-    ],
 }
 
 rust_ffi_shared {
     name: "libukey2_c_ffi_shared",
     stem: "libukey2_c_ffi",
-    host_supported: true,
     crate_name: "ukey2_c_ffi",
-    cargo_env_compat: true,
-    cargo_pkg_version: "0.1.0",
+    defaults: ["beto_rust_defaults"],
     srcs: ["connections/ukey2/ukey2_c_ffi/src/lib.rs"],
-    edition: "2021",
     features: [
         "openssl",
         "std",
@@ -133,20 +108,13 @@
         "libukey2_connections",
         "libukey2_rs",
     ],
-    apex_available: [
-        "//apex_available:platform",
-        "//apex_available:anyapex",
-    ],
 }
 
 rust_library_rlib {
     name: "libukey2_connections",
-    host_supported: true,
     crate_name: "ukey2_connections",
-    cargo_env_compat: true,
-    cargo_pkg_version: "0.1.0",
+    defaults: ["beto_rust_defaults"],
     srcs: ["connections/ukey2/ukey2_connections/src/lib.rs"],
-    edition: "2021",
     rustlibs: [
         "libbytes",
         "libcrypto_provider",
@@ -155,21 +123,14 @@
         "libukey2_proto",
         "libukey2_rs",
     ],
-    apex_available: [
-        "//apex_available:platform",
-        "//apex_available:anyapex",
-    ],
 }
 
 rust_ffi_shared {
     name: "libukey2_jni_shared",
     stem: "libukey2_jni",
-    host_supported: true,
     crate_name: "ukey2_jni",
-    cargo_env_compat: true,
-    cargo_pkg_version: "0.1.0",
+    defaults: ["beto_rust_defaults"],
     srcs: ["connections/ukey2/ukey2_jni/src/lib.rs"],
-    edition: "2021",
     features: [
         "openssl",
         "std",
@@ -191,40 +152,27 @@
         "libukey2_rs",
     ],
     compile_multilib: "first",
-    apex_available: [
-        "//apex_available:platform",
-        "//apex_available:anyapex",
-    ],
+    visibility: ["//visibility:public"],
 }
 
 rust_library_rlib {
     name: "libukey2_proto",
-    host_supported: true,
     crate_name: "ukey2_proto",
-    cargo_env_compat: true,
-    cargo_pkg_version: "0.1.0",
+    defaults: ["beto_rust_defaults"],
     srcs: ["connections/ukey2/ukey2_proto/src/lib.rs"],
-    edition: "2021",
     features: [
         "default",
     ],
     rustlibs: [
         "libprotobuf",
     ],
-    apex_available: [
-        "//apex_available:platform",
-        "//apex_available:anyapex",
-    ],
 }
 
 rust_library_rlib {
     name: "libukey2_rs",
-    host_supported: true,
     crate_name: "ukey2_rs",
-    cargo_env_compat: true,
-    cargo_pkg_version: "0.1.0",
+    defaults: ["beto_rust_defaults"],
     srcs: ["connections/ukey2/ukey2/src/lib.rs"],
-    edition: "2021",
     rustlibs: [
         "libcrypto_provider",
         "libnum_bigint",
@@ -232,10 +180,6 @@
         "librand",
         "libukey2_proto",
     ],
-    apex_available: [
-        "//apex_available:platform",
-        "//apex_available:anyapex",
-    ],
 }
 
 java_library_static {
@@ -248,7 +192,129 @@
     static_libs: [
         "jsr305",
     ],
+    visibility: ["//visibility:public"],
     required: [
         "libukey2_jni_shared",
     ],
 }
+
+rust_library_rlib {
+    name: "libnp_adv",
+    crate_name: "np_adv",
+    defaults: ["beto_rust_defaults"],
+    srcs: ["presence/np_adv/src/lib.rs"],
+    rustlibs: [
+        "libarray_view",
+        "libldt_np_adv",
+        "libldt",
+        "libnp_hkdf",
+        "libnp_ed25519",
+        "libxts_aes",
+        "libcrypto_provider",
+        "libstrum",
+        "libnom",
+        "liblazy_static",
+        "libsink",
+        "libtinyvec",
+    ],
+    proc_macros: [
+        "libstrum_macros",
+    ],
+}
+
+rust_library_rlib {
+    name: "libarray_view",
+    crate_name: "array_view",
+    defaults: ["beto_rust_defaults"],
+    srcs: ["presence/array_view/src/lib.rs"],
+}
+
+rust_library_rlib {
+    name: "libldt",
+    crate_name: "ldt",
+    defaults: ["beto_rust_defaults"],
+    srcs: ["presence/ldt/src/lib.rs"],
+    rustlibs: [
+        "libcrypto_provider",
+        "libldt_tbc",
+    ],
+}
+
+rust_library_rlib {
+    name: "libldt_tbc",
+    crate_name: "ldt_tbc",
+    defaults: ["beto_rust_defaults"],
+    srcs: ["presence/ldt_tbc/src/lib.rs"],
+    rustlibs: [
+        "libcrypto_provider",
+    ],
+}
+
+rust_library_rlib {
+    name: "libldt_np_adv",
+    crate_name: "ldt_np_adv",
+    defaults: ["beto_rust_defaults"],
+    srcs: ["presence/ldt_np_adv/src/lib.rs"],
+    rustlibs: [
+        "libcrypto_provider",
+        "libarray_view",
+        "libldt",
+        "libnp_hkdf",
+        "libxts_aes",
+        "libldt_tbc",
+    ],
+}
+
+rust_library_rlib {
+    name: "libnp_hkdf",
+    crate_name: "np_hkdf",
+    defaults: ["beto_rust_defaults"],
+    srcs: ["presence/np_hkdf/src/lib.rs"],
+    rustlibs: [
+        "libcrypto_provider",
+        "libldt",
+        "libxts_aes",
+    ],
+}
+
+rust_library_rlib {
+    name: "libnp_ed25519",
+    crate_name: "np_ed25519",
+    defaults: ["beto_rust_defaults"],
+    srcs: ["presence/np_ed25519/src/lib.rs"],
+    rustlibs: [
+        "libarray_view",
+        "libcrypto_provider",
+        "libsink",
+        "libtinyvec",
+    ],
+}
+
+rust_library_rlib {
+    name: "libxts_aes",
+    crate_name: "xts_aes",
+    defaults: ["beto_rust_defaults"],
+    srcs: ["presence/xts_aes/src/lib.rs"],
+    rustlibs: [
+        "libarray_ref",
+        "libcrypto_provider",
+        "libldt_tbc",
+    ],
+}
+
+rust_library_rlib {
+    name: "libarray_ref",
+    crate_name: "array_ref",
+    defaults: ["beto_rust_defaults"],
+    srcs: ["presence/array_ref/src/lib.rs"],
+}
+
+rust_library_rlib {
+    name: "libsink",
+    crate_name: "sink",
+    defaults: ["beto_rust_defaults"],
+    srcs: ["presence/sink/src/lib.rs"],
+    rustlibs: [
+        "libtinyvec",
+    ],
+}