Cherry pick gNMI and Stratum related changes to this branch

Cherry picked commits:
20211 Update gNMI version and build script
20247 [ONOS-7829] Implement AbstractGrpcClient and AbstractGrpcClientControl
20233 [ONOS-7141][ONOS-7142] Add GnmiClient and GnmiController
20234 Refactor OpenConfig gNMI device description descovery
20260 [ONOS-7831] Implement GnmiHandshaker
20270 Add Stratum driver

Change-Id: I81ad8bce45251af5909cfcac0edbcfd11c8ebf1d
diff --git a/drivers/stratum/BUILD b/drivers/stratum/BUILD
new file mode 100644
index 0000000..41db9f1
--- /dev/null
+++ b/drivers/stratum/BUILD
@@ -0,0 +1,25 @@
+COMPILE_DEPS = CORE_DEPS + KRYO + JACKSON + [
+    "@io_grpc_grpc_java//core",
+    "//drivers/p4runtime:onos-drivers-p4runtime",
+    "//drivers/gnmi:onos-drivers-gnmi",
+    "//pipelines/basic:onos-pipelines-basic",
+]
+
+osgi_jar(
+    resources = glob(["src/main/resources/**"]),
+    resources_root = "src/main/resources",
+    deps = COMPILE_DEPS,
+)
+
+onos_app(
+    app_name = "org.onosproject.drivers.stratum",
+    category = "Drivers",
+    description = "Adds support for Stratum-based devices",
+    required_apps = [
+        "org.onosproject.generaldeviceprovider",
+        "org.onosproject.drivers.gnmi",
+        "org.onosproject.drivers.p4runtime",
+    ],
+    title = "Stratum Drivers",
+    url = "http://onosproject.org",
+)