[AETHER-780] Decouple Stratum from ODTN

- Introduces a new driver for stratum-odtn devices
- The new driver depends on stratum and not viceversa
- Removes the odtn dep from stratum
- Updates stratum and tost bazel profiles

Change-Id: I7118c54c865305a7ace28b7316e3731833ddf7b4
diff --git a/drivers/stratum-odtn/BUILD b/drivers/stratum-odtn/BUILD
new file mode 100644
index 0000000..83300ab
--- /dev/null
+++ b/drivers/stratum-odtn/BUILD
@@ -0,0 +1,17 @@
+osgi_jar(
+    resources = glob(["src/main/resources/**"]),
+    resources_root = "src/main/resources",
+    deps = CORE_DEPS,
+)
+
+onos_app(
+    app_name = "org.onosproject.drivers.stratum-odtn",
+    category = "Drivers",
+    description = "Adds support for Stratum Odtn-based devices",
+    required_apps = [
+        "org.onosproject.drivers.stratum",
+        "org.onosproject.drivers.odtn-driver",
+    ],
+    title = "Stratum Odtn Drivers",
+    url = "http://onosproject.org",
+)
diff --git a/drivers/stratum-odtn/src/main/java/org/onosproject/drivers/stratumodtn/StratumOdtnDriversLoader.java b/drivers/stratum-odtn/src/main/java/org/onosproject/drivers/stratumodtn/StratumOdtnDriversLoader.java
new file mode 100644
index 0000000..449e040
--- /dev/null
+++ b/drivers/stratum-odtn/src/main/java/org/onosproject/drivers/stratumodtn/StratumOdtnDriversLoader.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2020-present Open Networking Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onosproject.drivers.stratumodtn;
+
+import org.onosproject.net.driver.AbstractDriverLoader;
+import org.osgi.service.component.annotations.Component;
+
+/**
+ * Loader for Stratum Odtn device drivers.
+ */
+@Component(immediate = true)
+public class StratumOdtnDriversLoader extends AbstractDriverLoader {
+
+    public StratumOdtnDriversLoader() {
+        super("/stratumodtn-drivers.xml");
+    }
+}
diff --git a/drivers/stratum-odtn/src/main/java/org/onosproject/drivers/stratumodtn/package-info.java b/drivers/stratum-odtn/src/main/java/org/onosproject/drivers/stratumodtn/package-info.java
new file mode 100644
index 0000000..5db546e
--- /dev/null
+++ b/drivers/stratum-odtn/src/main/java/org/onosproject/drivers/stratumodtn/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright 2020-present Open Networking Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Driver for Stratum Odtn devices.
+ */
+package org.onosproject.drivers.stratumodtn;
diff --git a/drivers/stratum-odtn/src/main/resources/stratumodtn-drivers.xml b/drivers/stratum-odtn/src/main/resources/stratumodtn-drivers.xml
new file mode 100644
index 0000000..611adef
--- /dev/null
+++ b/drivers/stratum-odtn/src/main/resources/stratumodtn-drivers.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright 2020-present Open Networking Foundation
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<drivers>
+    <driver name="stratum-fpm-odtn" manufacturer="Open Networking Foundation"
+            hwVersion="FPM" swVersion="Stratum" extends="stratum-fpm,gnmi-openconfig-terminal-device">
+        <!-- Here we add the original Stratum handshaker since the gnmi-openconfig-terminal-device
+             driver override the handshaker behaviour with GnmiHandshakerStandalone. -->
+        <behaviour api="org.onosproject.net.device.DeviceHandshaker"
+                   impl="org.onosproject.drivers.stratum.StratumHandshaker"/>
+    </driver>
+</drivers>