Bazel builds for additional drivers

Change-Id: I8c3f36bd7c56127480ab9419ad52dac626b9f3cb
diff --git a/drivers/ciena/waveserverai/BUILD b/drivers/ciena/waveserverai/BUILD
new file mode 100644
index 0000000..4cd70dc
--- /dev/null
+++ b/drivers/ciena/waveserverai/BUILD
@@ -0,0 +1,50 @@
+COMPILE_DEPS = CORE_DEPS + ONOS_YANG + [
+    "//drivers/utilities:onos-drivers-utilities",
+    "//drivers/netconf:onos-drivers-netconf",
+    "//protocols/netconf/api:onos-protocols-netconf-api",
+    "//protocols/netconf/ctl:onos-protocols-netconf-ctl",
+    "//models/common:onos-models-common",
+    "//models/ciena/waveserverai:onos-models-ciena-waveserverai",
+    "//apps/optical-model:onos-apps-optical-model",
+    "//drivers/optical:onos-drivers-optical",
+]
+
+TEST_DEPS = TEST_ADAPTERS + [
+    "//core/api:onos-api-tests",
+    "//drivers/netconf:onos-drivers-netconf-tests",
+    "//utils/osgi:onlab-osgi-tests",
+]
+
+BUNDLES = [
+    ":onos-drivers-ciena-waveserverai",
+    "//drivers/utilities:onos-drivers-utilities",
+    "//drivers/netconf:onos-drivers-netconf",
+]
+
+REQUIRED_APPS = [
+    "org.onosproject.yang",
+    "org.onosproject.optical-model",
+    "org.onosproject.drivers.optical",
+    "org.onosproject.models.ciena.waveserverai",
+    "org.onosproject.netconf",
+    "org.onosproject.netconfsb",
+    "org.onosproject.drivers.netconf",
+    "org.onosproject.linkdiscovery",
+]
+
+osgi_jar_with_tests(
+    resources = glob(["src/main/resources/**"]),
+    resources_root = "src/main/resources",
+    test_deps = TEST_DEPS,
+    deps = COMPILE_DEPS,
+)
+
+onos_app(
+    app_name = "org.onosproject.drivers.ciena.waveserverai",
+    category = "Drivers",
+    description = "Adds support for Ciena Waveserver Ai devices.",
+    included_bundles = BUNDLES,
+    required_apps = REQUIRED_APPS,
+    title = "Ciena Waveserver Ai Drivers",
+    url = "http://onosproject.org",
+)
diff --git a/drivers/huawei/BUILD b/drivers/huawei/BUILD
new file mode 100644
index 0000000..bb473bc
--- /dev/null
+++ b/drivers/huawei/BUILD
@@ -0,0 +1,45 @@
+COMPILE_DEPS = CORE_DEPS + ONOS_YANG + [
+    "@onos_yang_runtime//jar",
+    "//models/l3vpn:onos-models-l3vpn",
+    "//models/huawei:onos-models-huawei",
+    "//drivers/utilities:onos-drivers-utilities",
+    "//protocols/netconf/api:onos-protocols-netconf-api",
+    "//apps/l3vpn:onos-apps-l3vpn",
+    "//apps/config:onos-apps-config",
+    "//apps/yang:onos-apps-yang",
+    "//models/common:onos-models-common",
+]
+
+APPS = [
+    "org.onosproject.yang",
+    "org.onosproject.yang-gui",
+    "org.onosproject.config",
+    "org.onosproject.restconf",
+    "org.onosproject.protocols.restconfserver",
+    "org.onosproject.netconf",
+    "org.onosproject.netconfsb",
+    "org.onosproject.models.common",
+    "org.onosproject.models.l3vpn",
+    "org.onosproject.l3vpn",
+    "org.onosproject.models.huawei",
+]
+
+TEST_DEPS = TEST_ADAPTERS + [
+    "//utils/osgi:onlab-osgi-tests",
+]
+
+osgi_jar_with_tests(
+    resources = glob(["src/main/resources/**"]),
+    resources_root = "src/main/resources",
+    test_deps = TEST_DEPS,
+    deps = COMPILE_DEPS,
+)
+
+onos_app(
+    app_name = "org.onosproject.drivers.huawei",
+    category = "Drivers",
+    description = "Adds support for Huawei devices.",
+    required_apps = APPS,
+    title = "Huawei Drivers",
+    url = "http://onosproject.org",
+)
diff --git a/drivers/microsemi/ea1000/BUILD b/drivers/microsemi/ea1000/BUILD
new file mode 100644
index 0000000..cdde14e
--- /dev/null
+++ b/drivers/microsemi/ea1000/BUILD
@@ -0,0 +1,55 @@
+COMPILE_DEPS = CORE_DEPS + ONOS_YANG + CLI + [
+    "@onos_yang_runtime//jar",
+    "//drivers/utilities:onos-drivers-utilities",
+    "//protocols/netconf/api:onos-protocols-netconf-api",
+    "//protocols/netconf/ctl:onos-protocols-netconf-ctl",
+    "//models/common:onos-models-common",
+    "//models/microsemi:onos-models-microsemi",
+    "//apps/cfm/api:onos-apps-cfm-api",
+]
+
+TEST_DEPS = TEST_ADAPTERS + [
+    "//core/api:onos-api-tests",
+    "//drivers/netconf:onos-drivers-netconf-tests",
+    "//utils/osgi:onlab-osgi-tests",
+    "//apps/cfm/app:onos-apps-cfm-app",
+    "//apps/cfm/app:onos-apps-cfm-app-tests",
+]
+
+APPS = [
+    "org.onosproject.yang",
+    "org.onosproject.config",
+    "org.onosproject.netconf",
+    "org.onosproject.netconfsb",
+    "org.onosproject.drivers.netconf",
+    "org.onosproject.models.common",
+    "org.onosproject.models.microsemi",
+    "org.onosproject.cfm",
+]
+
+osgi_jar_with_tests(
+    exclude_tests = [
+        "org.onosproject.drivers.microsemi.EA1000CfmMepProgrammableTest",
+        "org.onosproject.drivers.microsemi.EA1000FlowRuleProgrammableTest",
+        "org.onosproject.drivers.microsemi.EA1000MeterProviderTest",
+        "org.onosproject.drivers.microsemi.EA1000SoamDmProgrammableTest",
+        "org.onosproject.drivers.microsemi.yang.IetfSystemManagerTest",
+        "org.onosproject.drivers.microsemi.yang.MseaCfmManagerTest",
+        "org.onosproject.drivers.microsemi.yang.MseaSaFilteringManagerTest",
+        "org.onosproject.drivers.microsemi.yang.MseaSaFilteringManagerTest",
+        "org.onosproject.drivers.microsemi.yang.MseaUniEvcServiceManagerTest",
+    ],
+    resources = glob(["src/main/resources/**"]),
+    resources_root = "src/main/resources",
+    test_deps = TEST_DEPS,
+    deps = COMPILE_DEPS,
+)
+
+onos_app(
+    app_name = "org.onosproject.drivers.microsemi.ea1000",
+    category = "Drivers",
+    description = "Adds support for Microsemi EA1000 devices.",
+    required_apps = APPS,
+    title = "Microsemi Drivers EA1000",
+    url = "http://onosproject.org",
+)
diff --git a/drivers/odtn-driver/BUILD b/drivers/odtn-driver/BUILD
new file mode 100644
index 0000000..7f13b94
--- /dev/null
+++ b/drivers/odtn-driver/BUILD
@@ -0,0 +1,38 @@
+COMPILE_DEPS = CORE_DEPS + [
+    "@commons_jxpath//jar",
+    "//drivers/utilities:onos-drivers-utilities",
+    "//protocols/netconf/api:onos-protocols-netconf-api",
+    "//apps/odtn/api:onos-apps-odtn-api",
+]
+
+TEST_DEPS = TEST_ADAPTERS + [
+    "@slf4j_jdk14//jar",
+    "//core/api:onos-api-tests",
+]
+
+BUNDLES = [
+    ":onos-drivers-odtn-driver",
+    #     '//lib:commons-jxpath',
+    #     '//lib:commons-beanutils', # jxpath dependency
+    #     '//lib:jdom',  # jxpath dependency
+]
+
+osgi_jar_with_tests(
+    resources = glob(["src/main/resources/**"]),
+    resources_root = "src/main/resources",
+    test_deps = TEST_DEPS,
+    deps = COMPILE_DEPS,
+)
+
+onos_app(
+    app_name = "org.onosproject.drivers.odtn-driver",
+    category = "Drivers",
+    description = "Drivers related to ODTN",
+    included_bundles = BUNDLES,
+    required_apps = [
+        "org.onosproject.netconf",
+        "org.onosproject.odtn-api",
+    ],
+    title = "ODTN Driver",
+    url = "https://wiki.onosproject.org/display/ODTN/ODTN",
+)
diff --git a/drivers/polatis/netconf/BUILD b/drivers/polatis/netconf/BUILD
new file mode 100644
index 0000000..ec548fe
--- /dev/null
+++ b/drivers/polatis/netconf/BUILD
@@ -0,0 +1,41 @@
+COMPILE_DEPS = CORE_DEPS + ONOS_YANG + [
+    "//models/polatis:onos-models-polatis",
+    "//drivers/utilities:onos-drivers-utilities",
+    "//protocols/netconf/api:onos-protocols-netconf-api",
+    "//apps/optical-model:onos-apps-optical-model",
+    "//incubator/api:onos-incubator-api",
+]
+
+APPS = [
+    "org.onosproject.netconf",
+    "org.onosproject.models.common",
+    "org.onosproject.models.polatis",
+    "org.onosproject.optical-model",
+    "org.onosproject.faultmanagement",
+]
+
+TEST_DEPS = TEST_ADAPTERS + [
+    "//utils/osgi:onlab-osgi-tests",
+]
+
+BUNDLES = [
+    ":onos-drivers-polatis-netconf",
+    "//drivers/utilities:onos-drivers-utilities",
+]
+
+osgi_jar_with_tests(
+    resources = glob(["src/main/resources/**"]),
+    resources_root = "src/main/resources",
+    test_deps = TEST_DEPS,
+    deps = COMPILE_DEPS,
+)
+
+onos_app(
+    app_name = "org.onosproject.drivers.polatis.netconf",
+    category = "Drivers",
+    description = "ONOS Polatis Device Drivers application.",
+    included_bundles = BUNDLES,
+    required_apps = APPS,
+    title = "Polatis Device Drivers",
+    url = "http://www.polatis.com",
+)
diff --git a/drivers/polatis/snmp/BUILD b/drivers/polatis/snmp/BUILD
new file mode 100644
index 0000000..fc12811
--- /dev/null
+++ b/drivers/polatis/snmp/BUILD
@@ -0,0 +1,33 @@
+COMPILE_DEPS = CORE_DEPS + [
+    "@org_apache_servicemix_bundles_snmp4j//jar",
+    "//drivers/utilities:onos-drivers-utilities",
+    "//protocols/snmp/api:onos-protocols-snmp-api",
+    "//apps/optical-model:onos-apps-optical-model",
+    "//incubator/api:onos-incubator-api",
+]
+
+APPS = [
+    "org.onosproject.snmp",
+    "org.onosproject.optical-model",
+    "org.onosproject.faultmanagement",
+]
+
+TEST_DEPS = TEST_ADAPTERS + [
+    "//core/api:onos-api-tests",
+]
+
+osgi_jar_with_tests(
+    resources = glob(["src/main/resources/**"]),
+    resources_root = "src/main/resources",
+    test_deps = TEST_DEPS,
+    deps = COMPILE_DEPS,
+)
+
+onos_app(
+    app_name = "org.onosproject.drivers.polatis.snmp",
+    category = "Drivers",
+    description = "ONOS Polatis SNMP Device Drivers application.",
+    required_apps = APPS,
+    title = "Polatis SNMP Device Drivers",
+    url = "http://www.polatis.com",
+)