Creating drivers and *Programmable Classes for Tofino device

ONOS-6836 ONOS-6837 ONOS-6839

Change-Id: Iaf3dd8a08533877f66a177f6d529290c51b0675b
diff --git a/drivers/barefoot/BUCK b/drivers/barefoot/BUCK
new file mode 100644
index 0000000..fada65d
--- /dev/null
+++ b/drivers/barefoot/BUCK
@@ -0,0 +1,35 @@
+GRPC_VER = '1.3.0'
+
+COMPILE_DEPS = [
+    '//lib:CORE_DEPS',
+    '//lib:minimal-json',
+    '//incubator/bmv2/model:onos-incubator-bmv2-model',
+    '//protocols/p4runtime/api:onos-protocols-p4runtime-api',
+    '//drivers/default:onos-drivers-default',
+    '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER,
+    '//lib:grpc-netty-' + GRPC_VER,
+]
+
+BUNDLES = [
+    ':onos-drivers-barefoot',
+    '//incubator/bmv2/model:onos-incubator-bmv2-model',
+    '//drivers/default:onos-drivers-default',
+]
+
+osgi_jar(
+    deps = COMPILE_DEPS,
+)
+
+onos_app (
+    app_name = 'org.onosproject.drivers.barefoot',
+    title = 'Barefoot Device Drivers',
+    category = 'Drivers',
+    url = 'http://onosproject.org',
+    description = 'ONOS Barefoot device drivers application.',
+    included_bundles = BUNDLES,
+    required_apps = [
+        'org.onosproject.generaldeviceprovider',
+        'org.onosproject.protocols.p4runtime',
+        'org.onosproject.drivers.p4runtime'
+    ],
+)