ONOS-6561 BMv2 handshaker via P4Runtime

+ support fort device-specific default pipeconf
+ improvements to P4runtime and gRPC protocol stuff

Change-Id: I8986fce3959df564454ea3d31859860f61eabcae
diff --git a/drivers/bmv2/BUCK b/drivers/bmv2/BUCK
index ad83ec1..b406b08 100644
--- a/drivers/bmv2/BUCK
+++ b/drivers/bmv2/BUCK
@@ -1,8 +1,32 @@
+GRPC_DEPS = [
+    '//incubator/grpc-dependencies:grpc-core-repkg-1.3.0',
+    '//lib:grpc-protobuf-1.3.0',
+    '//lib:grpc-protobuf-lite-1.3.0',
+    '//lib:grpc-stub-1.3.0',
+    '//lib:grpc-netty-1.3.0',
+    '//lib:grpc-auth-1.3.0',
+    '//lib:google-instrumentation-0.3.0',
+    '//lib:protobuf-java-3.0.2',
+    # Lazily adding all netty-related packages.
+    # Some of them might not be necessary.
+    '//lib:netty',
+    '//lib:netty-buffer',
+    '//lib:netty-codec',
+    '//lib:netty-codec-http',
+    '//lib:netty-codec-http2',
+    '//lib:netty-common',
+    '//lib:netty-handler',
+    '//lib:netty-transport',
+    '//lib:netty-transport-native-epoll',
+    '//lib:netty-resolver',
+]
+
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
-    '//protocols/grpc/api:onos-protocols-grpc-api',
-    '//lib:grpc-core-1.3.0',
-    '//lib:grpc-stub-1.3.0'
+    '//protocols/p4runtime/api:onos-protocols-p4runtime-api',
+    '//incubator/bmv2/model:onos-incubator-bmv2-model',
+    '//incubator/grpc-dependencies:grpc-core-repkg-1.3.0',
+    '//lib:grpc-netty-1.3.0',
 ]
 
 TEST_DEPS = [
@@ -12,11 +36,14 @@
 
 BUNDLES = [
     ':onos-drivers-bmv2',
-    '//lib:grpc-core-1.3.0',
-    '//lib:grpc-stub-1.3.0',
+    '//protocols/p4runtime/proto:onos-protocols-p4runtime-proto',
+    '//protocols/p4runtime/api:onos-protocols-p4runtime-api',
+    '//protocols/p4runtime/ctl:onos-protocols-p4runtime-ctl',
     '//protocols/grpc/api:onos-protocols-grpc-api',
     '//protocols/grpc/ctl:onos-protocols-grpc-ctl',
-]
+    '//protocols/grpc/proto:onos-protocols-grpc-proto',
+    '//incubator/bmv2/model:onos-incubator-bmv2-model',
+] + GRPC_DEPS
 
 osgi_jar_with_tests(
     deps = COMPILE_DEPS,