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/grpc/BUCK b/protocols/grpc/BUCK
new file mode 100644
index 0000000..57ab1a0
--- /dev/null
+++ b/protocols/grpc/BUCK
@@ -0,0 +1,38 @@
+PROTOBUF_VER = '3.0.2'
+GRPC_VER = '1.3.0'
+
+BUNDLES = [
+ '//protocols/grpc/proto:onos-protocols-grpc-proto',
+ '//protocols/grpc/api:onos-protocols-grpc-api',
+ '//protocols/grpc/ctl:onos-protocols-grpc-ctl',
+ # gRPC dependencies
+ '//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',
+]
+
+onos_app (
+ app_name = 'org.onosproject.protocols.grpc',
+ title = 'gRPC Protocol Subsystem',
+ category = 'Protocols',
+ url = 'http://onosproject.org',
+ description = 'ONOS gRPC protocol subsystem',
+ included_bundles = BUNDLES,
+)
\ No newline at end of file