From 257eb6d6bf2fe77d5e97f564b6f611927f03db3a Mon Sep 17 00:00:00 2001 From: Ray Milkey Date: Tue, 17 Jul 2018 09:41:00 -0700 Subject: [PATCH] Bazel builds for additional drivers Change-Id: I8c3f36bd7c56127480ab9419ad52dac626b9f3cb --- apps/cfm/BUILD | 13 ++++++++ apps/cfm/api/BUILD | 4 +++ apps/cfm/app/BUILD | 13 ++++++++ apps/cfm/nbi/BUILD | 19 +++++++++++ apps/l3vpn/BUILD | 40 +++++++++++++++++++++++ apps/odtn/api/BUILD | 28 ++++++++++++++++ drivers/ciena/waveserverai/BUILD | 50 +++++++++++++++++++++++++++++ drivers/huawei/BUILD | 45 ++++++++++++++++++++++++++ drivers/microsemi/ea1000/BUILD | 55 ++++++++++++++++++++++++++++++++ drivers/odtn-driver/BUILD | 38 ++++++++++++++++++++++ drivers/polatis/netconf/BUILD | 41 ++++++++++++++++++++++++ drivers/polatis/snmp/BUILD | 33 +++++++++++++++++++ modules.bzl | 14 ++++---- 13 files changed, 386 insertions(+), 7 deletions(-) create mode 100644 apps/cfm/BUILD create mode 100644 apps/cfm/api/BUILD create mode 100644 apps/cfm/app/BUILD create mode 100644 apps/cfm/nbi/BUILD create mode 100644 apps/l3vpn/BUILD create mode 100644 apps/odtn/api/BUILD create mode 100644 drivers/ciena/waveserverai/BUILD create mode 100644 drivers/huawei/BUILD create mode 100644 drivers/microsemi/ea1000/BUILD create mode 100644 drivers/odtn-driver/BUILD create mode 100644 drivers/polatis/netconf/BUILD create mode 100644 drivers/polatis/snmp/BUILD diff --git a/apps/cfm/BUILD b/apps/cfm/BUILD new file mode 100644 index 0000000000..07008a566d --- /dev/null +++ b/apps/cfm/BUILD @@ -0,0 +1,13 @@ +BUNDLES = [ + "//apps/cfm/api:onos-apps-cfm-api", + "//apps/cfm/app:onos-apps-cfm-app", + "//apps/cfm/nbi:onos-apps-cfm-nbi", +] + +onos_app( + category = "Monitoring", + description = "Layer 2 Monitoring Connectivity Fault Management App", + included_bundles = BUNDLES, + title = "Layer 2 Monitoring CFM Application", + url = "http://onosproject.org", +) diff --git a/apps/cfm/api/BUILD b/apps/cfm/api/BUILD new file mode 100644 index 0000000000..8d87120174 --- /dev/null +++ b/apps/cfm/api/BUILD @@ -0,0 +1,4 @@ +osgi_jar_with_tests( + test_deps = TEST_ADAPTERS, + deps = CORE_DEPS, +) diff --git a/apps/cfm/app/BUILD b/apps/cfm/app/BUILD new file mode 100644 index 0000000000..300086d061 --- /dev/null +++ b/apps/cfm/app/BUILD @@ -0,0 +1,13 @@ +COMPILE_DEPS = CORE_DEPS + KRYO + [ + "//core/store/serializers:onos-core-serializers", + "//apps/cfm/api:onos-apps-cfm-api", +] + +TEST_DEPS = TEST_ADAPTERS + [ + "//utils/osgi:onlab-osgi-tests", +] + +osgi_jar_with_tests( + test_deps = TEST_DEPS, + deps = COMPILE_DEPS, +) diff --git a/apps/cfm/nbi/BUILD b/apps/cfm/nbi/BUILD new file mode 100644 index 0000000000..c28e664fb9 --- /dev/null +++ b/apps/cfm/nbi/BUILD @@ -0,0 +1,19 @@ +COMPILE_DEPS = CORE_DEPS + JACKSON + CLI + REST + [ + "//apps/cfm/api:onos-apps-cfm-api", +] + +TEST_DEPS = TEST_REST + [ + "//utils/osgi:onlab-osgi-tests", + "//web/api:onos-rest-tests", +] + +osgi_jar_with_tests( + api_description = "REST API for L2 Monitoring CFM", + api_package = "org.onosproject.soam.rest", + api_title = "L2 Monitoring CFM", + api_version = "1.0", + exclude_tests = ["org/onosproject/cfm/impl/CfmResourceTest"], + test_deps = TEST_DEPS, + web_context = "/onos/cfm", + deps = COMPILE_DEPS, +) diff --git a/apps/l3vpn/BUILD b/apps/l3vpn/BUILD new file mode 100644 index 0000000000..8064faaf40 --- /dev/null +++ b/apps/l3vpn/BUILD @@ -0,0 +1,40 @@ +COMPILE_DEPS = CORE_DEPS + KRYO + ONOS_YANG + [ + "//models/l3vpn:onos-models-l3vpn", + "//apps/config:onos-apps-config", + "//core/store/serializers:onos-core-serializers", + "//apps/yang:onos-apps-yang", + "//apps/pce/app:onos-apps-pce-app", + "//incubator/api:onos-incubator-api", + "//models/common:onos-models-common", +] + +TEST_DEPS = TEST_ADAPTERS + [ + "//utils/osgi:onlab-osgi-tests", +] + +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.bgpcep", +] + +osgi_jar_with_tests( + test_deps = TEST_DEPS, + deps = COMPILE_DEPS, +) + +onos_app( + app_name = "org.onosproject.l3vpn", + category = "Traffic Engineering", + description = "L3VPN YANG Application", + required_apps = APPS, + title = "YANG L3VPN", + url = "http://onosproject.org", +) diff --git a/apps/odtn/api/BUILD b/apps/odtn/api/BUILD new file mode 100644 index 0000000000..4df56b5c31 --- /dev/null +++ b/apps/odtn/api/BUILD @@ -0,0 +1,28 @@ +COMPILE_DEPS = CORE_DEPS + JACKSON + ONOS_YANG + [ + "@onos_yang_runtime//jar", + "//models/tapi:onos-models-tapi", + "//models/openconfig:onos-models-openconfig", + "//apps/yang:onos-apps-yang", + "//apps/config:onos-apps-config", +] + +osgi_jar_with_tests( + test_deps = TEST_ADAPTERS, + deps = COMPILE_DEPS, +) + +APPS = [ + "org.onosproject.yang", + "org.onosproject.models.tapi", + "org.onosproject.models.openconfig", +] + +# TODO probably bucklet, etc. should escape title & description +onos_app( + app_name = "org.onosproject.odtn-api", + category = "Traffic Engineering", + description = "ODTN API & Utilities Application", + required_apps = APPS, + title = "ODTN API & Utilities Application", + url = "http://onosproject.org", +) diff --git a/drivers/ciena/waveserverai/BUILD b/drivers/ciena/waveserverai/BUILD new file mode 100644 index 0000000000..4cd70dc703 --- /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 0000000000..bb473bcf6f --- /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 0000000000..cdde14e00c --- /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 0000000000..7f13b948ee --- /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 0000000000..ec548fe5e4 --- /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 0000000000..fc12811ac8 --- /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", +) diff --git a/modules.bzl b/modules.bzl index 1d74543d2f..bee196c1a8 100644 --- a/modules.bzl +++ b/modules.bzl @@ -88,7 +88,7 @@ ONOS_DRIVERS = [ "//drivers/ciena/waveserver:onos-drivers-ciena-waveserver-oar", "//drivers/ciena/c5162:onos-drivers-ciena-c5162-oar", "//drivers/ciena/c5170:onos-drivers-ciena-c5170-oar", - #"//drivers/ciena/waveserverai:onos-drivers-ciena-waveserverai-oar", + "//drivers/ciena/waveserverai:onos-drivers-ciena-waveserverai-oar", "//drivers/cisco/netconf:onos-drivers-cisco-netconf-oar", "//drivers/cisco/rest:onos-drivers-cisco-rest-oar", "//drivers/corsa:onos-drivers-corsa-oar", @@ -101,8 +101,8 @@ ONOS_DRIVERS = [ "//drivers/juniper:onos-drivers-juniper-oar", "//drivers/lisp:onos-drivers-lisp-oar", "//drivers/flowspec:onos-drivers-flowspec-oar", - #"//drivers/huawei:onos-drivers-huawei-oar", - #"//drivers/microsemi/ea1000:onos-drivers-microsemi-ea1000-oar", + "//drivers/huawei:onos-drivers-huawei-oar", + "//drivers/microsemi/ea1000:onos-drivers-microsemi-ea1000-oar", "//drivers/oplink:onos-drivers-oplink-oar", #"//drivers/bmv2:onos-drivers-bmv2-oar", #"//drivers/barefoot:onos-drivers-barefoot-oar", @@ -110,9 +110,9 @@ ONOS_DRIVERS = [ "//drivers/hp:onos-drivers-hp-oar", #"//drivers/p4runtime:onos-drivers-p4runtime-oar", #"//drivers/gnmi:onos-drivers-gnmi-oar", - #"//drivers/polatis/netconf:onos-drivers-polatis-netconf-oar", + "//drivers/polatis/netconf:onos-drivers-polatis-netconf-oar", "//drivers/polatis/openflow:onos-drivers-polatis-openflow-oar", - #"//drivers/odtn-driver:onos-drivers-odtn-driver-oar", + "//drivers/odtn-driver:onos-drivers-odtn-driver-oar", ] ONOS_PROVIDERS = [ @@ -219,7 +219,7 @@ ONOS_APPS = [ "//apps/yang-gui:onos-apps-yang-gui-oar", #"//apps/cord-support:onos-apps-cord-support-oar", #"//apps/network-troubleshoot:onos-apps-network-troubleshoot-oar", - #"//apps/l3vpn:onos-apps-l3vpn-oar", + "//apps/l3vpn:onos-apps-l3vpn-oar", #"//apps/openroadm:onos-apps-openroadm-oar", #"//apps/artemis:onos-apps-artemis-oar", #"//apps/pi-demo/ecmp:onos-apps-pi-demo-ecmp-oar", @@ -233,7 +233,7 @@ ONOS_APPS = [ #"//apps/openstacktelemetry:onos-apps-openstacktelemetry-oar", #"//apps/p4-tutorial/pipeconf:onos-apps-p4-tutorial-pipeconf-oar", #"//apps/p4-tutorial/mytunnel:onos-apps-p4-tutorial-mytunnel-oar", - #"//apps/cfm:onos-apps-cfm-oar", + "//apps/cfm:onos-apps-cfm-oar", "//apps/routeradvertisement:onos-apps-routeradvertisement-oar", #"//apps/powermanagement:onos-apps-powermanagement-oar", #"//apps/t3:onos-apps-t3-oar",