Declaring P4Runtime and gRPC protocol subsystems as apps

The advantage is that we don't have to carry over the driver all
required gRPC and P4Runtime bundles. Each module is now responsible for
bringing in its own runtime dependencies.

Change-Id: Icb1365e68d486f12fb1e25dc5d3937f42e3e1c62
diff --git a/protocols/p4runtime/BUCK b/protocols/p4runtime/BUCK
new file mode 100644
index 0000000..e677f9f
--- /dev/null
+++ b/protocols/p4runtime/BUCK
@@ -0,0 +1,17 @@
+BUNDLES = [
+    '//protocols/p4runtime/proto:onos-protocols-p4runtime-proto',
+    '//protocols/p4runtime/api:onos-protocols-p4runtime-api',
+    '//protocols/p4runtime/ctl:onos-protocols-p4runtime-ctl',
+]
+
+onos_app(
+    app_name = 'org.onosproject.protocols.p4runtime',
+    title = 'P4Runtime Protocol Subsystem',
+    category = 'Protocols',
+    url = 'http://onosproject.org',
+    description = 'ONOS P4Runtime protocol subsystem',
+    included_bundles = BUNDLES,
+    required_apps = [
+        'org.onosproject.protocols.grpc'
+    ],
+)
\ No newline at end of file
diff --git a/protocols/p4runtime/api/BUCK b/protocols/p4runtime/api/BUCK
index b7d1869..cefdf3a 100644
--- a/protocols/p4runtime/api/BUCK
+++ b/protocols/p4runtime/api/BUCK
@@ -5,13 +5,6 @@
     '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER,
 ]
 
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-]
-
-
-osgi_jar_with_tests(
+osgi_jar(
     deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
 )
\ No newline at end of file
diff --git a/protocols/p4runtime/ctl/BUCK b/protocols/p4runtime/ctl/BUCK
index 27e102a..e4a90e7 100644
--- a/protocols/p4runtime/ctl/BUCK
+++ b/protocols/p4runtime/ctl/BUCK
@@ -1,39 +1,18 @@
 GRPC_VER = '1.3.0'
 PROTOBUF_VER = '3.0.2'
 
-GRPC_DEPS = [
-    '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER,
-    '//lib:grpc-protobuf-' + GRPC_VER,
-    '//lib:grpc-protobuf-lite-' + GRPC_VER,
-    '//lib:grpc-stub-' + GRPC_VER,
-    '//lib:grpc-netty-' + GRPC_VER,
-    '//lib:grpc-auth-' + GRPC_VER,
-    '//lib:google-instrumentation-0.3.0',
-    '//lib:protobuf-java-' + PROTOBUF_VER,
-    # 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',
     '//protocols/p4runtime/api:onos-protocols-p4runtime-api',
-    '//protocols/p4runtime/proto:onos-protocols-p4runtime-proto'
-] + GRPC_DEPS
+    '//protocols/p4runtime/proto:onos-protocols-p4runtime-proto',
+    '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER,
+    '//lib:grpc-stub-' + GRPC_VER,
+    '//lib:protobuf-java-' + PROTOBUF_VER,
+]
 
 TEST_DEPS = [
     '//lib:TEST',
-    '//core/api:onos-api-tests',
     '//incubator/bmv2/model:onos-incubator-bmv2-model',
 ]
 
diff --git a/protocols/p4runtime/proto/BUCK b/protocols/p4runtime/proto/BUCK
index ee185d4..6216be6 100644
--- a/protocols/p4runtime/proto/BUCK
+++ b/protocols/p4runtime/proto/BUCK
@@ -2,8 +2,8 @@
     '//bucklets/grpc.bucklet'
 )
 
-P4RT_PROTOC_VER = '3.0.2'
-P4RT_GRPC_VER = '1.3.0'
+PROTOBUF_VER = '3.0.2'
+GRPC_VER = '1.3.0'
 
 PI_COMMIT = '8051d54c9c3415ca800db232a226189fd17ad60a'
 PI_BASEURL = 'https://github.com/p4lang/PI.git'
@@ -20,10 +20,10 @@
 
 COMPILE_DEPS =[
     '//lib:CORE_DEPS',
-    '//incubator/grpc-dependencies:grpc-core-repkg-' + P4RT_GRPC_VER,
-    '//lib:grpc-stub-' + P4RT_GRPC_VER,
-    '//lib:grpc-protobuf-' + P4RT_GRPC_VER,
-    '//lib:protobuf-java-' + P4RT_PROTOC_VER,
+    '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER,
+    '//lib:grpc-stub-' + GRPC_VER,
+    '//lib:grpc-protobuf-' + GRPC_VER,
+    '//lib:protobuf-java-' + PROTOBUF_VER,
 ]
 
 genrule(
@@ -44,8 +44,8 @@
     proto_paths = [
         '$(location :p4lang-pi-repo-' + PI_COMMIT + ')/proto',
     ],
-    protoc_version = P4RT_PROTOC_VER,
-    plugin_version = P4RT_GRPC_VER,
+    protoc_version = PROTOBUF_VER,
+    plugin_version = GRPC_VER,
     deps = COMPILE_DEPS,
     include_std_lib = True,
 )