[WIP] Attempt at building grpc and p4runtime protocols with Bazel

STILL NOT WORKING AT RUNTIME

Change-Id: I1f9e60b12a12e09edad2a714ec2921a4f71c6d35
diff --git a/WORKSPACE b/WORKSPACE
index 4810fff..8979e4d 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -1,15 +1,59 @@
-load("//tools/build/bazel:generate_workspace.bzl", "generated_maven_jars")
-load("//tools/build/bazel:p4lang_workspace.bzl", "generate_p4lang")
-load("//tools/build/bazel:grpc_workspace.bzl", "generate_grpc")
+workspace(name = "org_onosproject_onos")
 
+load("//tools/build/bazel:generate_workspace.bzl", "generated_maven_jars")
 generated_maven_jars()
-generate_p4lang()
+
+load("//tools/build/bazel:protobuf_workspace.bzl", "generate_protobuf")
+generate_protobuf()
+
+load("//tools/build/bazel:grpc_workspace.bzl", "generate_grpc")
 generate_grpc()
 
+load("@io_grpc_grpc_java//:repositories.bzl", "grpc_java_repositories")
+grpc_java_repositories(
+    omit_com_google_api_grpc_google_common_protos = False,
+    omit_com_google_errorprone_error_prone_annotations = False,
+    omit_javax_annotation = False,
+    omit_com_google_auth_google_auth_library_credentials = False,
+    omit_io_opencensus_api = False,
+    omit_io_opencensus_grpc_metrics = False,
+
+    omit_com_google_code_findbugs_jsr305 = True,
+    omit_com_google_code_gson = True,
+    omit_com_google_guava = True,
+    omit_com_google_protobuf = True,
+    omit_com_google_protobuf_javalite = True,
+    omit_com_google_protobuf_nano_protobuf_javanano = True,
+    omit_com_google_re2j = True,
+    omit_com_google_truth_truth = True,
+    omit_com_squareup_okhttp = True,
+    omit_com_squareup_okio = True,
+    omit_io_netty_buffer = True,
+    omit_io_netty_common = True,
+    omit_io_netty_transport = True,
+    omit_io_netty_codec = True,
+    omit_io_netty_codec_socks = True,
+    omit_io_netty_codec_http = True,
+    omit_io_netty_codec_http2 = True,
+    omit_io_netty_handler = True,
+    omit_io_netty_handler_proxy = True,
+    omit_io_netty_resolver = True,
+    omit_io_netty_tcnative_boringssl_static = True,
+    omit_junit_junit = True,
+    omit_org_apache_commons_lang3 = True
+)
+
+load("//tools/build/bazel:googleapis_workspace.bzl", "generate_googleapis")
+generate_googleapis()
+
+load("//tools/build/bazel:p4lang_workspace.bzl", "generate_p4lang")
+generate_p4lang()
+
+
 git_repository(
-        name = "build_bazel_rules_nodejs",
-        remote = "https://github.com/bazelbuild/rules_nodejs.git",
-        tag = "0.10.0", # check for the latest tag when you install
+    name = "build_bazel_rules_nodejs",
+    remote = "https://github.com/bazelbuild/rules_nodejs.git",
+    tag = "0.10.0", # check for the latest tag when you install
 )
 
 load("@build_bazel_rules_nodejs//:defs.bzl", "node_repositories")
diff --git a/apps/artemis/BUCK b/apps/artemis/BUCK
index e06097d..450f73e 100755
--- a/apps/artemis/BUCK
+++ b/apps/artemis/BUCK
@@ -2,8 +2,8 @@
     '//lib:CORE_DEPS',
     '//lib:JACKSON',
     '//lib:NETTY',
-    '//lib:netty',
-    '//lib:netty-transport',
+    '//lib:io_netty_netty',
+    '//lib:io_netty_netty_transport',
     '//lib:org.apache.karaf.shell.console',
     '//cli:onos-cli',
     '//apps/routing-api:onos-apps-routing-api',
diff --git a/apps/artemis/BUILD b/apps/artemis/BUILD
index 9634521..763a535 100755
--- a/apps/artemis/BUILD
+++ b/apps/artemis/BUILD
@@ -5,8 +5,8 @@
     "@io_socket_client//jar",
     "@json//jar",
     "@engine_io_client//jar",
-    "@netty//jar",
-    "@netty_transport//jar",
+    "@io_netty_netty//jar",
+    "@io_netty_netty_transport//jar",
     "//apps/routing-api:onos-apps-routing-api",
     "//apps/routing/common:onos-apps-routing-common",
     "//protocols/ovsdb/api:onos-protocols-ovsdb-api",
diff --git a/apps/flowspec-api/flowapi/BUCK b/apps/flowspec-api/flowapi/BUCK
index 2596ffb..835b939 100644
--- a/apps/flowspec-api/flowapi/BUCK
+++ b/apps/flowspec-api/flowapi/BUCK
@@ -2,7 +2,7 @@
     '//utils/osgi:onlab-osgi',
     '//utils/misc:onlab-misc',
     '//lib:commons-io',
-    '//lib:guava',
+    '//lib:com_google_guava_guava',
     '//lib:kryo',
     '//lib:slf4j-api',
 ]
diff --git a/apps/influxdbmetrics/BUCK b/apps/influxdbmetrics/BUCK
index b9686ef..ed47e12 100644
--- a/apps/influxdbmetrics/BUCK
+++ b/apps/influxdbmetrics/BUCK
@@ -11,7 +11,7 @@
     '//lib:okio',
     '//lib:moshi',
     '//lib:converter-moshi',
-    '//lib:gson',
+    '//lib:com_google_code_gson_gson',
     '//cli:onos-cli',
 ]
 
@@ -22,7 +22,7 @@
     '//lib:retrofit',
     '//lib:okhttp',
     '//lib:logging-interceptor',
-    '//lib:gson',
+    '//lib:com_google_code_gson_gson',
     '//lib:okio',
     '//lib:moshi',
     '//lib:converter-moshi',
diff --git a/apps/influxdbmetrics/BUILD b/apps/influxdbmetrics/BUILD
index 278e4cf..1dc5de8 100644
--- a/apps/influxdbmetrics/BUILD
+++ b/apps/influxdbmetrics/BUILD
@@ -8,7 +8,7 @@
     "@okio//jar",
     "@moshi//jar",
     "@converter_moshi//jar",
-    "@gson//jar",
+    "@com_google_code_gson_gson//jar",
 ]
 
 EXCLUDED_BUNDLES = [
@@ -18,7 +18,7 @@
     "@retrofit//jar",
     "@okhttp//jar",
     "@logging_interceptor//jar",
-    "@gson//jar",
+    "@com_google_code_gson_gson//jar",
     "@okio//jar",
     "@moshi//jar",
     "@converter_moshi//jar",
diff --git a/apps/ofagent/BUCK b/apps/ofagent/BUCK
index 893b0c9..1283bad 100644
--- a/apps/ofagent/BUCK
+++ b/apps/ofagent/BUCK
@@ -8,10 +8,10 @@
     '//incubator/api:onos-incubator-api',
     '//cli:onos-cli',
     '//lib:org.apache.karaf.shell.console',
-    '//lib:netty-transport',
-    '//lib:netty-buffer',
-    '//lib:netty-codec',
-    '//lib:netty-handler',
+    '//lib:io_netty_netty_transport',
+    '//lib:io_netty_netty_buffer',
+    '//lib:io_netty_netty_codec',
+    '//lib:io_netty_netty_handler',
     '//lib:openflowj',
     '//lib:javax.ws.rs-api',
     '//utils/rest:onlab-rest',
diff --git a/apps/ofagent/BUILD b/apps/ofagent/BUILD
index 2cf8f09..e15e9c8 100644
--- a/apps/ofagent/BUILD
+++ b/apps/ofagent/BUILD
@@ -1,7 +1,7 @@
 COMPILE_DEPS = CORE_DEPS + NETTY + JACKSON + KRYO + CLI + REST + [
-    "@netty_transport//jar",
-    "@netty_codec//jar",
-    "@netty_handler//jar",
+    "@io_netty_netty_transport//jar",
+    "@io_netty_netty_codec//jar",
+    "@io_netty_netty_handler//jar",
     "@openflowj//jar",
     "//core/store/serializers:onos-core-serializers",
     "//core/common:onos-core-common",
diff --git a/apps/openstacktelemetry/BUCK b/apps/openstacktelemetry/BUCK
index fd9d942..2368ebe 100644
--- a/apps/openstacktelemetry/BUCK
+++ b/apps/openstacktelemetry/BUCK
@@ -7,7 +7,7 @@
     '//lib:retrofit',
     '//lib:okhttp',
     '//lib:logging-interceptor',
-    '//lib:gson',
+    '//lib:com_google_code_gson_gson',
     '//lib:okio',
     '//lib:moshi',
     '//lib:converter-moshi',
diff --git a/apps/openstacktelemetry/BUILD b/apps/openstacktelemetry/BUILD
index 134dc51..da45a1e 100644
--- a/apps/openstacktelemetry/BUILD
+++ b/apps/openstacktelemetry/BUILD
@@ -5,13 +5,12 @@
     "@retrofit//jar",
     "@okhttp//jar",
     "@logging_interceptor//jar",
-    "@gson//jar",
+    "@com_google_code_gson_gson//jar",
     "@okio//jar",
     "@moshi//jar",
     "@converter_moshi//jar",
-    "@protobuf_java_3_2_0//jar",
-    "@google_instrumentation_0_3_0//jar",
-    "@grpc_core_1_3_1//jar",
+    "@com_google_protobuf//:protobuf_java",
+    "@io_grpc_grpc_java//core",
     "//apps/openstacktelemetry/api:onos-apps-openstacktelemetry-api",
     "//apps/openstacktelemetry/app:onos-apps-openstacktelemetry-app",
 ]
diff --git a/apps/openstacktelemetry/app/BUILD b/apps/openstacktelemetry/app/BUILD
index 434c13c..c3f3b36 100644
--- a/apps/openstacktelemetry/app/BUILD
+++ b/apps/openstacktelemetry/app/BUILD
@@ -1,13 +1,13 @@
-COMPILE_DEPS = CORE_DEPS + JACKSON + KRYO + REST + CLI + GRPC_1_3 + [
+COMPILE_DEPS = CORE_DEPS + JACKSON + KRYO + REST + CLI + [
     "@kafka_clients//jar",
     "@jersey_client//jar",
     "@influxdb_java//jar",
-    "@grpc_core_1_3_1//jar",
+    "@io_grpc_grpc_java//core",
+    "@io_grpc_grpc_java//protobuf-lite",
     "//core/store/serializers:onos-core-serializers",
     "//apps/openstacknode/api:onos-apps-openstacknode-api",
     "//apps/openstacknetworking/api:onos-apps-openstacknetworking-api",
     "//apps/openstacktelemetry/api:onos-apps-openstacktelemetry-api",
-    "@grpc_protobuf_lite_1_3_1//jar",
 ]
 
 TEST_DEPS = TEST_ADAPTERS + TEST_REST + [
diff --git a/apps/rabbitmq/BUCK b/apps/rabbitmq/BUCK
index a1f5135..c283951 100644
--- a/apps/rabbitmq/BUCK
+++ b/apps/rabbitmq/BUCK
@@ -1,8 +1,8 @@
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
     '//incubator/api:onos-incubator-api',
-    '//lib:guava',
-    '//lib:gson',
+    '//lib:com_google_guava_guava',
+    '//lib:com_google_code_gson_gson',
     '//lib:amqp-client',
 ]
 
@@ -11,7 +11,7 @@
 ]
 
 BUNDLES = [
-    '//lib:gson',
+    '//lib:com_google_code_gson_gson',
     '//lib:amqp-client',
     '//apps/rabbitmq:onos-apps-rabbitmq',
 ]
diff --git a/apps/rabbitmq/BUILD b/apps/rabbitmq/BUILD
index 4111cd6..bbf846a 100644
--- a/apps/rabbitmq/BUILD
+++ b/apps/rabbitmq/BUILD
@@ -1,11 +1,11 @@
 COMPILE_DEPS = CORE_DEPS + [
-    "@gson//jar",
+    "@com_google_code_gson_gson//jar",
     "@amqp_client//jar",
     "//incubator/api:onos-incubator-api",
 ]
 
 BUNDLES = [
-    "@gson//jar",
+    "@com_google_code_gson_gson//jar",
     "@amqp_client//jar",
     "//apps/rabbitmq:onos-apps-rabbitmq",
 ]
diff --git a/apps/routing/common/BUCK b/apps/routing/common/BUCK
index 7e5d6cb..2bd6aec 100644
--- a/apps/routing/common/BUCK
+++ b/apps/routing/common/BUCK
@@ -9,7 +9,7 @@
     '//apps/routing-api:onos-apps-routing-api',
     '//apps/route-service/api:onos-apps-route-service-api',
     '//core/common:onos-core-common',
-    '//lib:netty',
+    '//lib:io_netty_netty',
 ]
 
 TEST_DEPS = [
diff --git a/apps/routing/common/BUILD b/apps/routing/common/BUILD
index 0792ed9..1d5b4d4 100644
--- a/apps/routing/common/BUILD
+++ b/apps/routing/common/BUILD
@@ -1,5 +1,5 @@
 COMPILE_DEPS = CORE_DEPS + NETTY + JACKSON + CLI + [
-    "@netty//jar",
+    "@io_netty_netty//jar",
     "//incubator/api:onos-incubator-api",
     "//apps/routing-api:onos-apps-routing-api",
     "//apps/route-service/api:onos-apps-route-service-api",
diff --git a/apps/routing/fpm/app/BUCK b/apps/routing/fpm/app/BUCK
index da7b8e5..adf50c3 100644
--- a/apps/routing/fpm/app/BUCK
+++ b/apps/routing/fpm/app/BUCK
@@ -9,7 +9,7 @@
     '//apps/route-service/api:onos-apps-route-service-api',
     '//core/store/serializers:onos-core-serializers',
     '//apps/routing/fpm/api:onos-apps-routing-fpm-api',
-    '//lib:netty',
+    '//lib:io_netty_netty',
 ]
 
 TEST_DEPS = [
diff --git a/apps/routing/fpm/app/BUILD b/apps/routing/fpm/app/BUILD
index 7dc29f6..9622b2b 100644
--- a/apps/routing/fpm/app/BUILD
+++ b/apps/routing/fpm/app/BUILD
@@ -1,5 +1,5 @@
 COMPILE_DEPS = CORE_DEPS + NETTY + KRYO + CLI + [
-    "@netty//jar",
+    "@io_netty_netty//jar",
     "//incubator/api:onos-incubator-api",
     "//apps/routing-api:onos-apps-routing-api",
     "//apps/route-service/api:onos-apps-route-service-api",
diff --git a/core/api/BUCK b/core/api/BUCK
index ea9642d..d4cdf8a 100644
--- a/core/api/BUCK
+++ b/core/api/BUCK
@@ -8,7 +8,7 @@
     '//utils/osgi:onlab-osgi',
     '//utils/rest:onlab-rest',
     '//lib:joda-time',
-    '//lib:netty',
+    '//lib:io_netty_netty',
 ]
 
 osgi_jar_with_tests (
diff --git a/core/api/BUILD b/core/api/BUILD
index 48ba6ae..6f19099 100644
--- a/core/api/BUILD
+++ b/core/api/BUILD
@@ -3,7 +3,7 @@
     "//utils/osgi:onlab-osgi",
     "//utils/rest:onlab-rest",
     "@joda_time//jar",
-    "@netty//jar",
+    "@io_netty_netty//jar",
 ]
 
 osgi_jar_with_tests(
diff --git a/core/store/dist/BUCK b/core/store/dist/BUCK
index b6be5ec..608bfc9 100644
--- a/core/store/dist/BUCK
+++ b/core/store/dist/BUCK
@@ -1,17 +1,18 @@
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
-    '//lib:NETTY',
     '//lib:JACKSON',
     '//lib:KRYO',
     '//core/common:onos-core-common',
     '//utils/rest:onlab-rest',
     '//core/store/serializers:onos-core-serializers',
-    '//lib:netty-transport',
-    '//lib:netty-codec',
-    '//lib:netty-buffer',
-    '//lib:netty-handler',
-    '//lib:netty-transport-native-epoll',
-    '//lib:netty-resolver',
+    '//lib:io_netty_netty_buffer',
+    '//lib:io_netty_netty_common',
+    '//lib:io_netty_netty_codec',
+    '//lib:io_netty_netty_handler',
+    '//lib:io_netty_netty_resolver',
+    '//lib:io_netty_netty_transport',
+    '//lib:io_netty_netty_transport_native_unix_common',
+    '//lib:io_netty_netty_transport-native-epoll',
     '//lib:commons-math3',
     '//incubator/api:onos-incubator-api',
 ]
diff --git a/core/store/dist/BUILD b/core/store/dist/BUILD
index c48acda..98eefbb 100644
--- a/core/store/dist/BUILD
+++ b/core/store/dist/BUILD
@@ -2,11 +2,12 @@
     "//core/common:onos-core-common",
     "//utils/rest:onlab-rest",
     "//core/store/serializers:onos-core-serializers",
-    "@netty_transport//jar",
-    "@netty_codec//jar",
-    "@netty_handler//jar",
-    "@netty_transport_native_epoll//jar",
-    "@netty_resolver//jar",
+    "@io_netty_netty_transport//jar",
+    "@io_netty_netty_codec//jar",
+    "@io_netty_netty_handler//jar",
+    "@io_netty_netty_transport_native_epoll//jar",
+    "@io_netty_netty_transport_native_unix_common//jar",
+    "@io_netty_netty_resolver//jar",
     "@commons_math3//jar",
     "//incubator/api:onos-incubator-api",
 ]
diff --git a/core/store/primitives/BUCK b/core/store/primitives/BUCK
index 5de553d..ffe4fae 100644
--- a/core/store/primitives/BUCK
+++ b/core/store/primitives/BUCK
@@ -12,10 +12,10 @@
 TEST_DEPS = [
     '//lib:TEST',
     '//core/api:onos-api-tests',
-    '//lib:netty-handler',
-    '//lib:netty-buffer',
-    '//lib:netty-codec',
-    '//lib:netty-resolver',
+    '//lib:io_netty_netty_handler',
+    '//lib:io_netty_netty_buffer',
+    '//lib:io_netty_netty_codec',
+    '//lib:io_netty_netty_resolver',
     '//lib:commons-math3',
 ]
 
diff --git a/core/store/primitives/BUILD b/core/store/primitives/BUILD
index 0a925d1..45f0b4e 100644
--- a/core/store/primitives/BUILD
+++ b/core/store/primitives/BUILD
@@ -6,10 +6,10 @@
 
 TEST_DEPS = TEST + [
     "@commons_math3//jar",
-    "@netty_handler//jar",
-    "@netty_buffer//jar",
-    "@netty_codec//jar",
-    "@netty_resolver//jar",
+    "@io_netty_netty_handler//jar",
+    "@io_netty_netty_buffer//jar",
+    "@io_netty_netty_codec//jar",
+    "@io_netty_netty_resolver//jar",
     "//core/api:onos-api-tests",
 ]
 
diff --git a/incubator/grpc-dependencies/BUCK b/incubator/grpc-dependencies/BUCK
index e36dc17..99d74cc 100644
--- a/incubator/grpc-dependencies/BUCK
+++ b/incubator/grpc-dependencies/BUCK
@@ -9,7 +9,7 @@
     repkg_deps = [
         '//lib:COMPILE',
         '//lib:google-instrumentation-0.3.0',
-        "//lib:google-errorprone-2.0.19"
+        '//lib:google-errorprone-2.0.19'
     ]
     remote_file(
         name = "grpc-src-zip-131",
diff --git a/incubator/protobuf/models/BUCK b/incubator/protobuf/models/BUCK
index 2fc2d4b..04f71b0 100644
--- a/incubator/protobuf/models/BUCK
+++ b/incubator/protobuf/models/BUCK
@@ -11,7 +11,7 @@
 GRPC_DEPS = [
     '//lib:GRPC_1.3',
     '//lib:protobuf-java-3.2.0',
-    '//lib:guava',
+    '//lib:com_google_guava_guava',
     '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER
 ]
 
diff --git a/incubator/protobuf/services/nb/BUCK b/incubator/protobuf/services/nb/BUCK
index c1733d3..f05f448 100644
--- a/incubator/protobuf/services/nb/BUCK
+++ b/incubator/protobuf/services/nb/BUCK
@@ -22,7 +22,7 @@
     '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER,
     '//incubator/protobuf/models:onos-incubator-protobuf-models-proto',
     '//lib:protobuf-java-3.2.0',
-    '//lib:guava',
+    '//lib:com_google_guava_guava',
 ]
 
 BUNDLES = [
@@ -31,7 +31,7 @@
     ':onos-incubator-protobuf-services-nb',
     ':onos-incubator-protobuf-services-nb-proto',
     '//lib:protobuf-java-3.2.0',
-    '//lib:guava',
+    '//lib:com_google_guava_guava',
     '//lib:grpc-core-' + GRPC_VER,
     '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER,
     '//lib:grpc-protobuf-' + GRPC_VER,
@@ -41,14 +41,14 @@
     '//lib:grpc-context-' + GRPC_VER,
     '//lib:google-truth-0.28',
     '//core/api:onos-api',
-    '//lib:netty-transport',
-    '//lib:netty-buffer',
-    '//lib:netty-resolver',
-    '//lib:netty-common',
-    '//lib:netty-codec',
-    '//lib:netty-handler',
-    '//lib:netty-codec-http2',
-    '//lib:netty-codec-http',
+    '//lib:io_netty_netty_transport',
+    '//lib:io_netty_netty_buffer',
+    '//lib:io_netty_netty_resolver',
+    '//lib:io_netty_netty_common',
+    '//lib:io_netty_netty_codec',
+    '//lib:io_netty_netty_handler',
+    '//lib:io_netty_netty_codec-http2',
+    '//lib:io_netty_netty_codec-http',
     "//lib:google-instrumentation-0.3.0",
 ]
 
diff --git a/lib/BUCK b/lib/BUCK
index 4181798..014ac38 100644
--- a/lib/BUCK
+++ b/lib/BUCK
@@ -1,4 +1,4 @@
-# ***** This file was auto-generated at Wed, 8 Aug 2018 21:33:43 GMT. Do not edit this file manually. *****
+# ***** This file was auto-generated at Thu, 9 Aug 2018 18:35:50 GMT. Do not edit this file manually. *****
 # ***** Use onos-lib-gen *****
 
 pass_thru_pom(
@@ -19,7 +19,7 @@
     ':commons-lang3',
     ':commons-io',
     ':commons-pool',
-    ':guava',
+    ':com_google_guava_guava',
     ':slf4j-api',
     ':osgi-core',
     ':org.osgi.compendium',
@@ -27,7 +27,7 @@
     ':org.apache.felix.scr',
     ':org.apache.karaf.features.core',
     ':org.apache.karaf.system.core',
-    ':jsr305',
+    ':com_google_code_findbugs_jsr305',
     ':org.apache.servicemix.bundles.dom4j',
   ],
 )
@@ -51,7 +51,7 @@
     ':easymock',
     ':hamcrest-all',
     ':hamcrest-optional',
-    ':guava-testlib',
+    ':com_google_guava_guava_testlib',
     '//utils/junit:onlab-junit',
   ],
 )
@@ -90,7 +90,7 @@
     ':hk2-utils',
     ':javax.inject',
     ':hk2-osgi-resource-locator',
-    ':javax.annotation-api',
+    ':javax.annotation-api-mvn',
     ':validation-api',
     '//core/common:onos-core-common',
     '//core/api:onos-api-tests',
@@ -103,35 +103,8 @@
   name = 'NETTY',
   visibility = ['PUBLIC'],
   exported_deps = [
-    ':netty-buffer',
-    ':netty-common',
-  ],
-)
-
-osgi_feature_group(
-  name = 'GRPC_1.3',
-  visibility = ['PUBLIC'],
-  exported_deps = [
-    ':grpc-protobuf-1.3.1',
-    ':grpc-stub-1.3.1',
-    ':grpc-netty-1.3.1',
-    ':grpc-auth-1.3.1',
-    ':grpc-context-1.3.1',
-    ':google-truth-0.28',
-  ],
-)
-
-osgi_feature_group(
-  name = 'GRPC_TEST_1.3',
-  visibility = ['PUBLIC'],
-  exported_deps = [
-    ':grpc-testing-1.3.1',
-    ':grpc-testing-proto-1.3.1',
-    ':google-code-findbugs-3.0.0',
-    ':google-errorprone-2.0.19',
-    ':google-instrumentation-0.3.0',
-    ':junit-dep',
-    ':objenesis',
+    ':io_netty_netty_buffer',
+    ':io_netty_netty_common',
   ],
 )
 
@@ -213,6 +186,33 @@
   ],
 )
 
+osgi_feature_group(
+  name = 'GRPC_1.3',
+  visibility = ['PUBLIC'],
+  exported_deps = [
+    ':grpc-protobuf-1.3.1',
+    ':grpc-stub-1.3.1',
+    ':grpc-netty-1.3.1',
+    ':grpc-auth-1.3.1',
+    ':grpc-context-1.3.1',
+    ':google-truth-0.28',
+  ],
+)
+
+osgi_feature_group(
+  name = 'GRPC_TEST_1.3',
+  visibility = ['PUBLIC'],
+  exported_deps = [
+    ':grpc-testing-1.3.1',
+    ':grpc-testing-proto-1.3.1',
+    ':google-code-findbugs-3.0.0',
+    ':google-errorprone-2.0.19',
+    ':google-instrumentation-0.3.0',
+    ':junit-dep',
+    ':objenesis',
+  ],
+)
+
 remote_jar (
   name = 'aopalliance-repackaged',
   out = 'aopalliance-repackaged-2.5.0-b42.jar',
@@ -493,15 +493,6 @@
 )
 
 remote_jar (
-  name = 'error_prone_annotations',
-  out = 'error_prone_annotations-2.0.18.jar',
-  url = 'mvn:com.google.errorprone:error_prone_annotations:jar:2.0.18',
-  sha1 = '5f65affce1684999e2f4024983835efc3504012e',
-  maven_coords = 'com.google.errorprone:error_prone_annotations:jar:NON-OSGI:2.0.18',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
   name = 'ganymed-ssh2',
   out = 'ganymed-ssh2-262.jar',
   url = 'mvn:ch.ethz.ganymed:ganymed-ssh2:jar:262',
@@ -520,7 +511,7 @@
 )
 
 remote_jar (
-  name = 'gson',
+  name = 'com_google_code_gson_gson',
   out = 'gson-2.7.jar',
   url = 'mvn:com.google.code.gson:gson:jar:2.7',
   sha1 = '751f548c85fa49f330cecbb1875893f971b33c4e',
@@ -529,7 +520,7 @@
 )
 
 remote_jar (
-  name = 'guava',
+  name = 'com_google_guava_guava',
   out = 'guava-22.0.jar',
   url = 'mvn:com.google.guava:guava:jar:22.0',
   sha1 = '3564ef3803de51fb0530a8377ec6100b33b0d073',
@@ -538,7 +529,7 @@
 )
 
 remote_jar (
-  name = 'guava-testlib',
+  name = 'com_google_guava_guava_testlib',
   out = 'guava-testlib-22.0.jar',
   url = 'mvn:com.google.guava:guava-testlib:jar:22.0',
   sha1 = '3be1b88f1cfc6592acbcbfe1f3a420f79eb2b146',
@@ -700,7 +691,7 @@
 )
 
 remote_jar (
-  name = 'javax.annotation-api',
+  name = 'javax.annotation-api-mvn',
   out = 'javax.annotation-api-1.2.jar',
   url = 'mvn:javax.annotation:javax.annotation-api:jar:1.2',
   sha1 = '479c1e06db31c432330183f5cae684163f186146',
@@ -907,7 +898,7 @@
 )
 
 remote_jar (
-  name = 'jsr305',
+  name = 'com_google_code_findbugs_jsr305',
   out = 'jsr305-3.0.1.jar',
   url = 'mvn:com.google.code.findbugs:jsr305:jar:3.0.1',
   sha1 = 'f7be08ec23c21485b9b5a1cf1654c2ec8c58168d',
@@ -1015,7 +1006,7 @@
 )
 
 remote_jar (
-  name = 'netty',
+  name = 'io_netty_netty',
   out = 'netty-3.10.5.Final.jar',
   url = 'mvn:io.netty:netty:jar:3.10.5.Final',
   sha1 = '9ca7d55d246092bddd29b867706e2f6c7db701a0',
@@ -1024,83 +1015,110 @@
 )
 
 remote_jar (
-  name = 'netty-buffer',
-  out = 'netty-buffer-4.1.8.Final.jar',
-  url = 'mvn:io.netty:netty-buffer:jar:4.1.8.Final',
-  sha1 = '43292c2622e340a0d07178c341ca3bdf3d662034',
-  maven_coords = 'io.netty:netty-buffer:4.1.8.Final',
+  name = 'io_netty_netty_buffer',
+  out = 'netty-buffer-4.1.27.Final.jar',
+  url = 'mvn:io.netty:netty-buffer:jar:4.1.27.Final',
+  sha1 = 'aafe2b9fb0d8f3b200cf10b9fd6486c6a722d7a1',
+  maven_coords = 'io.netty:netty-buffer:4.1.27.Final',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
-  name = 'netty-codec',
-  out = 'netty-codec-4.1.8.Final.jar',
-  url = 'mvn:io.netty:netty-codec:jar:4.1.8.Final',
-  sha1 = '1bd0a2d032e5c7fc3f42c1b483d0f4c57eb516a3',
-  maven_coords = 'io.netty:netty-codec:4.1.8.Final',
+  name = 'io_netty_netty_codec',
+  out = 'netty-codec-4.1.27.Final.jar',
+  url = 'mvn:io.netty:netty-codec:jar:4.1.27.Final',
+  sha1 = 'd2653d78ebaa650064768fb26b10051f5c8efb2c',
+  maven_coords = 'io.netty:netty-codec:4.1.27.Final',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
-  name = 'netty-common',
-  out = 'netty-common-4.1.8.Final.jar',
-  url = 'mvn:io.netty:netty-common:jar:4.1.8.Final',
-  sha1 = 'ee62c80318413d2375d145e51e48d7d35c901324',
-  maven_coords = 'io.netty:netty-common:4.1.8.Final',
+  name = 'io_netty_netty_common',
+  out = 'netty-common-4.1.27.Final.jar',
+  url = 'mvn:io.netty:netty-common:jar:4.1.27.Final',
+  sha1 = '6a12a969c27fb37b230c4bde5a67bd822fa6b7a4',
+  maven_coords = 'io.netty:netty-common:4.1.27.Final',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
-  name = 'netty-handler',
-  out = 'netty-handler-4.1.8.Final.jar',
-  url = 'mvn:io.netty:netty-handler:jar:4.1.8.Final',
-  sha1 = 'db01139bfb11afd009a695eef55b43bbf22c4ef5',
-  maven_coords = 'io.netty:netty-handler:4.1.8.Final',
+  name = 'io_netty_netty_handler',
+  out = 'netty-handler-4.1.27.Final.jar',
+  url = 'mvn:io.netty:netty-handler:jar:4.1.27.Final',
+  sha1 = '21bd9cf565390a8d72579b8664303e3c175dfc6a',
+  maven_coords = 'io.netty:netty-handler:4.1.27.Final',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
-  name = 'netty-transport',
-  out = 'netty-transport-4.1.8.Final.jar',
-  url = 'mvn:io.netty:netty-transport:jar:4.1.8.Final',
-  sha1 = '905b5dadce881c9824b3039c0df36dabbb7b6a07',
-  maven_coords = 'io.netty:netty-transport:4.1.8.Final',
+  name = 'io_netty_netty_handler_proxy',
+  out = 'netty-handler-proxy-4.1.27.Final.jar',
+  url = 'mvn:io.netty:netty-handler-proxy:jar:4.1.27.Final',
+  sha1 = '1a822ce7760bc6eb4937b7e448c9e081fedcc807',
+  maven_coords = 'io.netty:netty-handler-proxy:4.1.27.Final',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
-  name = 'netty-transport-native-epoll',
-  out = 'netty-transport-native-epoll-4.1.8.Final.jar',
-  url = 'mvn:io.netty:netty-transport-native-epoll:jar:4.1.8.Final',
-  sha1 = 'de9052874d9ff9b411bfc465869f620cab643d8d',
-  maven_coords = 'io.netty:netty-transport-native-epoll:4.1.8.Final',
+  name = 'io_netty_netty_transport',
+  out = 'netty-transport-4.1.27.Final.jar',
+  url = 'mvn:io.netty:netty-transport:jar:4.1.27.Final',
+  sha1 = 'b5c2da3ea89dd67320925f1504c9eb3615241b7c',
+  maven_coords = 'io.netty:netty-transport:4.1.27.Final',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
-  name = 'netty-resolver',
-  out = 'netty-resolver-4.1.8.Final.jar',
-  url = 'mvn:io.netty:netty-resolver:jar:4.1.8.Final',
-  sha1 = '2e116cdd5edc01b2305072b1dbbd17c0595dbfef',
-  maven_coords = 'io.netty:netty-resolver:4.1.8.Final',
+  name = 'io_netty_netty_transport_native_unix_common',
+  out = 'netty-transport-native-unix-common-4.1.27.Final.jar',
+  url = 'mvn:io.netty:netty-transport-native-unix-common:jar:4.1.27.Final',
+  sha1 = '2b0667fe5c1df78c6cfbf9d53ad8b1fb533fb8e8',
+  maven_coords = 'io.netty:netty-transport-native-unix-common:4.1.27.Final',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
-  name = 'netty-codec-http2',
-  out = 'netty-codec-http2-4.1.8.Final.jar',
-  url = 'mvn:io.netty:netty-codec-http2:jar:4.1.8.Final',
-  sha1 = '105a99ee5767463370ccc3d2e16800bd99f5648e',
-  maven_coords = 'io.netty:netty-codec-http2:4.1.8.Final',
+  name = 'io_netty_netty_transport-native-epoll',
+  out = 'netty-transport-native-epoll-4.1.27.Final.jar',
+  url = 'mvn:io.netty:netty-transport-native-epoll:jar:4.1.27.Final',
+  sha1 = 'addbd481940a3cce57cb5736ecef5db909b7b5d0',
+  maven_coords = 'io.netty:netty-transport-native-epoll:4.1.27.Final',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
-  name = 'netty-codec-http',
-  out = 'netty-codec-http-4.1.8.Final.jar',
-  url = 'mvn:io.netty:netty-codec-http:jar:4.1.8.Final',
-  sha1 = '1e88617c4a6c88da7e86fdbbd9494d22a250c879',
-  maven_coords = 'io.netty:netty-codec-http:4.1.8.Final',
+  name = 'io_netty_netty_resolver',
+  out = 'netty-resolver-4.1.27.Final.jar',
+  url = 'mvn:io.netty:netty-resolver:jar:4.1.27.Final',
+  sha1 = '2536447ef9605ccb2b5203aa22392c6514484ea9',
+  maven_coords = 'io.netty:netty-resolver:4.1.27.Final',
+  visibility = [ 'PUBLIC' ],
+)
+
+remote_jar (
+  name = 'io_netty_netty_codec-http2',
+  out = 'netty-codec-http2-4.1.27.Final.jar',
+  url = 'mvn:io.netty:netty-codec-http2:jar:4.1.27.Final',
+  sha1 = '3769790a2033667d663f9a526d5b63cfecdbdf4e',
+  maven_coords = 'io.netty:netty-codec-http2:4.1.27.Final',
+  visibility = [ 'PUBLIC' ],
+)
+
+remote_jar (
+  name = 'io_netty_netty_codec-http',
+  out = 'netty-codec-http-4.1.27.Final.jar',
+  url = 'mvn:io.netty:netty-codec-http:jar:4.1.27.Final',
+  sha1 = 'a1722d6bcbbef1c4c7877e8bf38b07a3db5ed07f',
+  maven_coords = 'io.netty:netty-codec-http:4.1.27.Final',
+  visibility = [ 'PUBLIC' ],
+)
+
+remote_jar (
+  name = 'io_netty_netty_codec-socks',
+  out = 'netty-codec-socks-4.1.27.Final.jar',
+  url = 'mvn:io.netty:netty-codec-socks:jar:4.1.27.Final',
+  sha1 = '285b09af98764cf02e4b77b3d95af188469a7133',
+  maven_coords = 'io.netty:netty-codec-socks:4.1.27.Final',
   visibility = [ 'PUBLIC' ],
 )
 
@@ -1616,6 +1634,105 @@
 )
 
 remote_jar (
+  name = 'bcpkix-jdk15on',
+  out = 'bcpkix-jdk15on-1.59.jar',
+  url = 'mvn:org.bouncycastle:bcpkix-jdk15on:jar:1.59',
+  sha1 = '9cef0aab8a4bb849a8476c058ce3ff302aba3fff',
+  maven_coords = 'org.bouncycastle:bcpkix-jdk15on:1.59',
+  visibility = [ 'PUBLIC' ],
+)
+
+remote_jar (
+  name = 'bcprov-jdk15on',
+  out = 'bcprov-jdk15on-1.59.jar',
+  url = 'mvn:org.bouncycastle:bcprov-jdk15on:jar:1.59',
+  sha1 = '2507204241ab450456bdb8e8c0a8f986e418bd99',
+  maven_coords = 'org.bouncycastle:bcprov-jdk15on:1.59',
+  visibility = [ 'PUBLIC' ],
+)
+
+remote_jar (
+  name = 'hamcrest-optional',
+  out = 'hamcrest-optional-1.1.0.jar',
+  url = 'mvn:com.spotify:hamcrest-optional:jar:1.1.0',
+  sha1 = 'c2dfe3a43794b15fb4c28de0027fe6e249855b3b',
+  maven_coords = 'com.spotify:hamcrest-optional:jar:NON-OSGI:1.1.0',
+  visibility = [ 'PUBLIC' ],
+)
+
+remote_jar (
+  name = 'swagger-annotations',
+  out = 'swagger-annotations-1.5.16.jar',
+  url = 'mvn:io.swagger:swagger-annotations:jar:1.5.16',
+  sha1 = '935f1f2fed2cbdd7a0513981d6c53201e21155f4',
+  maven_coords = 'io.swagger:swagger-annotations:1.5.16',
+  visibility = [ 'PUBLIC' ],
+)
+
+remote_jar (
+  name = 'kafka-clients',
+  out = 'org.apache.servicemix.bundles.kafka-clients-0.8.2.2_1.jar',
+  url = 'mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.kafka-clients:jar:0.8.2.2_1',
+  sha1 = '19ba66200cc3617fad12843788dff818b9882008',
+  maven_coords = 'org.apache.servicemix.bundles:org.apache.servicemix.bundles.kafka-clients:0.8.2.2_1',
+  visibility = [ 'PUBLIC' ],
+)
+
+remote_jar (
+  name = 'tinder-xmpp',
+  out = 'tinder-1.3.0.jar',
+  url = 'mvn:org.igniterealtime:tinder:jar:1.3.0',
+  sha1 = '46353ded2a1d1a87d17600206d61814eb0b8a711',
+  maven_coords = 'org.igniterealtime:tinder:jar:NON-OSGI:1.3.0',
+  visibility = [ 'PUBLIC' ],
+)
+
+remote_jar (
+  name = 'aalto-xml',
+  out = 'aalto-xml-1.0.0.jar',
+  url = 'mvn:com.fasterxml:aalto-xml:jar:1.0.0',
+  sha1 = 'aeae9e8a71914e7f5efc8a69d2f5cb1f2224f2c6',
+  maven_coords = 'com.fasterxml:aalto-xml:1.0.0',
+  visibility = [ 'PUBLIC' ],
+)
+
+remote_jar (
+  name = 'stax2-api',
+  out = 'stax2-api-4.0.0.jar',
+  url = 'mvn:org.codehaus.woodstox:stax2-api:jar:4.0.0',
+  sha1 = '6fa8b05f7587a3cb819d223ee0b0de0c126e3dd1',
+  maven_coords = 'org.codehaus.woodstox:stax2-api:4.0.0',
+  visibility = [ 'PUBLIC' ],
+)
+
+remote_jar (
+  name = 'concurrent-hashmap',
+  out = 'concurrentlinkedhashmap-lru-1.0.jar',
+  url = 'mvn:com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:jar:1.0',
+  sha1 = 'db7b7a28b835db4717d4aaf31f5d4441887a6d46',
+  maven_coords = 'com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:jar:NON-OSGI:1.0',
+  visibility = [ 'PUBLIC' ],
+)
+
+remote_jar (
+  name = 'gnu-idn',
+  out = 'libidn-1.15.jar',
+  url = 'mvn:org.gnu.inet:libidn:jar:1.15',
+  sha1 = 'b5bede3c1c031a827b604da31768ddaf833495c6',
+  maven_coords = 'org.gnu.inet:libidn:jar:NON-OSGI:1.15',
+  visibility = [ 'PUBLIC' ],
+)
+
+remote_jar (
+  name = 'sigar',
+  out = 'sigar-1.6.5_01.jar',
+  url = 'mvn:org.knowhowlab.osgi:sigar:jar:1.6.5_01',
+  sha1 = '58eb4af0dc4a1d331cd7620767216494e2984dea',
+  maven_coords = 'org.knowhowlab.osgi:sigar:1.6.5_01',
+  visibility = [ 'PUBLIC' ],
+)
+
+remote_jar (
   name = 'grpc-core-1.3.1',
   out = 'grpc-core-1.3.1.jar',
   url = 'mvn:io.grpc:grpc-core:jar:1.3.1',
@@ -1750,102 +1867,3 @@
   visibility = [ 'PUBLIC' ],
 )
 
-remote_jar (
-  name = 'bcpkix-jdk15on',
-  out = 'bcpkix-jdk15on-1.59.jar',
-  url = 'mvn:org.bouncycastle:bcpkix-jdk15on:jar:1.59',
-  sha1 = '9cef0aab8a4bb849a8476c058ce3ff302aba3fff',
-  maven_coords = 'org.bouncycastle:bcpkix-jdk15on:1.59',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'bcprov-jdk15on',
-  out = 'bcprov-jdk15on-1.59.jar',
-  url = 'mvn:org.bouncycastle:bcprov-jdk15on:jar:1.59',
-  sha1 = '2507204241ab450456bdb8e8c0a8f986e418bd99',
-  maven_coords = 'org.bouncycastle:bcprov-jdk15on:1.59',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'hamcrest-optional',
-  out = 'hamcrest-optional-1.1.0.jar',
-  url = 'mvn:com.spotify:hamcrest-optional:jar:1.1.0',
-  sha1 = 'c2dfe3a43794b15fb4c28de0027fe6e249855b3b',
-  maven_coords = 'com.spotify:hamcrest-optional:jar:NON-OSGI:1.1.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'swagger-annotations',
-  out = 'swagger-annotations-1.5.16.jar',
-  url = 'mvn:io.swagger:swagger-annotations:jar:1.5.16',
-  sha1 = '935f1f2fed2cbdd7a0513981d6c53201e21155f4',
-  maven_coords = 'io.swagger:swagger-annotations:1.5.16',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'kafka-clients',
-  out = 'org.apache.servicemix.bundles.kafka-clients-0.8.2.2_1.jar',
-  url = 'mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.kafka-clients:jar:0.8.2.2_1',
-  sha1 = '19ba66200cc3617fad12843788dff818b9882008',
-  maven_coords = 'org.apache.servicemix.bundles:org.apache.servicemix.bundles.kafka-clients:0.8.2.2_1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'tinder-xmpp',
-  out = 'tinder-1.3.0.jar',
-  url = 'mvn:org.igniterealtime:tinder:jar:1.3.0',
-  sha1 = '46353ded2a1d1a87d17600206d61814eb0b8a711',
-  maven_coords = 'org.igniterealtime:tinder:jar:NON-OSGI:1.3.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'aalto-xml',
-  out = 'aalto-xml-1.0.0.jar',
-  url = 'mvn:com.fasterxml:aalto-xml:jar:1.0.0',
-  sha1 = 'aeae9e8a71914e7f5efc8a69d2f5cb1f2224f2c6',
-  maven_coords = 'com.fasterxml:aalto-xml:1.0.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'stax2-api',
-  out = 'stax2-api-4.0.0.jar',
-  url = 'mvn:org.codehaus.woodstox:stax2-api:jar:4.0.0',
-  sha1 = '6fa8b05f7587a3cb819d223ee0b0de0c126e3dd1',
-  maven_coords = 'org.codehaus.woodstox:stax2-api:4.0.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'concurrent-hashmap',
-  out = 'concurrentlinkedhashmap-lru-1.0.jar',
-  url = 'mvn:com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:jar:1.0',
-  sha1 = 'db7b7a28b835db4717d4aaf31f5d4441887a6d46',
-  maven_coords = 'com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:jar:NON-OSGI:1.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'gnu-idn',
-  out = 'libidn-1.15.jar',
-  url = 'mvn:org.gnu.inet:libidn:jar:1.15',
-  sha1 = 'b5bede3c1c031a827b604da31768ddaf833495c6',
-  maven_coords = 'org.gnu.inet:libidn:jar:NON-OSGI:1.15',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'sigar',
-  out = 'sigar-1.6.5_01.jar',
-  url = 'mvn:org.knowhowlab.osgi:sigar:jar:1.6.5_01',
-  sha1 = '58eb4af0dc4a1d331cd7620767216494e2984dea',
-  maven_coords = 'org.knowhowlab.osgi:sigar:1.6.5_01',
-  visibility = [ 'PUBLIC' ],
-)
-
diff --git a/lib/deps.json b/lib/deps.json
index 44e9827..625869f 100644
--- a/lib/deps.json
+++ b/lib/deps.json
@@ -8,7 +8,7 @@
       "commons-lang3",
       "commons-io",
       "commons-pool",
-      "guava",
+      "com_google_guava_guava",
       "slf4j-api",
       "osgi-core",
       "org.osgi.compendium",
@@ -16,7 +16,7 @@
       "org.apache.felix.scr",
       "org.apache.karaf.features.core",
       "org.apache.karaf.system.core",
-      { "name": "jsr305", "compile_only": true },
+      { "name": "com_google_code_findbugs_jsr305", "compile_only": true },
       "org.apache.servicemix.bundles.dom4j"
     ],
     "CORE_DEPS": [
@@ -30,7 +30,7 @@
       "easymock",
       "hamcrest-all",
       "hamcrest-optional",
-      "guava-testlib",
+      "com_google_guava_guava_testlib",
       "//utils/junit:onlab-junit"
     ],
     "TEST_ADAPTERS": [
@@ -59,7 +59,7 @@
       "hk2-utils",
       "javax.inject",
       "hk2-osgi-resource-locator",
-      "javax.annotation-api",
+      "javax.annotation-api-mvn",
       "validation-api",
       "//core/common:onos-core-common",
       "//core/api:onos-api-tests",
@@ -67,25 +67,8 @@
       "//utils/osgi:onlab-osgi-tests"
     ],
     "NETTY": [
-      "netty-buffer",
-      "netty-common"
-    ],
-    "GRPC_1.3": [
-      "grpc-protobuf-1.3.1",
-      "grpc-stub-1.3.1",
-      "grpc-netty-1.3.1",
-      "grpc-auth-1.3.1",
-      "grpc-context-1.3.1",
-      "google-truth-0.28"
-    ],
-    "GRPC_TEST_1.3": [
-      "grpc-testing-1.3.1",
-      "grpc-testing-proto-1.3.1",
-      "google-code-findbugs-3.0.0",
-      "google-errorprone-2.0.19",
-      "google-instrumentation-0.3.0",
-      "junit-dep",
-      "objenesis"
+      "io_netty_netty_buffer",
+      "io_netty_netty_common"
     ],
     "ONOS_YANG": [
       "onos-yang-model",
@@ -129,6 +112,25 @@
       "atomix-utils",
       "typesafe-config",
       "classgraph"
+    ],
+
+    // FIXME: Remove this for Bazel build
+    "GRPC_1.3": [
+      "grpc-protobuf-1.3.1",
+      "grpc-stub-1.3.1",
+      "grpc-netty-1.3.1",
+      "grpc-auth-1.3.1",
+      "grpc-context-1.3.1",
+      "google-truth-0.28"
+    ],
+    "GRPC_TEST_1.3": [
+      "grpc-testing-1.3.1",
+      "grpc-testing-proto-1.3.1",
+      "google-code-findbugs-3.0.0",
+      "google-errorprone-2.0.19",
+      "google-instrumentation-0.3.0",
+      "junit-dep",
+      "objenesis"
     ]
   },
 
@@ -164,12 +166,11 @@
     "concurrent-trees": "mvn:com.googlecode.concurrent-trees:concurrent-trees:2.6.1",
     "easymock": "mvn:org.easymock:easymock:3.6",
     "antlr": "mvn:antlr:antlr:2.7.7",
-    "error_prone_annotations": "mvn:com.google.errorprone:error_prone_annotations:2.0.18",
     "ganymed-ssh2": "mvn:ch.ethz.ganymed:ganymed-ssh2:262",
     "gmetric4j": "mvn:info.ganglia.gmetric4j:gmetric4j:1.0.10",
-    "gson": "mvn:com.google.code.gson:gson:2.7",
-    "guava": "mvn:com.google.guava:guava:22.0",
-    "guava-testlib": "mvn:com.google.guava:guava-testlib:22.0",
+    "com_google_code_gson_gson": "mvn:com.google.code.gson:gson:2.7",
+    "com_google_guava_guava": "mvn:com.google.guava:guava:22.0",
+    "com_google_guava_guava_testlib": "mvn:com.google.guava:guava-testlib:22.0",
     "hamcrest-all": "mvn:org.hamcrest:hamcrest-all:1.3",
     "hk2-api": "mvn:org.glassfish.hk2:hk2-api:2.5.0-b42",
     "hk2-locator": "mvn:org.glassfish.hk2:hk2-locator:2.5.0-b42",
@@ -187,7 +188,11 @@
     "jackson-annotations": "mvn:com.fasterxml.jackson.core:jackson-annotations:2.9.5",
     "jackson-core": "mvn:com.fasterxml.jackson.core:jackson-core:2.9.5",
     "jackson-databind": "mvn:com.fasterxml.jackson.core:jackson-databind:2.9.5",
-    "javax.annotation-api": "mvn:javax.annotation:javax.annotation-api:1.2",
+
+    // Note: grpc imports "javax_annotation_api" has an http file, so we need to give a different name here
+    // See WORKSPACE
+    "javax.annotation-api-mvn": "mvn:javax.annotation:javax.annotation-api:1.2",
+
     "javax.inject": "mvn:org.glassfish.hk2.external:javax.inject:2.5.0-b42",
     "javax.ws.rs-api": "mvn:javax.ws.rs:javax.ws.rs-api:2.1",
     "jersey-client": "mvn:org.glassfish.jersey.core:jersey-client:2.26",
@@ -210,7 +215,7 @@
     "javax.servlet-api": "mvn:javax.servlet:javax.servlet-api:3.1.0",
     "joda-time": "mvn:joda-time:joda-time:2.9.3",
     "jsch": "mvn:com.jcraft:jsch:0.1.53",
-    "jsr305": "mvn:com.google.code.findbugs:jsr305:3.0.1",
+    "com_google_code_findbugs_jsr305": "mvn:com.google.code.findbugs:jsr305:3.0.1",
     "junit": "mvn:junit:junit:4.12",
     "junit-dep": "mvn:junit:junit:4.10",
     "kryo": "mvn:com.esotericsoftware:kryo:4.0.1",
@@ -222,16 +227,19 @@
     "metrics-json": "mvn:io.dropwizard.metrics:metrics-json:3.2.2",
     "minimal-json": "mvn:com.eclipsesource.minimal-json:minimal-json:0.9.4",
     "minlog": "mvn:com.esotericsoftware:minlog:1.3.0",
-    "netty": "mvn:io.netty:netty:3.10.5.Final",
-    "netty-buffer": "mvn:io.netty:netty-buffer:4.1.8.Final",
-    "netty-codec": "mvn:io.netty:netty-codec:4.1.8.Final",
-    "netty-common": "mvn:io.netty:netty-common:4.1.8.Final",
-    "netty-handler": "mvn:io.netty:netty-handler:4.1.8.Final",
-    "netty-transport": "mvn:io.netty:netty-transport:4.1.8.Final",
-    "netty-transport-native-epoll": "mvn:io.netty:netty-transport-native-epoll:4.1.8.Final",
-    "netty-resolver": "mvn:io.netty:netty-resolver:4.1.8.Final",
-    "netty-codec-http2": "mvn:io.netty:netty-codec-http2:4.1.8.Final",
-    "netty-codec-http": "mvn:io.netty:netty-codec-http:4.1.8.Final",
+    "io_netty_netty": "mvn:io.netty:netty:3.10.5.Final",
+    "io_netty_netty_buffer": "mvn:io.netty:netty-buffer:4.1.27.Final",
+    "io_netty_netty_codec": "mvn:io.netty:netty-codec:4.1.27.Final",
+    "io_netty_netty_common": "mvn:io.netty:netty-common:4.1.27.Final",
+    "io_netty_netty_handler": "mvn:io.netty:netty-handler:4.1.27.Final",
+    "io_netty_netty_handler_proxy": "mvn:io.netty:netty-handler-proxy:4.1.27.Final",
+    "io_netty_netty_transport": "mvn:io.netty:netty-transport:4.1.27.Final",
+    "io_netty_netty_transport_native_unix_common": "mvn:io.netty:netty-transport-native-unix-common:4.1.27.Final",
+    "io_netty_netty_transport-native-epoll": "mvn:io.netty:netty-transport-native-epoll:4.1.27.Final",
+    "io_netty_netty_resolver": "mvn:io.netty:netty-resolver:4.1.27.Final",
+    "io_netty_netty_codec-http2": "mvn:io.netty:netty-codec-http2:4.1.27.Final",
+    "io_netty_netty_codec-http": "mvn:io.netty:netty-codec-http:4.1.27.Final",
+    "io_netty_netty_codec-socks": "mvn:io.netty:netty-codec-socks:4.1.27.Final",
     "objenesis": "mvn:org.objenesis:objenesis:2.6",
     "openflowj": "mvn:org.onosproject:openflowj:3.2.1.onos",
     "org.apache.felix.framework.security": "mvn:org.onosproject:org.apache.felix.framework.security:jar:2.2.0.onos",
@@ -285,7 +293,6 @@
     "msg-simple": "mvn:com.github.fge:msg-simple:1.1",
     "snakeyaml": "mvn:org.yaml:snakeyaml:1.15",
 
-    // Note update BVER in tools/dev/bin/patch-yang-libs and YANG_VER in tools/build/onos-buck
     "onos-yang-model":"mvn:org.onosproject:onos-yang-model:2.5",
     "onos-yang-compiler-api":"mvn:org.onosproject:onos-yang-compiler-api:2.5",
     "onos-yang-compiler-main":"mvn:org.onosproject:onos-yang-compiler-main:2.5",
@@ -293,9 +300,23 @@
     "onos-yang-serializers-json":"mvn:org.onosproject:onos-yang-serializers-json:2.5",
     "onos-yang-serializers-xml":"mvn:org.onosproject:onos-yang-serializers-xml:2.5",
     "onos-yang-serializers-utils":"mvn:org.onosproject:onos-yang-serializers-utils:2.5",
+
     "org.apache.servicemix.bundles.dom4j":"mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.dom4j:1.6.1_5",
     "plexus-utils": "mvn:org.codehaus.plexus:plexus-utils:3.0.24",
     "sshd-core": "mvn:org.apache.sshd:sshd-core:1.4.0",
+    "bcpkix-jdk15on": "mvn:org.bouncycastle:bcpkix-jdk15on:1.59",
+    "bcprov-jdk15on": "mvn:org.bouncycastle:bcprov-jdk15on:1.59",
+    "hamcrest-optional": "mvn:com.spotify:hamcrest-optional:1.1.0",
+    "swagger-annotations": "mvn:io.swagger:swagger-annotations:1.5.16",
+    "kafka-clients": "mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.kafka-clients:0.8.2.2_1",
+    "tinder-xmpp": "mvn:org.igniterealtime:tinder:1.3.0",
+    "aalto-xml": "mvn:com.fasterxml:aalto-xml:1.0.0",
+    "stax2-api": "mvn:org.codehaus.woodstox:stax2-api:4.0.0",
+    "concurrent-hashmap": "mvn:com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:1.0",
+    "gnu-idn": "mvn:org.gnu.inet:libidn:1.15",
+    "sigar":"mvn:org.knowhowlab.osgi:sigar:1.6.5_01",
+
+    // FIXME: Remove this for Bazel build...
     "grpc-core-1.3.1": "mvn:io.grpc:grpc-core:1.3.1",
     "grpc-protobuf-1.3.1": "mvn:io.grpc:grpc-protobuf:1.3.1",
     "grpc-protobuf-lite-1.3.1": "mvn:io.grpc:grpc-protobuf-lite:1.3.1",
@@ -310,17 +331,6 @@
     "google-truth-0.28": "mvn:com.google.truth:truth:0.28",
     "google-code-findbugs-3.0.0": "mvn:com.google.code.findbugs:jsr305:3.0.0",
     "google-errorprone-2.0.19": "mvn:com.google.errorprone:error_prone_annotations:2.0.19",
-    "google-instrumentation-0.3.0": "mvn:com.google.instrumentation:instrumentation-api:0.3.0",
-    "bcpkix-jdk15on": "mvn:org.bouncycastle:bcpkix-jdk15on:1.59",
-    "bcprov-jdk15on": "mvn:org.bouncycastle:bcprov-jdk15on:1.59",
-    "hamcrest-optional": "mvn:com.spotify:hamcrest-optional:1.1.0",
-    "swagger-annotations": "mvn:io.swagger:swagger-annotations:1.5.16",
-    "kafka-clients": "mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.kafka-clients:0.8.2.2_1",
-    "tinder-xmpp": "mvn:org.igniterealtime:tinder:1.3.0",
-    "aalto-xml": "mvn:com.fasterxml:aalto-xml:1.0.0",
-    "stax2-api": "mvn:org.codehaus.woodstox:stax2-api:4.0.0",
-    "concurrent-hashmap": "mvn:com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:1.0",
-    "gnu-idn": "mvn:org.gnu.inet:libidn:1.15",
-    "sigar":"mvn:org.knowhowlab.osgi:sigar:1.6.5_01"
+    "google-instrumentation-0.3.0": "mvn:com.google.instrumentation:instrumentation-api:0.3.0"
   }
 }
diff --git a/modules.bzl b/modules.bzl
index ef815ee..d920699 100644
--- a/modules.bzl
+++ b/modules.bzl
@@ -253,8 +253,8 @@
 ]
 
 PROTOCOL_APPS = [
-    # "//protocols/grpc:onos-protocols-grpc-oar",
-    # "//protocols/p4runtime:onos-protocols-p4runtime-oar",
+    "//protocols/grpc:onos-protocols-grpc-oar",
+    "//protocols/p4runtime:onos-protocols-p4runtime-oar",
     # "//protocols/gnmi:onos-protocols-gnmi-oar",
     "//protocols/xmpp/core:onos-protocols-xmpp-core-oar",
     "//protocols/xmpp/pubsub:onos-protocols-xmpp-pubsub-oar",
diff --git a/protocols/bgp/api/BUCK b/protocols/bgp/api/BUCK
index e4aaf3e..37d94b0 100644
--- a/protocols/bgp/api/BUCK
+++ b/protocols/bgp/api/BUCK
@@ -2,7 +2,7 @@
     '//lib:CORE_DEPS',
     '//protocols/bgp/bgpio:onos-protocols-bgp-bgpio',
     '//core/api:onos-api',
-    '//lib:netty',
+    '//lib:io_netty_netty',
 ]
 
 osgi_jar_with_tests (
diff --git a/protocols/bgp/api/BUILD b/protocols/bgp/api/BUILD
index 7568aba..dac6528 100644
--- a/protocols/bgp/api/BUILD
+++ b/protocols/bgp/api/BUILD
@@ -1,5 +1,5 @@
 COMPILE_DEPS = CORE_DEPS + [
-    "@netty//jar",
+    "@io_netty_netty//jar",
     "//protocols/bgp/bgpio:onos-protocols-bgp-bgpio",
 ]
 
diff --git a/protocols/bgp/bgpio/BUCK b/protocols/bgp/bgpio/BUCK
index 0656504..32d5f4d 100644
--- a/protocols/bgp/bgpio/BUCK
+++ b/protocols/bgp/bgpio/BUCK
@@ -3,7 +3,7 @@
     '//lib:COMPILE',
     '//lib:NETTY',
     '//core/api:onos-api',
-    '//lib:netty',
+    '//lib:io_netty_netty',
 ]
 
 osgi_jar_with_tests (
diff --git a/protocols/bgp/bgpio/BUILD b/protocols/bgp/bgpio/BUILD
index a375113..db96180 100644
--- a/protocols/bgp/bgpio/BUILD
+++ b/protocols/bgp/bgpio/BUILD
@@ -1,5 +1,5 @@
 COMPILE_DEPS = CORE_DEPS + NETTY + [
-    "@netty//jar",
+    "@io_netty_netty//jar",
 ]
 
 osgi_jar_with_tests(
diff --git a/protocols/bgp/ctl/BUCK b/protocols/bgp/ctl/BUCK
index 5d4ac76..3568c2e 100644
--- a/protocols/bgp/ctl/BUCK
+++ b/protocols/bgp/ctl/BUCK
@@ -6,8 +6,8 @@
     '//lib:javax.ws.rs-api',
     '//protocols/bgp/api:onos-protocols-bgp-api',
     '//protocols/bgp/bgpio:onos-protocols-bgp-bgpio',
-    '//lib:netty-common',
-    '//lib:netty',
+    '//lib:io_netty_netty_common',
+    '//lib:io_netty_netty',
     '//lib:org.osgi.compendium',
     '//lib:org.apache.felix.scr.annotations',
 ]
diff --git a/protocols/bgp/ctl/BUILD b/protocols/bgp/ctl/BUILD
index 41ab47e..a7cf7ad 100644
--- a/protocols/bgp/ctl/BUILD
+++ b/protocols/bgp/ctl/BUILD
@@ -3,8 +3,8 @@
     "@httpclient_osgi//jar",
     "@httpcore_osgi//jar",
     "@javax_ws_rs_api//jar",
-    "@netty_common//jar",
-    "@netty//jar",
+    "@io_netty_netty_common//jar",
+    "@io_netty_netty//jar",
     "//protocols/bgp/api:onos-protocols-bgp-api",
     "//protocols/bgp/bgpio:onos-protocols-bgp-bgpio",
 ]
diff --git a/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/Controller.java b/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/Controller.java
index acd1c7b..04c1c1d 100644
--- a/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/Controller.java
+++ b/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/Controller.java
@@ -221,7 +221,7 @@
      */
     public void start() {
         log.info("Started");
-        if (!PlatformDependent.isWindows() && !PlatformDependent.isRoot()) {
+        if (!PlatformDependent.isWindows() && !PlatformDependent.maybeSuperUser()) {
             portNumber = BGP_PRIVILEGED_PORT;
         } else {
             portNumber = BGP_PORT_NUM;
diff --git a/protocols/grpc/BUCK b/protocols/grpc/BUCK
index e5e65e1..093ea7d 100644
--- a/protocols/grpc/BUCK
+++ b/protocols/grpc/BUCK
@@ -16,16 +16,16 @@
     '//lib:protobuf-java-3.2.0',
     # 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',
+    '//lib:io_netty_netty',
+    '//lib:io_netty_netty_buffer',
+    '//lib:io_netty_netty_codec',
+    '//lib:io_netty_netty_codec-http',
+    '//lib:io_netty_netty_codec-http2',
+    '//lib:io_netty_netty_common',
+    '//lib:io_netty_netty_handler',
+    '//lib:io_netty_netty_transport',
+    '//lib:io_netty_netty_transport-native-epoll',
+    '//lib:io_netty_netty_resolver',
 ]
 
 onos_app (
diff --git a/protocols/grpc/BUILD b/protocols/grpc/BUILD
new file mode 100644
index 0000000..53c351f
--- /dev/null
+++ b/protocols/grpc/BUILD
@@ -0,0 +1,36 @@
+
+BUNDLES = [
+    "//protocols/grpc/proto:dummy_java_grpc",
+    "//protocols/grpc/proto:dummy_java_proto",
+    "//protocols/grpc/api:onos-protocols-grpc-api",
+    "//protocols/grpc/ctl:onos-protocols-grpc-ctl",
+    # gRPC dependencies
+    "@io_grpc_grpc_java//core",
+    "@io_grpc_grpc_java//stub",
+    "@io_grpc_grpc_java//netty",
+    "@io_grpc_grpc_java//auth",
+    "@io_grpc_grpc_java//protobuf",
+    "@io_grpc_grpc_java//protobuf-lite",
+    "@com_google_protobuf//:protobuf_java",
+    # Lazily adding all netty-related packages.
+    # Some of them might not be necessary.
+    "@io_netty_netty//jar",
+    "@io_netty_netty_buffer//jar",
+    "@io_netty_netty_codec//jar",
+    "@io_netty_netty_codec_http//jar",
+    "@io_netty_netty_codec_http2//jar",
+    "@io_netty_netty_common//jar",
+    "@io_netty_netty_handler//jar",
+    "@io_netty_netty_transport//jar",
+    "@io_netty_netty_transport_native_epoll//jar",
+    "@io_netty_netty_resolver//jar",
+]
+
+onos_app (
+    app_name = "org.onosproject.protocols.grpc",
+    title = "RPC Protocol Subsystem",
+    category = "rotocol",
+    url = "ttp://onosproject.org",
+    description = "Exposes APIs to operate with gRPC channels",
+    included_bundles = BUNDLES,
+)
diff --git a/protocols/grpc/api/BUILD b/protocols/grpc/api/BUILD
new file mode 100644
index 0000000..f7fee65
--- /dev/null
+++ b/protocols/grpc/api/BUILD
@@ -0,0 +1,3 @@
+osgi_jar (
+    deps = CORE_DEPS + ["@io_grpc_grpc_java//core"],
+)
diff --git a/protocols/grpc/ctl/BUILD b/protocols/grpc/ctl/BUILD
new file mode 100644
index 0000000..2d199ef
--- /dev/null
+++ b/protocols/grpc/ctl/BUILD
@@ -0,0 +1,8 @@
+osgi_jar (
+    deps = CORE_DEPS + [
+        "//protocols/grpc/api:onos-protocols-grpc-api",
+        "//protocols/grpc/proto:dummy_java_grpc",
+        "//protocols/grpc/proto:dummy_java_proto",
+        "@io_grpc_grpc_java//core"
+    ],
+)
diff --git a/protocols/grpc/proto/BUILD b/protocols/grpc/proto/BUILD
new file mode 100644
index 0000000..bebc0ef
--- /dev/null
+++ b/protocols/grpc/proto/BUILD
@@ -0,0 +1,39 @@
+load("//tools/build/bazel:osgi_java_library.bzl", "wrapped_osgi_jar")
+load("@io_grpc_grpc_java//:java_grpc_library.bzl", "java_grpc_library")
+
+wrapped_osgi_jar(
+    name = "dummy_java_grpc",
+    jar = ":dummy_java_grpc_native",
+    deps = [
+        "@io_grpc_grpc_java//stub",
+        "@io_grpc_grpc_java//core",
+        "@io_grpc_grpc_java//protobuf"
+    ],
+    visibility = ["//visibility:public"],
+)
+
+wrapped_osgi_jar(
+    name = "dummy_java_proto",
+    jar = ":dummy_java_proto_native",
+    deps = [
+        "@com_google_protobuf//:protobuf_java",
+    ],
+    visibility = ["//visibility:public"],
+)
+
+java_proto_library(
+    name = "dummy_java_proto_native",
+    deps = [":dummy_proto"],
+    visibility = ["//visibility:public"],
+)
+
+java_grpc_library(
+    name = "dummy_java_grpc_native",
+    srcs = [":dummy_proto"],
+    deps = [":dummy_java_proto_native"],
+)
+
+proto_library(
+    name = "dummy_proto",
+    srcs = ["dummy.proto"],
+)
diff --git a/protocols/isis/api/BUCK b/protocols/isis/api/BUCK
index 55ca0d0..75c833b 100644
--- a/protocols/isis/api/BUCK
+++ b/protocols/isis/api/BUCK
@@ -2,7 +2,7 @@
     '//lib:CORE_DEPS',
     '//lib:NETTY',
     '//lib:JACKSON',
-    '//lib:netty',
+    '//lib:io_netty_netty',
 ]
 
 osgi_jar_with_tests (
diff --git a/protocols/isis/api/BUILD b/protocols/isis/api/BUILD
index e09f7da..9e01912 100644
--- a/protocols/isis/api/BUILD
+++ b/protocols/isis/api/BUILD
@@ -1,5 +1,5 @@
 COMPILE_DEPS = CORE_DEPS + NETTY + JACKSON + [
-    "@netty//jar",
+    "@io_netty_netty//jar",
 ]
 
 osgi_jar_with_tests(
diff --git a/protocols/isis/ctl/BUCK b/protocols/isis/ctl/BUCK
index f99d235..1ab0b4b 100644
--- a/protocols/isis/ctl/BUCK
+++ b/protocols/isis/ctl/BUCK
@@ -4,7 +4,7 @@
     '//lib:JACKSON',
     '//protocols/isis/api:onos-protocols-isis-api',
     '//protocols/isis/isisio:onos-protocols-isis-isisio',
-    '//lib:netty',
+    '//lib:io_netty_netty',
 ]
 
 osgi_jar_with_tests (
diff --git a/protocols/isis/ctl/BUILD b/protocols/isis/ctl/BUILD
index a74b52a..950f043 100644
--- a/protocols/isis/ctl/BUILD
+++ b/protocols/isis/ctl/BUILD
@@ -1,5 +1,5 @@
 COMPILE_DEPS = CORE_DEPS + NETTY + JACKSON + [
-    "@netty//jar",
+    "@io_netty_netty//jar",
     "//protocols/isis/api:onos-protocols-isis-api",
     "//protocols/isis/isisio:onos-protocols-isis-isisio",
 ]
diff --git a/protocols/isis/isisio/BUCK b/protocols/isis/isisio/BUCK
index 4484db7..abcd593 100644
--- a/protocols/isis/isisio/BUCK
+++ b/protocols/isis/isisio/BUCK
@@ -2,7 +2,7 @@
     '//lib:CORE_DEPS',
     '//lib:NETTY',
     '//protocols/isis/api:onos-protocols-isis-api',
-    '//lib:netty',
+    '//lib:io_netty_netty',
 ]
 
 osgi_jar_with_tests (
diff --git a/protocols/isis/isisio/BUILD b/protocols/isis/isisio/BUILD
index 08bce5d..ad966c4 100644
--- a/protocols/isis/isisio/BUILD
+++ b/protocols/isis/isisio/BUILD
@@ -1,5 +1,5 @@
 COMPILE_DEPS = CORE_DEPS + NETTY + [
-    "@netty//jar",
+    "@io_netty_netty//jar",
     "//protocols/isis/api:onos-protocols-isis-api",
 ]
 
diff --git a/protocols/lisp/api/BUCK b/protocols/lisp/api/BUCK
index f88d20c..a182f2b 100644
--- a/protocols/lisp/api/BUCK
+++ b/protocols/lisp/api/BUCK
@@ -1,7 +1,7 @@
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
     '//lib:NETTY',
-    '//lib:netty-transport',
+    '//lib:io_netty_netty_transport',
     '//protocols/lisp/msg:onos-protocols-lisp-msg',
     '//apps/mappingmanagement/api:onos-apps-mappingmanagement-api',
 ]
diff --git a/protocols/lisp/api/BUILD b/protocols/lisp/api/BUILD
index 72ff459..6ab1d56 100644
--- a/protocols/lisp/api/BUILD
+++ b/protocols/lisp/api/BUILD
@@ -1,5 +1,5 @@
 COMPILE_DEPS = CORE_DEPS + NETTY + [
-    "@netty_transport//jar",
+    "@io_netty_netty_transport//jar",
     "//protocols/lisp/msg:onos-protocols-lisp-msg",
     "//apps/mappingmanagement/api:onos-apps-mappingmanagement-api",
 ]
diff --git a/protocols/lisp/ctl/BUCK b/protocols/lisp/ctl/BUCK
index ea114b5..25764e7 100644
--- a/protocols/lisp/ctl/BUCK
+++ b/protocols/lisp/ctl/BUCK
@@ -3,12 +3,12 @@
     '//lib:NETTY',
     '//protocols/lisp/api:onos-protocols-lisp-api',
     '//protocols/lisp/msg:onos-protocols-lisp-msg',
-    '//lib:netty-buffer',
-    '//lib:netty-codec',
-    '//lib:netty-transport',
-    '//lib:netty-transport-native-epoll',
-    '//lib:netty-handler',
-    '//lib:netty-resolver',
+    '//lib:io_netty_netty_buffer',
+    '//lib:io_netty_netty_codec',
+    '//lib:io_netty_netty_transport',
+    '//lib:io_netty_netty_transport-native-epoll',
+    '//lib:io_netty_netty_handler',
+    '//lib:io_netty_netty_resolver',
     '//lib:concurrent-trees',
 ]
 
diff --git a/protocols/lisp/ctl/BUILD b/protocols/lisp/ctl/BUILD
index c16ccd8..834a704 100644
--- a/protocols/lisp/ctl/BUILD
+++ b/protocols/lisp/ctl/BUILD
@@ -1,9 +1,9 @@
 COMPILE_DEPS = CORE_DEPS + NETTY + [
-    "@netty_codec//jar",
-    "@netty_transport//jar",
-    "@netty_transport_native_epoll//jar",
-    "@netty_handler//jar",
-    "@netty_resolver//jar",
+    "@io_netty_netty_codec//jar",
+    "@io_netty_netty_transport//jar",
+    "@io_netty_netty_transport_native_epoll//jar",
+    "@io_netty_netty_handler//jar",
+    "@io_netty_netty_resolver//jar",
     "@concurrent_trees//jar",
     "//protocols/lisp/api:onos-protocols-lisp-api",
     "//protocols/lisp/msg:onos-protocols-lisp-msg",
diff --git a/protocols/lisp/msg/BUCK b/protocols/lisp/msg/BUCK
index dbf3d0d..2e2b8a7 100644
--- a/protocols/lisp/msg/BUCK
+++ b/protocols/lisp/msg/BUCK
@@ -1,7 +1,7 @@
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
     '//lib:NETTY',
-    '//lib:netty-buffer'
+    '//lib:io_netty_netty_buffer'
 ]
 
 TEST_DEPS = [
diff --git a/protocols/openflow/api/BUCK b/protocols/openflow/api/BUCK
index 266a1fc..41fc729 100644
--- a/protocols/openflow/api/BUCK
+++ b/protocols/openflow/api/BUCK
@@ -2,7 +2,7 @@
     '//lib:CORE_DEPS',
     '//lib:NETTY',
     '//lib:openflowj',
-    '//lib:netty-transport',
+    '//lib:io_netty_netty_transport',
 ]
 
 TEST_DEPS = [
diff --git a/protocols/openflow/api/BUILD b/protocols/openflow/api/BUILD
index a7df405..3232c98 100644
--- a/protocols/openflow/api/BUILD
+++ b/protocols/openflow/api/BUILD
@@ -3,7 +3,7 @@
     "//incubator/api:onos-incubator-api",
     "//core/common:onos-core-common",
     "@openflowj//jar",
-    "@netty_transport//jar",
+    "@io_netty_netty_transport//jar",
 ]
 
 TEST_DEPS = TEST + [
diff --git a/protocols/openflow/ctl/BUCK b/protocols/openflow/ctl/BUCK
index 9b68ba9..684fb64 100644
--- a/protocols/openflow/ctl/BUCK
+++ b/protocols/openflow/ctl/BUCK
@@ -1,15 +1,15 @@
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
-    '//lib:openflowj',
-    '//protocols/openflow/api:onos-protocols-openflow-api',
-    '//lib:NETTY',
-    '//lib:netty-buffer',
-    '//lib:netty-codec',
-    '//lib:netty-common',
-    '//lib:netty-handler',
-    '//lib:netty-transport',
-    '//lib:netty-transport-native-epoll',
     '//lib:JACKSON',
+    '//lib:openflowj',
+    '//lib:io_netty_netty_buffer',
+    '//lib:io_netty_netty_common',
+    '//lib:io_netty_netty_codec',
+    '//lib:io_netty_netty_handler',
+    '//lib:io_netty_netty_transport',
+    '//lib:io_netty_netty_transport_native_unix_common',
+    '//lib:io_netty_netty_transport-native-epoll',
+    '//protocols/openflow/api:onos-protocols-openflow-api',
 ]
 
 TEST_DEPS = [
diff --git a/protocols/openflow/ctl/BUILD b/protocols/openflow/ctl/BUILD
index 3bf8b7f..b469e1c 100644
--- a/protocols/openflow/ctl/BUILD
+++ b/protocols/openflow/ctl/BUILD
@@ -1,9 +1,10 @@
 COMPILE_DEPS = CORE_DEPS + NETTY + JACKSON + [
     "@openflowj//jar",
-    "@netty_codec//jar",
-    "@netty_handler//jar",
-    "@netty_transport//jar",
-    "@netty_transport_native_epoll//jar",
+    "@io_netty_netty_codec//jar",
+    "@io_netty_netty_handler//jar",
+    "@io_netty_netty_transport//jar",
+    "@io_netty_netty_transport_native_epoll//jar",
+    "@io_netty_netty_transport_native_unix_common//jar",
     "//protocols/openflow/api:onos-protocols-openflow-api",
 ]
 
diff --git a/protocols/ospf/api/BUCK b/protocols/ospf/api/BUCK
index 55ca0d0..75c833b 100644
--- a/protocols/ospf/api/BUCK
+++ b/protocols/ospf/api/BUCK
@@ -2,7 +2,7 @@
     '//lib:CORE_DEPS',
     '//lib:NETTY',
     '//lib:JACKSON',
-    '//lib:netty',
+    '//lib:io_netty_netty',
 ]
 
 osgi_jar_with_tests (
diff --git a/protocols/ospf/api/BUILD b/protocols/ospf/api/BUILD
index e09f7da..9e01912 100644
--- a/protocols/ospf/api/BUILD
+++ b/protocols/ospf/api/BUILD
@@ -1,5 +1,5 @@
 COMPILE_DEPS = CORE_DEPS + NETTY + JACKSON + [
-    "@netty//jar",
+    "@io_netty_netty//jar",
 ]
 
 osgi_jar_with_tests(
diff --git a/protocols/ospf/ctl/BUCK b/protocols/ospf/ctl/BUCK
index 24415cf..ec894cc 100644
--- a/protocols/ospf/ctl/BUCK
+++ b/protocols/ospf/ctl/BUCK
@@ -4,7 +4,7 @@
     '//lib:JACKSON',
     '//protocols/ospf/api:onos-protocols-ospf-api',
     '//protocols/ospf/protocol:onos-protocols-ospf-protocol',
-    '//lib:netty',
+    '//lib:io_netty_netty',
 ]
 
 osgi_jar_with_tests (
diff --git a/protocols/ospf/ctl/BUILD b/protocols/ospf/ctl/BUILD
index 40ce45b..de94b39 100644
--- a/protocols/ospf/ctl/BUILD
+++ b/protocols/ospf/ctl/BUILD
@@ -1,5 +1,5 @@
 COMPILE_DEPS = CORE_DEPS + NETTY + JACKSON + [
-    "@netty//jar",
+    "@io_netty_netty//jar",
     "//protocols/ospf/api:onos-protocols-ospf-api",
     "//protocols/ospf/protocol:onos-protocols-ospf-protocol",
 ]
diff --git a/protocols/ospf/protocol/BUCK b/protocols/ospf/protocol/BUCK
index 38c51e2..46a8746 100644
--- a/protocols/ospf/protocol/BUCK
+++ b/protocols/ospf/protocol/BUCK
@@ -2,7 +2,7 @@
     '//lib:CORE_DEPS',
     '//lib:NETTY',
     '//protocols/ospf/api:onos-protocols-ospf-api',
-    '//lib:netty',
+    '//lib:io_netty_netty',
 ]
 
 osgi_jar_with_tests (
diff --git a/protocols/ospf/protocol/BUILD b/protocols/ospf/protocol/BUILD
index a4bfe42..6543146 100644
--- a/protocols/ospf/protocol/BUILD
+++ b/protocols/ospf/protocol/BUILD
@@ -1,5 +1,5 @@
 COMPILE_DEPS = CORE_DEPS + NETTY + [
-    "@netty//jar",
+    "@io_netty_netty//jar",
     "//protocols/ospf/api:onos-protocols-ospf-api",
 ]
 
diff --git a/protocols/ovsdb/api/BUCK b/protocols/ovsdb/api/BUCK
index 0aff936..f9b5802 100644
--- a/protocols/ovsdb/api/BUCK
+++ b/protocols/ovsdb/api/BUCK
@@ -2,7 +2,7 @@
     '//lib:CORE_DEPS',
     '//lib:NETTY',
     '//lib:JACKSON',
-    '//lib:netty-transport',
+    '//lib:io_netty_netty_transport',
     '//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc',
 ]
 
diff --git a/protocols/ovsdb/api/BUILD b/protocols/ovsdb/api/BUILD
index f344b92..c570a5b 100644
--- a/protocols/ovsdb/api/BUILD
+++ b/protocols/ovsdb/api/BUILD
@@ -1,5 +1,5 @@
 COMPILE_DEPS = CORE_DEPS + NETTY + JACKSON + [
-    "@netty_transport//jar",
+    "@io_netty_netty_transport//jar",
     "//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc",
 ]
 
diff --git a/protocols/ovsdb/ctl/BUCK b/protocols/ovsdb/ctl/BUCK
index c4ca55b..bd40154 100644
--- a/protocols/ovsdb/ctl/BUCK
+++ b/protocols/ovsdb/ctl/BUCK
@@ -2,10 +2,10 @@
     '//lib:CORE_DEPS',
     '//lib:NETTY',
     '//lib:JACKSON',
-    '//lib:netty-transport',
-    '//lib:netty-buffer',
-    '//lib:netty-codec',
-    '//lib:netty-handler',
+    '//lib:io_netty_netty_transport',
+    '//lib:io_netty_netty_buffer',
+    '//lib:io_netty_netty_codec',
+    '//lib:io_netty_netty_handler',
     '//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc',
     '//protocols/ovsdb/api:onos-protocols-ovsdb-api',
 ]
diff --git a/protocols/ovsdb/ctl/BUILD b/protocols/ovsdb/ctl/BUILD
index 79bc630..c61dbf3 100644
--- a/protocols/ovsdb/ctl/BUILD
+++ b/protocols/ovsdb/ctl/BUILD
@@ -1,7 +1,7 @@
 COMPILE_DEPS = CORE_DEPS + NETTY + JACKSON + [
-    "@netty_transport//jar",
-    "@netty_codec//jar",
-    "@netty_handler//jar",
+    "@io_netty_netty_transport//jar",
+    "@io_netty_netty_codec//jar",
+    "@io_netty_netty_handler//jar",
     "//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc",
     "//protocols/ovsdb/api:onos-protocols-ovsdb-api",
 ]
diff --git a/protocols/ovsdb/rfc/BUCK b/protocols/ovsdb/rfc/BUCK
index 696bba1..47f8625 100644
--- a/protocols/ovsdb/rfc/BUCK
+++ b/protocols/ovsdb/rfc/BUCK
@@ -2,8 +2,8 @@
     '//lib:CORE_DEPS',
     '//lib:NETTY',
     '//lib:JACKSON',
-    '//lib:netty-buffer',
-    '//lib:netty-codec',
+    '//lib:io_netty_netty_buffer',
+    '//lib:io_netty_netty_codec',
 ]
 
 osgi_jar_with_tests (
diff --git a/protocols/ovsdb/rfc/BUILD b/protocols/ovsdb/rfc/BUILD
index f3558c7..e271647 100644
--- a/protocols/ovsdb/rfc/BUILD
+++ b/protocols/ovsdb/rfc/BUILD
@@ -1,5 +1,5 @@
 COMPILE_DEPS = CORE_DEPS + NETTY + JACKSON + [
-    "@netty_codec//jar",
+    "@io_netty_netty_codec//jar",
 ]
 
 osgi_jar_with_tests(
diff --git a/protocols/p4runtime/BUILD b/protocols/p4runtime/BUILD
new file mode 100644
index 0000000..66e2f59
--- /dev/null
+++ b/protocols/p4runtime/BUILD
@@ -0,0 +1,18 @@
+BUNDLES = [
+    '//protocols/p4runtime/api:onos-protocols-p4runtime-api',
+    '//protocols/p4runtime/ctl:onos-protocols-p4runtime-ctl',
+    '//protocols/p4runtime/model:onos-protocols-p4runtime-model',
+    "//protocols/p4runtime/proto:p4runtime_java_grpc",
+]
+
+onos_app(
+    app_name = 'org.onosproject.protocols.p4runtime',
+    title = 'P4Runtime Protocol Subsystem',
+    category = 'Protocol',
+    url = 'http://onosproject.org',
+    description = 'ONOS P4Runtime protocol subsystem',
+    included_bundles = BUNDLES,
+    required_apps = [
+        'org.onosproject.protocols.grpc'
+    ],
+)
diff --git a/protocols/p4runtime/api/BUILD b/protocols/p4runtime/api/BUILD
index de7b487..531d734 100644
--- a/protocols/p4runtime/api/BUILD
+++ b/protocols/p4runtime/api/BUILD
@@ -1,7 +1,5 @@
-GRPC_VER = "1_3_1"
-
 COMPILE_DEPS = CORE_DEPS + [
-    "@grpc_core_" + GRPC_VER + "//jar",
+    "@io_grpc_grpc_java//core",
 ]
 
 TEST_DEPS = TEST + [
diff --git a/protocols/p4runtime/ctl/BUILD b/protocols/p4runtime/ctl/BUILD
new file mode 100644
index 0000000..13554c7
--- /dev/null
+++ b/protocols/p4runtime/ctl/BUILD
@@ -0,0 +1,28 @@
+COMPILE_DEPS = CORE_DEPS + KRYO + [
+    "//core/store/serializers:onos-core-serializers",
+    "//protocols/grpc/api:onos-protocols-grpc-api",
+    "//protocols/p4runtime/api:onos-protocols-p4runtime-api",
+    "//protocols/p4runtime/proto:p4config_java_proto",
+    "//protocols/p4runtime/proto:p4data_java_proto",
+    "//protocols/p4runtime/proto:p4info_java_proto",
+    "//protocols/p4runtime/proto:p4runtime_java_grpc",
+    "//protocols/p4runtime/proto:p4runtime_java_proto",
+    "//protocols/p4runtime/proto:status_java_proto",
+    "@com_google_protobuf//:protobuf_java",
+    "@io_grpc_grpc_java//context",
+    "@io_grpc_grpc_java//core",
+    "@io_grpc_grpc_java//netty",
+    "@io_grpc_grpc_java//stub",
+    "@io_grpc_grpc_java_core_repkg//:internal",
+]
+
+TEST_DEPS = TEST + [
+    "@minimal_json//jar",
+    "@io_grpc_grpc_java//core:inprocess",
+    "@io_grpc_grpc_java//protobuf-lite",
+]
+
+osgi_jar_with_tests(
+    deps = COMPILE_DEPS,
+    test_deps = TEST_DEPS,
+)
diff --git a/protocols/p4runtime/ctl/src/main/java/org/onosproject/p4runtime/ctl/P4RuntimeControllerImpl.java b/protocols/p4runtime/ctl/src/main/java/org/onosproject/p4runtime/ctl/P4RuntimeControllerImpl.java
index d8b0cae..1e7326d 100644
--- a/protocols/p4runtime/ctl/src/main/java/org/onosproject/p4runtime/ctl/P4RuntimeControllerImpl.java
+++ b/protocols/p4runtime/ctl/src/main/java/org/onosproject/p4runtime/ctl/P4RuntimeControllerImpl.java
@@ -20,8 +20,6 @@
 import com.google.common.util.concurrent.Striped;
 import io.grpc.ManagedChannel;
 import io.grpc.ManagedChannelBuilder;
-import io.grpc.NameResolverProvider;
-import io.grpc.internal.DnsNameResolverProvider;
 import io.grpc.netty.NettyChannelBuilder;
 import org.apache.felix.scr.annotations.Activate;
 import org.apache.felix.scr.annotations.Component;
@@ -65,7 +63,6 @@
         implements P4RuntimeController {
 
     private final Logger log = getLogger(getClass());
-    private final NameResolverProvider nameResolverProvider = new DnsNameResolverProvider();
 
     private final Map<DeviceId, ClientKey> clientKeys = Maps.newHashMap();
     private final Map<ClientKey, P4RuntimeClient> clients = Maps.newHashMap();
@@ -141,8 +138,7 @@
 
         ManagedChannelBuilder channelBuilder = NettyChannelBuilder
                 .forAddress(serverAddr, serverPort)
-                .usePlaintext(true)
-                .nameResolverFactory(nameResolverProvider);
+                .usePlaintext(true);
 
         ManagedChannel channel;
         try {
diff --git a/protocols/p4runtime/model/BUILD b/protocols/p4runtime/model/BUILD
index f29c84c..1e7b506 100644
--- a/protocols/p4runtime/model/BUILD
+++ b/protocols/p4runtime/model/BUILD
@@ -1,7 +1,5 @@
-PROTOBUF_VER = "3_2_0"
-
 COMPILE_DEPS = CORE_DEPS + [
-    "//protocols/p4runtime/proto:p4_runtime_java_proto",
+    "//protocols/p4runtime/proto:p4info_java_proto",
     "@com_google_protobuf//:protobuf_java",
 ]
 
diff --git a/protocols/p4runtime/proto/BUILD b/protocols/p4runtime/proto/BUILD
index 8c533af..2da5615 100644
--- a/protocols/p4runtime/proto/BUILD
+++ b/protocols/p4runtime/proto/BUILD
@@ -1,32 +1,58 @@
 load("//tools/build/bazel:osgi_java_library.bzl", "wrapped_osgi_jar")
-
-java_proto_library(
-    name = "p4_runtime_java_proto_proto",
-    visibility = ["//visibility:public"],
-    deps = ["@p4lang_pi//:p4_runtime_proto"],
-)
+load("@io_grpc_grpc_java//:java_grpc_library.bzl", "java_grpc_library")
 
 wrapped_osgi_jar(
-    name = "rpc_java_proto-osgi",
-    jar = "@google_rpc//:rpc_java_proto",
-    visibility = ["//visibility:public"],
-    deps = CORE_DEPS + ["@protobuf_java_3_2_0//jar"],
-)
-
-wrapped_osgi_jar(
-    name = "grpc-core-repkg-1.3.1",
-    jar = "@grpc_src_zip_131//:grpc-core-repkg-1.3.1-native",
-    visibility = ["//visibility:public"],
-    deps = COMPILE,
-)
-
-wrapped_osgi_jar(
-    name = "p4_runtime_java_proto",
-    jar = ":p4_runtime_java_proto_proto",
-    visibility = ["//visibility:public"],
-    deps = CORE_DEPS + [
-        "@protobuf_java_3_2_0//jar",
-        "@google_rpc//:rpc_java_proto",
-        ":grpc-core-repkg-1.3.1",
+    name = "p4config_java_proto",
+    jar = "@com_github_p4lang_pi//:p4config_java_proto_native",
+    deps = [
+        "@com_google_protobuf//:protobuf_java",
     ],
+    visibility = ["//visibility:public"],
+)
+
+wrapped_osgi_jar(
+    name = "p4data_java_proto",
+    jar = "@com_github_p4lang_p4runtime//:p4data_java_proto_native",
+    deps = [
+        "@com_google_protobuf//:protobuf_java",
+    ],
+    visibility = ["//visibility:public"],
+)
+
+wrapped_osgi_jar(
+    name = "p4info_java_proto",
+    jar = "@com_github_p4lang_p4runtime//:p4info_java_proto_native",
+    deps = [
+        "@com_google_protobuf//:protobuf_java",
+    ],
+    visibility = ["//visibility:public"],
+)
+
+wrapped_osgi_jar(
+    name = "p4runtime_java_proto",
+    jar = "@com_github_p4lang_p4runtime//:p4runtime_java_proto_native",
+    deps = [
+        "@com_google_protobuf//:protobuf_java",
+    ],
+    visibility = ["//visibility:public"],
+)
+
+wrapped_osgi_jar(
+    name = "p4runtime_java_grpc",
+    jar = "@com_github_p4lang_p4runtime//:p4runtime_java_grpc_native",
+    deps = [
+        "@io_grpc_grpc_java//stub",
+        "@io_grpc_grpc_java//core",
+        "@io_grpc_grpc_java//protobuf",
+    ],
+    visibility = ["//visibility:public"],
+)
+
+wrapped_osgi_jar(
+    name = "status_java_proto",
+    jar = "@com_github_googleapis//:status_java_proto_native",
+    deps = [
+        "@com_google_protobuf//:protobuf_java",
+    ],
+    visibility = ["//visibility:public"],
 )
diff --git a/protocols/pcep/pcepio/BUCK b/protocols/pcep/pcepio/BUCK
index 3602eb8..e02623d 100644
--- a/protocols/pcep/pcepio/BUCK
+++ b/protocols/pcep/pcepio/BUCK
@@ -6,7 +6,7 @@
     '//lib:osgi-core',
     '//lib:org.apache.karaf.shell.console',
     '//lib:org.apache.felix.scr.annotations',
-    '//lib:netty',
+    '//lib:io_netty_netty',
 ]
 
 osgi_jar_with_tests (
diff --git a/protocols/pcep/pcepio/BUILD b/protocols/pcep/pcepio/BUILD
index 6d51bf7..cfea318 100644
--- a/protocols/pcep/pcepio/BUILD
+++ b/protocols/pcep/pcepio/BUILD
@@ -1,6 +1,6 @@
 COMPILE_DEPS = CORE_DEPS + NETTY + JACKSON + [
     "@org_apache_karaf_shell_console//jar",
-    "@netty//jar",
+    "@io_netty_netty//jar",
 ]
 
 osgi_jar_with_tests(
diff --git a/protocols/pcep/server/api/BUCK b/protocols/pcep/server/api/BUCK
index 8104425..4c26105 100644
--- a/protocols/pcep/server/api/BUCK
+++ b/protocols/pcep/server/api/BUCK
@@ -3,7 +3,7 @@
     '//protocols/pcep/pcepio:onos-protocols-pcep-pcepio',
     '//apps/pcep-api:onos-apps-pcep-api',
     '//incubator/api:onos-incubator-api',
-    '//lib:netty',
+    '//lib:io_netty_netty',
 ]
 
 osgi_jar_with_tests (
diff --git a/protocols/pcep/server/api/BUILD b/protocols/pcep/server/api/BUILD
index f69f463..604c1f3 100644
--- a/protocols/pcep/server/api/BUILD
+++ b/protocols/pcep/server/api/BUILD
@@ -1,5 +1,5 @@
 COMPILE_DEPS = CORE_DEPS + [
-    "@netty//jar",
+    "@io_netty_netty//jar",
     "//protocols/pcep/pcepio:onos-protocols-pcep-pcepio",
     "//apps/pcep-api:onos-apps-pcep-api",
     "//incubator/api:onos-incubator-api",
diff --git a/protocols/pcep/server/ctl/BUCK b/protocols/pcep/server/ctl/BUCK
index 29e7fbf..5295876 100644
--- a/protocols/pcep/server/ctl/BUCK
+++ b/protocols/pcep/server/ctl/BUCK
@@ -8,7 +8,7 @@
     '//protocols/pcep/server/api:onos-protocols-pcep-server-api',
     '//core/store/serializers:onos-core-serializers',
     '//apps/pcep-api:onos-apps-pcep-api',
-    '//lib:netty',
+    '//lib:io_netty_netty',
 ]
 
 TEST_DEPS = [
diff --git a/protocols/pcep/server/ctl/BUILD b/protocols/pcep/server/ctl/BUILD
index 13a7fa3..463819f 100644
--- a/protocols/pcep/server/ctl/BUILD
+++ b/protocols/pcep/server/ctl/BUILD
@@ -1,5 +1,5 @@
 COMPILE_DEPS = CORE_DEPS + NETTY + JACKSON + KRYO + [
-    "@netty//jar",
+    "@io_netty_netty//jar",
     "//incubator/api:onos-incubator-api",
     "//protocols/pcep/pcepio:onos-protocols-pcep-pcepio",
     "//protocols/pcep/server/api:onos-protocols-pcep-server-api",
diff --git a/protocols/tl1/api/BUCK b/protocols/tl1/api/BUCK
index 3ce3f98..52e0753 100644
--- a/protocols/tl1/api/BUCK
+++ b/protocols/tl1/api/BUCK
@@ -1,6 +1,6 @@
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
-    '//lib:netty-transport',
+    '//lib:io_netty_netty_transport',
 ]
 
 osgi_jar_with_tests (
diff --git a/protocols/tl1/api/BUILD b/protocols/tl1/api/BUILD
index 1b2c9b7..2e32829 100644
--- a/protocols/tl1/api/BUILD
+++ b/protocols/tl1/api/BUILD
@@ -1,5 +1,5 @@
 COMPILE_DEPS = CORE_DEPS + [
-    "@netty_transport//jar",
+    "@io_netty_netty_transport//jar",
 ]
 
 osgi_jar_with_tests(
diff --git a/protocols/tl1/ctl/BUCK b/protocols/tl1/ctl/BUCK
index f451074..af235e4 100644
--- a/protocols/tl1/ctl/BUCK
+++ b/protocols/tl1/ctl/BUCK
@@ -1,9 +1,9 @@
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
     '//lib:NETTY',
-    '//lib:netty-transport',
-    '//lib:netty-buffer',
-    '//lib:netty-codec',
+    '//lib:io_netty_netty_transport',
+    '//lib:io_netty_netty_buffer',
+    '//lib:io_netty_netty_codec',
     '//protocols/tl1/api:onos-protocols-tl1-api',
 ]
 
diff --git a/protocols/tl1/ctl/BUILD b/protocols/tl1/ctl/BUILD
index e74c4bb..162c34c 100644
--- a/protocols/tl1/ctl/BUILD
+++ b/protocols/tl1/ctl/BUILD
@@ -1,6 +1,6 @@
 COMPILE_DEPS = CORE_DEPS + NETTY + [
-    "@netty_transport//jar",
-    "@netty_codec//jar",
+    "@io_netty_netty_transport//jar",
+    "@io_netty_netty_codec//jar",
     "//protocols/tl1/api:onos-protocols-tl1-api",
 ]
 
diff --git a/protocols/xmpp/core/BUCK b/protocols/xmpp/core/BUCK
index 97af973..49a5015 100644
--- a/protocols/xmpp/core/BUCK
+++ b/protocols/xmpp/core/BUCK
@@ -3,10 +3,10 @@
     '//protocols/xmpp/core/ctl:onos-protocols-xmpp-core-ctl',
     '//lib:tinder-xmpp',
     '//lib:org.apache.servicemix.bundles.dom4j',
-    '//lib:netty-common',
-    '//lib:netty-transport',
-    '//lib:netty-buffer',
-    '//lib:netty-codec',
+    '//lib:io_netty_netty_common',
+    '//lib:io_netty_netty_transport',
+    '//lib:io_netty_netty_buffer',
+    '//lib:io_netty_netty_codec',
     '//lib:stax2-api',
     '//lib:aalto-xml',
     '//lib:concurrent-hashmap',
diff --git a/protocols/xmpp/core/BUILD b/protocols/xmpp/core/BUILD
index c3834c8..bfabb8c 100644
--- a/protocols/xmpp/core/BUILD
+++ b/protocols/xmpp/core/BUILD
@@ -1,10 +1,10 @@
 BUNDLES = [
     "@tinder_xmpp//jar",
     "@org_apache_servicemix_bundles_dom4j//jar",
-    "@netty_common//jar",
-    "@netty_transport//jar",
-    "@netty_buffer//jar",
-    "@netty_codec//jar",
+    "@io_netty_netty_common//jar",
+    "@io_netty_netty_transport//jar",
+    "@io_netty_netty_buffer//jar",
+    "@io_netty_netty_codec//jar",
     "@stax2_api//jar",
     "@aalto_xml//jar",
     "@concurrent_hashmap//jar",
diff --git a/protocols/xmpp/core/api/BUCK b/protocols/xmpp/core/api/BUCK
index 8d191ee..1e7a692 100644
--- a/protocols/xmpp/core/api/BUCK
+++ b/protocols/xmpp/core/api/BUCK
@@ -2,8 +2,8 @@
     '//lib:CORE_DEPS',
     '//core/api:onos-api',
     '//lib:tinder-xmpp',
-    '//lib:netty-transport',
-    '//lib:netty-common',
+    '//lib:io_netty_netty_transport',
+    '//lib:io_netty_netty_common',
     '//lib:org.apache.servicemix.bundles.dom4j',
 ]
 
diff --git a/protocols/xmpp/core/api/BUILD b/protocols/xmpp/core/api/BUILD
index 29d19f1..74f0972 100644
--- a/protocols/xmpp/core/api/BUILD
+++ b/protocols/xmpp/core/api/BUILD
@@ -1,7 +1,7 @@
 COMPILE_DEPS = CORE_DEPS + [
     "@tinder_xmpp//jar",
-    "@netty_transport//jar",
-    "@netty_common//jar",
+    "@io_netty_netty_transport//jar",
+    "@io_netty_netty_common//jar",
 ]
 
 osgi_jar_with_tests(
diff --git a/protocols/xmpp/core/ctl/BUCK b/protocols/xmpp/core/ctl/BUCK
index a055257..4ce3ed1 100644
--- a/protocols/xmpp/core/ctl/BUCK
+++ b/protocols/xmpp/core/ctl/BUCK
@@ -1,11 +1,11 @@
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
     '//protocols/xmpp/core/api:onos-protocols-xmpp-core-api',
-    '//lib:netty-common',
-    '//lib:netty-transport',
-    '//lib:netty-transport-native-epoll',
-    '//lib:netty-buffer',
-    '//lib:netty-codec',
+    '//lib:io_netty_netty_common',
+    '//lib:io_netty_netty_transport',
+    '//lib:io_netty_netty_transport-native-epoll',
+    '//lib:io_netty_netty_buffer',
+    '//lib:io_netty_netty_codec',
     '//lib:org.apache.servicemix.bundles.dom4j',
     '//lib:tinder-xmpp',
     '//lib:stax2-api',
diff --git a/protocols/xmpp/core/ctl/BUILD b/protocols/xmpp/core/ctl/BUILD
index 8c521a1..fda6c08 100644
--- a/protocols/xmpp/core/ctl/BUILD
+++ b/protocols/xmpp/core/ctl/BUILD
@@ -1,9 +1,9 @@
 COMPILE_DEPS = CORE_DEPS + [
-    "@netty_common//jar",
-    "@netty_transport//jar",
-    "@netty_transport_native_epoll//jar",
-    "@netty_buffer//jar",
-    "@netty_codec//jar",
+    "@io_netty_netty_common//jar",
+    "@io_netty_netty_transport//jar",
+    "@io_netty_netty_transport_native_epoll//jar",
+    "@io_netty_netty_buffer//jar",
+    "@io_netty_netty_codec//jar",
     "@tinder_xmpp//jar",
     "@stax2_api//jar",
     "@aalto_xml//jar",
diff --git a/providers/pcep/BUCK b/providers/pcep/BUCK
index 3334057..0f5c1d0 100644
--- a/providers/pcep/BUCK
+++ b/providers/pcep/BUCK
@@ -6,7 +6,7 @@
     '//protocols/pcep/pcepio:onos-protocols-pcep-pcepio',
     '//protocols/pcep/server/ctl:onos-protocols-pcep-server-ctl',
     '//apps/pcep-api:onos-apps-pcep-api',
-    '//lib:netty',
+    '//lib:io_netty_netty',
 ]
 
 onos_app (
diff --git a/providers/pcep/BUILD b/providers/pcep/BUILD
index c00e3a9..a0e6254 100644
--- a/providers/pcep/BUILD
+++ b/providers/pcep/BUILD
@@ -1,5 +1,5 @@
 BUNDLES = [
-    "@netty//jar",
+    "@io_netty_netty//jar",
     "//providers/pcep/topology:onos-providers-pcep-topology",
     "//providers/pcep/tunnel:onos-providers-pcep-tunnel",
     "//providers/pcep/cli:onos-providers-pcep-cli",
diff --git a/providers/pcep/topology/BUCK b/providers/pcep/topology/BUCK
index 2299326..b3daa56 100644
--- a/providers/pcep/topology/BUCK
+++ b/providers/pcep/topology/BUCK
@@ -10,7 +10,7 @@
     '//protocols/pcep/pcepio:onos-protocols-pcep-pcepio',
     '//core/api:onos-api-tests',
     '//apps/optical-model:onos-apps-optical-model',
-    '//lib:netty',
+    '//lib:io_netty_netty',
 ]
 
 TEST_DEPS = [
diff --git a/providers/pcep/topology/BUILD b/providers/pcep/topology/BUILD
index 784b257..ec3e0d6 100644
--- a/providers/pcep/topology/BUILD
+++ b/providers/pcep/topology/BUILD
@@ -1,5 +1,5 @@
 COMPILE_DEPS = CORE_DEPS + NETTY + JACKSON + [
-    "@netty//jar",
+    "@io_netty_netty//jar",
     "//incubator/api:onos-incubator-api",
     "//protocols/ovsdb/api:onos-protocols-ovsdb-api",
     "//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc",
diff --git a/providers/pcep/tunnel/BUCK b/providers/pcep/tunnel/BUCK
index 94bbc5e..97adbd1 100644
--- a/providers/pcep/tunnel/BUCK
+++ b/providers/pcep/tunnel/BUCK
@@ -12,8 +12,8 @@
 
 TEST_DEPS = [
     '//lib:TEST_ADAPTERS',
-    '//lib:netty',
-    '//lib:netty-transport',
+    '//lib:io_netty_netty',
+    '//lib:io_netty_netty_transport',
     '//protocols/pcep/server/api:onos-protocols-pcep-server-api-tests',
     '//apps/pcep-api:onos-apps-pcep-api-tests',
     '//incubator/api:onos-incubator-api-tests',
diff --git a/providers/pcep/tunnel/BUILD b/providers/pcep/tunnel/BUILD
index fb2e414..7123001 100644
--- a/providers/pcep/tunnel/BUILD
+++ b/providers/pcep/tunnel/BUILD
@@ -9,8 +9,8 @@
 ]
 
 TEST_DEPS = TEST_ADAPTERS + [
-    "@netty//jar",
-    "@netty_transport//jar",
+    "@io_netty_netty//jar",
+    "@io_netty_netty_transport//jar",
     "//protocols/pcep/server/api:onos-protocols-pcep-server-api-tests",
     "//apps/pcep-api:onos-apps-pcep-api-tests",
     "//incubator/api:onos-incubator-api-tests",
diff --git a/tools/build/bazel/checkstyle.bzl b/tools/build/bazel/checkstyle.bzl
index d27ac57..92d3adb 100644
--- a/tools/build/bazel/checkstyle.bzl
+++ b/tools/build/bazel/checkstyle.bzl
@@ -59,7 +59,7 @@
                     Label("@commons_cli//jar"),
                     Label("@commons_collections//jar"),
                     Label("@antlr//jar"),
-                    Label("@guava//jar"),
+                    Label("@com_google_guava_guava//jar"),
                     Label("@commons_logging//jar"),
                 ]),
         "srcs": attr.label_list(allow_files = FileType([".java"])),
diff --git a/tools/build/bazel/generate_workspace.bzl b/tools/build/bazel/generate_workspace.bzl
index c38c3de..5dcbe45 100644
--- a/tools/build/bazel/generate_workspace.bzl
+++ b/tools/build/bazel/generate_workspace.bzl
@@ -1,4 +1,4 @@
-# ***** This file was auto-generated at Wed, 8 Aug 2018 21:33:41 GMT. Do not edit this file manually. *****
+# ***** This file was auto-generated at Thu, 9 Aug 2018 18:35:45 GMT. Do not edit this file manually. *****
 # ***** Use onos-lib-gen *****
 
 load("//tools/build/bazel:variables.bzl", "ONOS_GROUP_ID", "ONOS_VERSION")
@@ -11,7 +11,7 @@
     "@commons_lang3//jar",
     "@commons_io//jar",
     "@commons_pool//jar",
-    "@guava//jar",
+    "@com_google_guava_guava//jar",
     "@slf4j_api//jar",
     "@osgi_core//jar",
     "@org_osgi_compendium//jar",
@@ -19,7 +19,7 @@
     "@org_apache_felix_scr//jar",
     "@org_apache_karaf_features_core//jar",
     "@org_apache_karaf_system_core//jar",
-    "@jsr305//jar",
+    "@com_google_code_findbugs_jsr305//jar",
     "@org_apache_servicemix_bundles_dom4j//jar",
 ]
 CORE_DEPS = [] + COMPILE + [
@@ -32,7 +32,7 @@
     "@easymock//jar",
     "@hamcrest_all//jar",
     "@hamcrest_optional//jar",
-    "@guava_testlib//jar",
+    "@com_google_guava_guava_testlib//jar",
     "//utils/junit:onlab-junit",
 ]
 TEST_ADAPTERS = [] + TEST + [
@@ -59,7 +59,7 @@
     "@hk2_utils//jar",
     "@javax_inject//jar",
     "@hk2_osgi_resource_locator//jar",
-    "@javax_annotation_api//jar",
+    "@javax_annotation_api_mvn//jar",
     "@validation_api//jar",
     "//core/common:onos-core-common",
     "//core/api:onos-api-tests",
@@ -67,25 +67,8 @@
     "//utils/osgi:onlab-osgi-tests",
 ]
 NETTY = [
-    "@netty_buffer//jar",
-    "@netty_common//jar",
-]
-GRPC_1_3 = [
-    "@grpc_protobuf_1_3_1//jar",
-    "@grpc_stub_1_3_1//jar",
-    "@grpc_netty_1_3_1//jar",
-    "@grpc_auth_1_3_1//jar",
-    "@grpc_context_1_3_1//jar",
-    "@google_truth_0_28//jar",
-]
-GRPC_TEST_1_3 = [
-    "@grpc_testing_1_3_1//jar",
-    "@grpc_testing_proto_1_3_1//jar",
-    "@google_code_findbugs_3_0_0//jar",
-    "@google_errorprone_2_0_19//jar",
-    "@google_instrumentation_0_3_0//jar",
-    "@junit_dep//jar",
-    "@objenesis//jar",
+    "@io_netty_netty_buffer//jar",
+    "@io_netty_netty_common//jar",
 ]
 ONOS_YANG = [
     "@onos_yang_model//jar",
@@ -130,6 +113,23 @@
     "@typesafe_config//jar",
     "@classgraph//jar",
 ]
+GRPC_1_3 = [
+    "@grpc_protobuf_1_3_1//jar",
+    "@grpc_stub_1_3_1//jar",
+    "@grpc_netty_1_3_1//jar",
+    "@grpc_auth_1_3_1//jar",
+    "@grpc_context_1_3_1//jar",
+    "@google_truth_0_28//jar",
+]
+GRPC_TEST_1_3 = [
+    "@grpc_testing_1_3_1//jar",
+    "@grpc_testing_proto_1_3_1//jar",
+    "@google_code_findbugs_3_0_0//jar",
+    "@google_errorprone_2_0_19//jar",
+    "@google_instrumentation_0_3_0//jar",
+    "@junit_dep//jar",
+    "@objenesis//jar",
+]
 
 def generated_maven_jars():
     native.maven_jar(
@@ -319,12 +319,6 @@
     )
 
     native.maven_jar(
-        name = "error_prone_annotations",
-        artifact = "com.google.errorprone:error_prone_annotations:2.0.18",
-        sha1 = "5f65affce1684999e2f4024983835efc3504012e",
-    )
-
-    native.maven_jar(
         name = "ganymed_ssh2",
         artifact = "ch.ethz.ganymed:ganymed-ssh2:262",
         sha1 = "7761dc665d0f6993dc846d914214fb93291e2bdf",
@@ -337,19 +331,19 @@
     )
 
     native.maven_jar(
-        name = "gson",
+        name = "com_google_code_gson_gson",
         artifact = "com.google.code.gson:gson:2.7",
         sha1 = "751f548c85fa49f330cecbb1875893f971b33c4e",
     )
 
     native.maven_jar(
-        name = "guava",
+        name = "com_google_guava_guava",
         artifact = "com.google.guava:guava:22.0",
         sha1 = "3564ef3803de51fb0530a8377ec6100b33b0d073",
     )
 
     native.maven_jar(
-        name = "guava_testlib",
+        name = "com_google_guava_guava_testlib",
         artifact = "com.google.guava:guava-testlib:22.0",
         sha1 = "3be1b88f1cfc6592acbcbfe1f3a420f79eb2b146",
     )
@@ -457,7 +451,7 @@
     )
 
     native.maven_jar(
-        name = "javax_annotation_api",
+        name = "javax_annotation_api_mvn",
         artifact = "javax.annotation:javax.annotation-api:1.2",
         sha1 = "479c1e06db31c432330183f5cae684163f186146",
     )
@@ -595,7 +589,7 @@
     )
 
     native.maven_jar(
-        name = "jsr305",
+        name = "com_google_code_findbugs_jsr305",
         artifact = "com.google.code.findbugs:jsr305:3.0.1",
         sha1 = "f7be08ec23c21485b9b5a1cf1654c2ec8c58168d",
     )
@@ -667,63 +661,81 @@
     )
 
     native.maven_jar(
-        name = "netty",
+        name = "io_netty_netty",
         artifact = "io.netty:netty:3.10.5.Final",
         sha1 = "9ca7d55d246092bddd29b867706e2f6c7db701a0",
     )
 
     native.maven_jar(
-        name = "netty_buffer",
-        artifact = "io.netty:netty-buffer:4.1.8.Final",
-        sha1 = "43292c2622e340a0d07178c341ca3bdf3d662034",
+        name = "io_netty_netty_buffer",
+        artifact = "io.netty:netty-buffer:4.1.27.Final",
+        sha1 = "aafe2b9fb0d8f3b200cf10b9fd6486c6a722d7a1",
     )
 
     native.maven_jar(
-        name = "netty_codec",
-        artifact = "io.netty:netty-codec:4.1.8.Final",
-        sha1 = "1bd0a2d032e5c7fc3f42c1b483d0f4c57eb516a3",
+        name = "io_netty_netty_codec",
+        artifact = "io.netty:netty-codec:4.1.27.Final",
+        sha1 = "d2653d78ebaa650064768fb26b10051f5c8efb2c",
     )
 
     native.maven_jar(
-        name = "netty_common",
-        artifact = "io.netty:netty-common:4.1.8.Final",
-        sha1 = "ee62c80318413d2375d145e51e48d7d35c901324",
+        name = "io_netty_netty_common",
+        artifact = "io.netty:netty-common:4.1.27.Final",
+        sha1 = "6a12a969c27fb37b230c4bde5a67bd822fa6b7a4",
     )
 
     native.maven_jar(
-        name = "netty_handler",
-        artifact = "io.netty:netty-handler:4.1.8.Final",
-        sha1 = "db01139bfb11afd009a695eef55b43bbf22c4ef5",
+        name = "io_netty_netty_handler",
+        artifact = "io.netty:netty-handler:4.1.27.Final",
+        sha1 = "21bd9cf565390a8d72579b8664303e3c175dfc6a",
     )
 
     native.maven_jar(
-        name = "netty_transport",
-        artifact = "io.netty:netty-transport:4.1.8.Final",
-        sha1 = "905b5dadce881c9824b3039c0df36dabbb7b6a07",
+        name = "io_netty_netty_handler_proxy",
+        artifact = "io.netty:netty-handler-proxy:4.1.27.Final",
+        sha1 = "1a822ce7760bc6eb4937b7e448c9e081fedcc807",
     )
 
     native.maven_jar(
-        name = "netty_transport_native_epoll",
-        artifact = "io.netty:netty-transport-native-epoll:4.1.8.Final",
-        sha1 = "de9052874d9ff9b411bfc465869f620cab643d8d",
+        name = "io_netty_netty_transport",
+        artifact = "io.netty:netty-transport:4.1.27.Final",
+        sha1 = "b5c2da3ea89dd67320925f1504c9eb3615241b7c",
     )
 
     native.maven_jar(
-        name = "netty_resolver",
-        artifact = "io.netty:netty-resolver:4.1.8.Final",
-        sha1 = "2e116cdd5edc01b2305072b1dbbd17c0595dbfef",
+        name = "io_netty_netty_transport_native_unix_common",
+        artifact = "io.netty:netty-transport-native-unix-common:4.1.27.Final",
+        sha1 = "2b0667fe5c1df78c6cfbf9d53ad8b1fb533fb8e8",
     )
 
     native.maven_jar(
-        name = "netty_codec_http2",
-        artifact = "io.netty:netty-codec-http2:4.1.8.Final",
-        sha1 = "105a99ee5767463370ccc3d2e16800bd99f5648e",
+        name = "io_netty_netty_transport_native_epoll",
+        artifact = "io.netty:netty-transport-native-epoll:4.1.27.Final",
+        sha1 = "addbd481940a3cce57cb5736ecef5db909b7b5d0",
     )
 
     native.maven_jar(
-        name = "netty_codec_http",
-        artifact = "io.netty:netty-codec-http:4.1.8.Final",
-        sha1 = "1e88617c4a6c88da7e86fdbbd9494d22a250c879",
+        name = "io_netty_netty_resolver",
+        artifact = "io.netty:netty-resolver:4.1.27.Final",
+        sha1 = "2536447ef9605ccb2b5203aa22392c6514484ea9",
+    )
+
+    native.maven_jar(
+        name = "io_netty_netty_codec_http2",
+        artifact = "io.netty:netty-codec-http2:4.1.27.Final",
+        sha1 = "3769790a2033667d663f9a526d5b63cfecdbdf4e",
+    )
+
+    native.maven_jar(
+        name = "io_netty_netty_codec_http",
+        artifact = "io.netty:netty-codec-http:4.1.27.Final",
+        sha1 = "a1722d6bcbbef1c4c7877e8bf38b07a3db5ed07f",
+    )
+
+    native.maven_jar(
+        name = "io_netty_netty_codec_socks",
+        artifact = "io.netty:netty-codec-socks:4.1.27.Final",
+        sha1 = "285b09af98764cf02e4b77b3d95af188469a7133",
     )
 
     native.maven_jar(
@@ -1070,6 +1082,72 @@
     )
 
     native.maven_jar(
+        name = "bcpkix_jdk15on",
+        artifact = "org.bouncycastle:bcpkix-jdk15on:1.59",
+        sha1 = "9cef0aab8a4bb849a8476c058ce3ff302aba3fff",
+    )
+
+    native.maven_jar(
+        name = "bcprov_jdk15on",
+        artifact = "org.bouncycastle:bcprov-jdk15on:1.59",
+        sha1 = "2507204241ab450456bdb8e8c0a8f986e418bd99",
+    )
+
+    native.maven_jar(
+        name = "hamcrest_optional",
+        artifact = "com.spotify:hamcrest-optional:1.1.0",
+        sha1 = "c2dfe3a43794b15fb4c28de0027fe6e249855b3b",
+    )
+
+    native.maven_jar(
+        name = "swagger_annotations",
+        artifact = "io.swagger:swagger-annotations:1.5.16",
+        sha1 = "935f1f2fed2cbdd7a0513981d6c53201e21155f4",
+    )
+
+    native.maven_jar(
+        name = "kafka_clients",
+        artifact = "org.apache.servicemix.bundles:org.apache.servicemix.bundles.kafka-clients:0.8.2.2_1",
+        sha1 = "19ba66200cc3617fad12843788dff818b9882008",
+    )
+
+    native.maven_jar(
+        name = "tinder_xmpp",
+        artifact = "org.igniterealtime:tinder:1.3.0",
+        sha1 = "46353ded2a1d1a87d17600206d61814eb0b8a711",
+    )
+
+    native.maven_jar(
+        name = "aalto_xml",
+        artifact = "com.fasterxml:aalto-xml:1.0.0",
+        sha1 = "aeae9e8a71914e7f5efc8a69d2f5cb1f2224f2c6",
+    )
+
+    native.maven_jar(
+        name = "stax2_api",
+        artifact = "org.codehaus.woodstox:stax2-api:4.0.0",
+        sha1 = "6fa8b05f7587a3cb819d223ee0b0de0c126e3dd1",
+    )
+
+    native.maven_jar(
+        name = "concurrent_hashmap",
+        artifact = "com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:1.0",
+        sha1 = "db7b7a28b835db4717d4aaf31f5d4441887a6d46",
+    )
+
+    native.maven_jar(
+        name = "gnu_idn",
+        artifact = "org.gnu.inet:libidn:1.15",
+        sha1 = "b5bede3c1c031a827b604da31768ddaf833495c6",
+    )
+
+    native.maven_jar(
+        name = "sigar",
+        artifact = "org.knowhowlab.osgi:sigar:1.6.5_01",
+        sha1 = "58eb4af0dc4a1d331cd7620767216494e2984dea",
+    )
+
+    native.maven_jar(
         name = "grpc_core_1_3_1",
         artifact = "io.grpc:grpc-core:1.3.1",
         sha1 = "a9b38b4a19af3ef208f4f6bf7871876d959c5eb1",
@@ -1159,72 +1237,6 @@
         sha1 = "a2e145e7a7567c6372738f5c5a6f3ba6407ac354",
     )
 
-    native.maven_jar(
-        name = "bcpkix_jdk15on",
-        artifact = "org.bouncycastle:bcpkix-jdk15on:1.59",
-        sha1 = "9cef0aab8a4bb849a8476c058ce3ff302aba3fff",
-    )
-
-    native.maven_jar(
-        name = "bcprov_jdk15on",
-        artifact = "org.bouncycastle:bcprov-jdk15on:1.59",
-        sha1 = "2507204241ab450456bdb8e8c0a8f986e418bd99",
-    )
-
-    native.maven_jar(
-        name = "hamcrest_optional",
-        artifact = "com.spotify:hamcrest-optional:1.1.0",
-        sha1 = "c2dfe3a43794b15fb4c28de0027fe6e249855b3b",
-    )
-
-    native.maven_jar(
-        name = "swagger_annotations",
-        artifact = "io.swagger:swagger-annotations:1.5.16",
-        sha1 = "935f1f2fed2cbdd7a0513981d6c53201e21155f4",
-    )
-
-    native.maven_jar(
-        name = "kafka_clients",
-        artifact = "org.apache.servicemix.bundles:org.apache.servicemix.bundles.kafka-clients:0.8.2.2_1",
-        sha1 = "19ba66200cc3617fad12843788dff818b9882008",
-    )
-
-    native.maven_jar(
-        name = "tinder_xmpp",
-        artifact = "org.igniterealtime:tinder:1.3.0",
-        sha1 = "46353ded2a1d1a87d17600206d61814eb0b8a711",
-    )
-
-    native.maven_jar(
-        name = "aalto_xml",
-        artifact = "com.fasterxml:aalto-xml:1.0.0",
-        sha1 = "aeae9e8a71914e7f5efc8a69d2f5cb1f2224f2c6",
-    )
-
-    native.maven_jar(
-        name = "stax2_api",
-        artifact = "org.codehaus.woodstox:stax2-api:4.0.0",
-        sha1 = "6fa8b05f7587a3cb819d223ee0b0de0c126e3dd1",
-    )
-
-    native.maven_jar(
-        name = "concurrent_hashmap",
-        artifact = "com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:1.0",
-        sha1 = "db7b7a28b835db4717d4aaf31f5d4441887a6d46",
-    )
-
-    native.maven_jar(
-        name = "gnu_idn",
-        artifact = "org.gnu.inet:libidn:1.15",
-        sha1 = "b5bede3c1c031a827b604da31768ddaf833495c6",
-    )
-
-    native.maven_jar(
-        name = "sigar",
-        artifact = "org.knowhowlab.osgi:sigar:1.6.5_01",
-        sha1 = "58eb4af0dc4a1d331cd7620767216494e2984dea",
-    )
-
 def generated_java_libraries():
     native.java_library(
         name = "aopalliance_repackaged",
@@ -1413,12 +1425,6 @@
     )
 
     native.java_library(
-        name = "error_prone_annotations",
-        visibility = ["//visibility:public"],
-        exports = ["@error_prone_annotations//jar"],
-    )
-
-    native.java_library(
         name = "ganymed_ssh2",
         visibility = ["//visibility:public"],
         exports = ["@ganymed_ssh2//jar"],
@@ -1431,21 +1437,21 @@
     )
 
     native.java_library(
-        name = "gson",
+        name = "com_google_code_gson_gson",
         visibility = ["//visibility:public"],
-        exports = ["@gson//jar"],
+        exports = ["@com_google_code_gson_gson//jar"],
     )
 
     native.java_library(
-        name = "guava",
+        name = "com_google_guava_guava",
         visibility = ["//visibility:public"],
-        exports = ["@guava//jar"],
+        exports = ["@com_google_guava_guava//jar"],
     )
 
     native.java_library(
-        name = "guava_testlib",
+        name = "com_google_guava_guava_testlib",
         visibility = ["//visibility:public"],
-        exports = ["@guava_testlib//jar"],
+        exports = ["@com_google_guava_guava_testlib//jar"],
     )
 
     native.java_library(
@@ -1551,9 +1557,9 @@
     )
 
     native.java_library(
-        name = "javax_annotation_api",
+        name = "javax_annotation_api_mvn",
         visibility = ["//visibility:public"],
-        exports = ["@javax_annotation_api//jar"],
+        exports = ["@javax_annotation_api_mvn//jar"],
     )
 
     native.java_library(
@@ -1689,9 +1695,9 @@
     )
 
     native.java_library(
-        name = "jsr305",
+        name = "com_google_code_findbugs_jsr305",
         visibility = ["//visibility:public"],
-        exports = ["@jsr305//jar"],
+        exports = ["@com_google_code_findbugs_jsr305//jar"],
     )
 
     native.java_library(
@@ -1761,63 +1767,81 @@
     )
 
     native.java_library(
-        name = "netty",
+        name = "io_netty_netty",
         visibility = ["//visibility:public"],
-        exports = ["@netty//jar"],
+        exports = ["@io_netty_netty//jar"],
     )
 
     native.java_library(
-        name = "netty_buffer",
+        name = "io_netty_netty_buffer",
         visibility = ["//visibility:public"],
-        exports = ["@netty_buffer//jar"],
+        exports = ["@io_netty_netty_buffer//jar"],
     )
 
     native.java_library(
-        name = "netty_codec",
+        name = "io_netty_netty_codec",
         visibility = ["//visibility:public"],
-        exports = ["@netty_codec//jar"],
+        exports = ["@io_netty_netty_codec//jar"],
     )
 
     native.java_library(
-        name = "netty_common",
+        name = "io_netty_netty_common",
         visibility = ["//visibility:public"],
-        exports = ["@netty_common//jar"],
+        exports = ["@io_netty_netty_common//jar"],
     )
 
     native.java_library(
-        name = "netty_handler",
+        name = "io_netty_netty_handler",
         visibility = ["//visibility:public"],
-        exports = ["@netty_handler//jar"],
+        exports = ["@io_netty_netty_handler//jar"],
     )
 
     native.java_library(
-        name = "netty_transport",
+        name = "io_netty_netty_handler_proxy",
         visibility = ["//visibility:public"],
-        exports = ["@netty_transport//jar"],
+        exports = ["@io_netty_netty_handler_proxy//jar"],
     )
 
     native.java_library(
-        name = "netty_transport_native_epoll",
+        name = "io_netty_netty_transport",
         visibility = ["//visibility:public"],
-        exports = ["@netty_transport_native_epoll//jar"],
+        exports = ["@io_netty_netty_transport//jar"],
     )
 
     native.java_library(
-        name = "netty_resolver",
+        name = "io_netty_netty_transport_native_unix_common",
         visibility = ["//visibility:public"],
-        exports = ["@netty_resolver//jar"],
+        exports = ["@io_netty_netty_transport_native_unix_common//jar"],
     )
 
     native.java_library(
-        name = "netty_codec_http2",
+        name = "io_netty_netty_transport_native_epoll",
         visibility = ["//visibility:public"],
-        exports = ["@netty_codec_http2//jar"],
+        exports = ["@io_netty_netty_transport_native_epoll//jar"],
     )
 
     native.java_library(
-        name = "netty_codec_http",
+        name = "io_netty_netty_resolver",
         visibility = ["//visibility:public"],
-        exports = ["@netty_codec_http//jar"],
+        exports = ["@io_netty_netty_resolver//jar"],
+    )
+
+    native.java_library(
+        name = "io_netty_netty_codec_http2",
+        visibility = ["//visibility:public"],
+        exports = ["@io_netty_netty_codec_http2//jar"],
+    )
+
+    native.java_library(
+        name = "io_netty_netty_codec_http",
+        visibility = ["//visibility:public"],
+        exports = ["@io_netty_netty_codec_http//jar"],
+    )
+
+    native.java_library(
+        name = "io_netty_netty_codec_socks",
+        visibility = ["//visibility:public"],
+        exports = ["@io_netty_netty_codec_socks//jar"],
     )
 
     native.java_library(
@@ -2151,6 +2175,72 @@
     )
 
     native.java_library(
+        name = "bcpkix_jdk15on",
+        visibility = ["//visibility:public"],
+        exports = ["@bcpkix_jdk15on//jar"],
+    )
+
+    native.java_library(
+        name = "bcprov_jdk15on",
+        visibility = ["//visibility:public"],
+        exports = ["@bcprov_jdk15on//jar"],
+    )
+
+    native.java_library(
+        name = "hamcrest_optional",
+        visibility = ["//visibility:public"],
+        exports = ["@hamcrest_optional//jar"],
+    )
+
+    native.java_library(
+        name = "swagger_annotations",
+        visibility = ["//visibility:public"],
+        exports = ["@swagger_annotations//jar"],
+    )
+
+    native.java_library(
+        name = "kafka_clients",
+        visibility = ["//visibility:public"],
+        exports = ["@kafka_clients//jar"],
+    )
+
+    native.java_library(
+        name = "tinder_xmpp",
+        visibility = ["//visibility:public"],
+        exports = ["@tinder_xmpp//jar"],
+    )
+
+    native.java_library(
+        name = "aalto_xml",
+        visibility = ["//visibility:public"],
+        exports = ["@aalto_xml//jar"],
+    )
+
+    native.java_library(
+        name = "stax2_api",
+        visibility = ["//visibility:public"],
+        exports = ["@stax2_api//jar"],
+    )
+
+    native.java_library(
+        name = "concurrent_hashmap",
+        visibility = ["//visibility:public"],
+        exports = ["@concurrent_hashmap//jar"],
+    )
+
+    native.java_library(
+        name = "gnu_idn",
+        visibility = ["//visibility:public"],
+        exports = ["@gnu_idn//jar"],
+    )
+
+    native.java_library(
+        name = "sigar",
+        visibility = ["//visibility:public"],
+        exports = ["@sigar//jar"],
+    )
+
+    native.java_library(
         name = "grpc_core_1_3_1",
         visibility = ["//visibility:public"],
         exports = ["@grpc_core_1_3_1//jar"],
@@ -2240,72 +2330,6 @@
         exports = ["@google_instrumentation_0_3_0//jar"],
     )
 
-    native.java_library(
-        name = "bcpkix_jdk15on",
-        visibility = ["//visibility:public"],
-        exports = ["@bcpkix_jdk15on//jar"],
-    )
-
-    native.java_library(
-        name = "bcprov_jdk15on",
-        visibility = ["//visibility:public"],
-        exports = ["@bcprov_jdk15on//jar"],
-    )
-
-    native.java_library(
-        name = "hamcrest_optional",
-        visibility = ["//visibility:public"],
-        exports = ["@hamcrest_optional//jar"],
-    )
-
-    native.java_library(
-        name = "swagger_annotations",
-        visibility = ["//visibility:public"],
-        exports = ["@swagger_annotations//jar"],
-    )
-
-    native.java_library(
-        name = "kafka_clients",
-        visibility = ["//visibility:public"],
-        exports = ["@kafka_clients//jar"],
-    )
-
-    native.java_library(
-        name = "tinder_xmpp",
-        visibility = ["//visibility:public"],
-        exports = ["@tinder_xmpp//jar"],
-    )
-
-    native.java_library(
-        name = "aalto_xml",
-        visibility = ["//visibility:public"],
-        exports = ["@aalto_xml//jar"],
-    )
-
-    native.java_library(
-        name = "stax2_api",
-        visibility = ["//visibility:public"],
-        exports = ["@stax2_api//jar"],
-    )
-
-    native.java_library(
-        name = "concurrent_hashmap",
-        visibility = ["//visibility:public"],
-        exports = ["@concurrent_hashmap//jar"],
-    )
-
-    native.java_library(
-        name = "gnu_idn",
-        visibility = ["//visibility:public"],
-        exports = ["@gnu_idn//jar"],
-    )
-
-    native.java_library(
-        name = "sigar",
-        visibility = ["//visibility:public"],
-        exports = ["@sigar//jar"],
-    )
-
 artifact_map = {}
 artifact_map["@aopalliance_repackaged//jar"] = "mvn:org.glassfish.hk2.external:aopalliance-repackaged:jar:2.5.0-b42"
 artifact_map["@amqp_client//jar"] = "mvn:com.rabbitmq:amqp-client:jar:3.6.1"
@@ -2338,12 +2362,11 @@
 artifact_map["@concurrent_trees//jar"] = "mvn:com.googlecode.concurrent-trees:concurrent-trees:jar:2.6.1"
 artifact_map["@easymock//jar"] = "mvn:org.easymock:easymock:jar:3.6"
 artifact_map["@antlr//jar"] = "mvn:antlr:antlr:jar:NON-OSGI:2.7.7"
-artifact_map["@error_prone_annotations//jar"] = "mvn:com.google.errorprone:error_prone_annotations:jar:NON-OSGI:2.0.18"
 artifact_map["@ganymed_ssh2//jar"] = "mvn:ch.ethz.ganymed:ganymed-ssh2:jar:NON-OSGI:262"
 artifact_map["@gmetric4j//jar"] = "mvn:info.ganglia.gmetric4j:gmetric4j:jar:1.0.10"
-artifact_map["@gson//jar"] = "mvn:com.google.code.gson:gson:jar:2.7"
-artifact_map["@guava//jar"] = "mvn:com.google.guava:guava:jar:22.0"
-artifact_map["@guava_testlib//jar"] = "mvn:com.google.guava:guava-testlib:jar:NON-OSGI:22.0"
+artifact_map["@com_google_code_gson_gson//jar"] = "mvn:com.google.code.gson:gson:jar:2.7"
+artifact_map["@com_google_guava_guava//jar"] = "mvn:com.google.guava:guava:jar:22.0"
+artifact_map["@com_google_guava_guava_testlib//jar"] = "mvn:com.google.guava:guava-testlib:jar:NON-OSGI:22.0"
 artifact_map["@hamcrest_all//jar"] = "mvn:org.hamcrest:hamcrest-all:jar:NON-OSGI:1.3"
 artifact_map["@hk2_api//jar"] = "mvn:org.glassfish.hk2:hk2-api:jar:2.5.0-b42"
 artifact_map["@hk2_locator//jar"] = "mvn:org.glassfish.hk2:hk2-locator:jar:2.5.0-b42"
@@ -2361,7 +2384,7 @@
 artifact_map["@jackson_annotations//jar"] = "mvn:com.fasterxml.jackson.core:jackson-annotations:jar:2.9.5"
 artifact_map["@jackson_core//jar"] = "mvn:com.fasterxml.jackson.core:jackson-core:jar:2.9.5"
 artifact_map["@jackson_databind//jar"] = "mvn:com.fasterxml.jackson.core:jackson-databind:jar:2.9.5"
-artifact_map["@javax_annotation_api//jar"] = "mvn:javax.annotation:javax.annotation-api:jar:1.2"
+artifact_map["@javax_annotation_api_mvn//jar"] = "mvn:javax.annotation:javax.annotation-api:jar:1.2"
 artifact_map["@javax_inject//jar"] = "mvn:org.glassfish.hk2.external:javax.inject:jar:2.5.0-b42"
 artifact_map["@javax_ws_rs_api//jar"] = "mvn:javax.ws.rs:javax.ws.rs-api:jar:2.1"
 artifact_map["@jersey_client//jar"] = "mvn:org.glassfish.jersey.core:jersey-client:jar:2.26"
@@ -2384,7 +2407,7 @@
 artifact_map["@javax_servlet_api//jar"] = "mvn:javax.servlet:javax.servlet-api:jar:3.1.0"
 artifact_map["@joda_time//jar"] = "mvn:joda-time:joda-time:jar:2.9.3"
 artifact_map["@jsch//jar"] = "mvn:com.jcraft:jsch:jar:NON-OSGI:0.1.53"
-artifact_map["@jsr305//jar"] = "mvn:com.google.code.findbugs:jsr305:jar:3.0.1"
+artifact_map["@com_google_code_findbugs_jsr305//jar"] = "mvn:com.google.code.findbugs:jsr305:jar:3.0.1"
 artifact_map["@junit//jar"] = "mvn:junit:junit:jar:NON-OSGI:4.12"
 artifact_map["@junit_dep//jar"] = "mvn:junit:junit:jar:NON-OSGI:4.10"
 artifact_map["@kryo//jar"] = "mvn:com.esotericsoftware:kryo:jar:4.0.1"
@@ -2396,16 +2419,19 @@
 artifact_map["@metrics_json//jar"] = "mvn:io.dropwizard.metrics:metrics-json:jar:3.2.2"
 artifact_map["@minimal_json//jar"] = "mvn:com.eclipsesource.minimal-json:minimal-json:jar:0.9.4"
 artifact_map["@minlog//jar"] = "mvn:com.esotericsoftware:minlog:jar:1.3.0"
-artifact_map["@netty//jar"] = "mvn:io.netty:netty:jar:3.10.5.Final"
-artifact_map["@netty_buffer//jar"] = "mvn:io.netty:netty-buffer:jar:4.1.8.Final"
-artifact_map["@netty_codec//jar"] = "mvn:io.netty:netty-codec:jar:4.1.8.Final"
-artifact_map["@netty_common//jar"] = "mvn:io.netty:netty-common:jar:4.1.8.Final"
-artifact_map["@netty_handler//jar"] = "mvn:io.netty:netty-handler:jar:4.1.8.Final"
-artifact_map["@netty_transport//jar"] = "mvn:io.netty:netty-transport:jar:4.1.8.Final"
-artifact_map["@netty_transport_native_epoll//jar"] = "mvn:io.netty:netty-transport-native-epoll:jar:4.1.8.Final"
-artifact_map["@netty_resolver//jar"] = "mvn:io.netty:netty-resolver:jar:4.1.8.Final"
-artifact_map["@netty_codec_http2//jar"] = "mvn:io.netty:netty-codec-http2:jar:4.1.8.Final"
-artifact_map["@netty_codec_http//jar"] = "mvn:io.netty:netty-codec-http:jar:4.1.8.Final"
+artifact_map["@io_netty_netty//jar"] = "mvn:io.netty:netty:jar:3.10.5.Final"
+artifact_map["@io_netty_netty_buffer//jar"] = "mvn:io.netty:netty-buffer:jar:4.1.27.Final"
+artifact_map["@io_netty_netty_codec//jar"] = "mvn:io.netty:netty-codec:jar:4.1.27.Final"
+artifact_map["@io_netty_netty_common//jar"] = "mvn:io.netty:netty-common:jar:4.1.27.Final"
+artifact_map["@io_netty_netty_handler//jar"] = "mvn:io.netty:netty-handler:jar:4.1.27.Final"
+artifact_map["@io_netty_netty_handler_proxy//jar"] = "mvn:io.netty:netty-handler-proxy:jar:4.1.27.Final"
+artifact_map["@io_netty_netty_transport//jar"] = "mvn:io.netty:netty-transport:jar:4.1.27.Final"
+artifact_map["@io_netty_netty_transport_native_unix_common//jar"] = "mvn:io.netty:netty-transport-native-unix-common:jar:4.1.27.Final"
+artifact_map["@io_netty_netty_transport_native_epoll//jar"] = "mvn:io.netty:netty-transport-native-epoll:jar:4.1.27.Final"
+artifact_map["@io_netty_netty_resolver//jar"] = "mvn:io.netty:netty-resolver:jar:4.1.27.Final"
+artifact_map["@io_netty_netty_codec_http2//jar"] = "mvn:io.netty:netty-codec-http2:jar:4.1.27.Final"
+artifact_map["@io_netty_netty_codec_http//jar"] = "mvn:io.netty:netty-codec-http:jar:4.1.27.Final"
+artifact_map["@io_netty_netty_codec_socks//jar"] = "mvn:io.netty:netty-codec-socks:jar:4.1.27.Final"
 artifact_map["@objenesis//jar"] = "mvn:org.objenesis:objenesis:jar:2.6"
 artifact_map["@openflowj//jar"] = "mvn:org.onosproject:openflowj:jar:3.2.1.onos"
 artifact_map["@org_apache_felix_framework_security//jar"] = "mvn:org.onosproject:org.apache.felix.framework.security:jar:2.2.0.onos"
@@ -2463,6 +2489,17 @@
 artifact_map["@org_apache_servicemix_bundles_dom4j//jar"] = "mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.dom4j:jar:1.6.1_5"
 artifact_map["@plexus_utils//jar"] = "mvn:org.codehaus.plexus:plexus-utils:jar:NON-OSGI:3.0.24"
 artifact_map["@sshd_core//jar"] = "mvn:org.apache.sshd:sshd-core:jar:1.4.0"
+artifact_map["@bcpkix_jdk15on//jar"] = "mvn:org.bouncycastle:bcpkix-jdk15on:jar:1.59"
+artifact_map["@bcprov_jdk15on//jar"] = "mvn:org.bouncycastle:bcprov-jdk15on:jar:1.59"
+artifact_map["@hamcrest_optional//jar"] = "mvn:com.spotify:hamcrest-optional:jar:NON-OSGI:1.1.0"
+artifact_map["@swagger_annotations//jar"] = "mvn:io.swagger:swagger-annotations:jar:1.5.16"
+artifact_map["@kafka_clients//jar"] = "mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.kafka-clients:jar:0.8.2.2_1"
+artifact_map["@tinder_xmpp//jar"] = "mvn:org.igniterealtime:tinder:jar:NON-OSGI:1.3.0"
+artifact_map["@aalto_xml//jar"] = "mvn:com.fasterxml:aalto-xml:jar:1.0.0"
+artifact_map["@stax2_api//jar"] = "mvn:org.codehaus.woodstox:stax2-api:jar:4.0.0"
+artifact_map["@concurrent_hashmap//jar"] = "mvn:com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:jar:NON-OSGI:1.0"
+artifact_map["@gnu_idn//jar"] = "mvn:org.gnu.inet:libidn:jar:NON-OSGI:1.15"
+artifact_map["@sigar//jar"] = "mvn:org.knowhowlab.osgi:sigar:jar:1.6.5_01"
 artifact_map["@grpc_core_1_3_1//jar"] = "mvn:io.grpc:grpc-core:jar:NON-OSGI:1.3.1"
 artifact_map["@grpc_protobuf_1_3_1//jar"] = "mvn:io.grpc:grpc-protobuf:jar:NON-OSGI:1.3.1"
 artifact_map["@grpc_protobuf_lite_1_3_1//jar"] = "mvn:io.grpc:grpc-protobuf-lite:jar:NON-OSGI:1.3.1"
@@ -2478,17 +2515,6 @@
 artifact_map["@google_code_findbugs_3_0_0//jar"] = "mvn:com.google.code.findbugs:jsr305:jar:NON-OSGI:3.0.0"
 artifact_map["@google_errorprone_2_0_19//jar"] = "mvn:com.google.errorprone:error_prone_annotations:jar:NON-OSGI:2.0.19"
 artifact_map["@google_instrumentation_0_3_0//jar"] = "mvn:com.google.instrumentation:instrumentation-api:jar:NON-OSGI:0.3.0"
-artifact_map["@bcpkix_jdk15on//jar"] = "mvn:org.bouncycastle:bcpkix-jdk15on:jar:1.59"
-artifact_map["@bcprov_jdk15on//jar"] = "mvn:org.bouncycastle:bcprov-jdk15on:jar:1.59"
-artifact_map["@hamcrest_optional//jar"] = "mvn:com.spotify:hamcrest-optional:jar:NON-OSGI:1.1.0"
-artifact_map["@swagger_annotations//jar"] = "mvn:io.swagger:swagger-annotations:jar:1.5.16"
-artifact_map["@kafka_clients//jar"] = "mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.kafka-clients:jar:0.8.2.2_1"
-artifact_map["@tinder_xmpp//jar"] = "mvn:org.igniterealtime:tinder:jar:NON-OSGI:1.3.0"
-artifact_map["@aalto_xml//jar"] = "mvn:com.fasterxml:aalto-xml:jar:1.0.0"
-artifact_map["@stax2_api//jar"] = "mvn:org.codehaus.woodstox:stax2-api:jar:4.0.0"
-artifact_map["@concurrent_hashmap//jar"] = "mvn:com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:jar:NON-OSGI:1.0"
-artifact_map["@gnu_idn//jar"] = "mvn:org.gnu.inet:libidn:jar:NON-OSGI:1.15"
-artifact_map["@sigar//jar"] = "mvn:org.knowhowlab.osgi:sigar:jar:1.6.5_01"
 
 def maven_coordinates(label):
     label_string = str(label)
diff --git a/tools/build/bazel/google_RPC_BUILD b/tools/build/bazel/google_RPC_BUILD
deleted file mode 100644
index 76de8fd..0000000
--- a/tools/build/bazel/google_RPC_BUILD
+++ /dev/null
@@ -1,17 +0,0 @@
-package(default_visibility = ["//visibility:public"])
-
-proto_library(
-    name = "rpc_proto",
-    srcs = [ "//:google/rpc/code.proto", "//:google/rpc/status.proto" ],
-    deps = [
-        "@com_google_protobuf//:any_proto",
-    ],
-)
-
-java_proto_library(
-    name = "rpc_java_proto",
-    visibility = ["//visibility:public"],
-    deps = [":rpc_proto"],
-)
-
-
diff --git a/tools/build/bazel/googleapis_BUILD b/tools/build/bazel/googleapis_BUILD
new file mode 100644
index 0000000..97aea21
--- /dev/null
+++ b/tools/build/bazel/googleapis_BUILD
@@ -0,0 +1,12 @@
+package(default_visibility = [ "//visibility:public" ])
+
+proto_library(
+    name = "status_proto",
+    srcs = ["google/rpc/status.proto"],
+    deps = ["@com_google_protobuf//:any_proto"]
+)
+
+java_proto_library(
+    name = "status_java_proto_native",
+    deps = [":status_proto"],
+)
diff --git a/tools/build/bazel/googleapis_workspace.bzl b/tools/build/bazel/googleapis_workspace.bzl
new file mode 100644
index 0000000..94c84a9
--- /dev/null
+++ b/tools/build/bazel/googleapis_workspace.bzl
@@ -0,0 +1,13 @@
+load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+
+COMMIT = "37cc0e5acae50ee91f00827a7010c3b07dfa5311"
+SHA = "17d023f48ea290f25edaf25a967973b5a42ce6d71b1570862f302d95aa8b9f77"
+
+def generate_googleapis():
+    http_archive(
+        name = "com_github_googleapis",
+        urls = ["https://github.com/googleapis/googleapis/archive/%s.zip" % COMMIT],
+        sha256 = SHA,
+        strip_prefix = "googleapis-" + COMMIT,
+        build_file = "//tools/build/bazel:googleapis_BUILD",
+    )
diff --git a/tools/build/bazel/grpc_BUILD b/tools/build/bazel/grpc_BUILD
deleted file mode 100644
index 24795da..0000000
--- a/tools/build/bazel/grpc_BUILD
+++ /dev/null
@@ -1,44 +0,0 @@
-"""
- Copyright 2018-present Open Networking Foundation
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-"""
-
-
-"""
-    Bazel build file for GRPC java binaries. This build file is injected into the GRPC source tree to allow
-    ONOS to build it. Published binaries of the GRPC library split the definition of the io.grpc
-    package across multiple jar files. This renders them unusable in an OSGI environment, so
-    ONOS builds its own libraries here.
-"""
-
-GRPC_COMPILE = [
-    "@google_errorprone_2_0_19//jar",
-    "@google_instrumentation_0_3_0//jar",
-    "@guava//jar",
-    "@javax_annotation_api//jar",
-    "@jsr305//jar",
-    "@junit//jar",
-]
-
-java_library(
-    name = "grpc-core-repkg-1.3.1-native",
-    srcs = glob(
-        [
-            "context/src/main/java/**/*.java",
-            "core/src/main/java/**/*.java",
-        ],
-    ),
-    visibility = ["//visibility:public"],
-    deps = GRPC_COMPILE,
-)
diff --git a/tools/build/bazel/grpc_core_repkg_BUILD b/tools/build/bazel/grpc_core_repkg_BUILD
new file mode 100644
index 0000000..b5aa554
--- /dev/null
+++ b/tools/build/bazel/grpc_core_repkg_BUILD
@@ -0,0 +1,20 @@
+package(default_visibility = [ "//visibility:public" ])
+
+java_library(
+    name = "internal",
+    srcs = glob([
+        "src/main/java/io/grpc/internal/*.java",
+    ]),
+    deps = [
+        "@io_grpc_grpc_java//core",
+        "@io_grpc_grpc_java//context",
+        "@com_google_code_findbugs_jsr305//jar",
+        "@com_google_code_gson_gson//jar",
+        "@com_google_errorprone_error_prone_annotations//jar",
+        "@com_google_guava_guava//jar",
+        "@io_opencensus_opencensus_api//jar",
+        "@io_opencensus_opencensus_contrib_grpc_metrics//jar",
+    ],
+)
+
+
diff --git a/tools/build/bazel/grpc_workspace.bzl b/tools/build/bazel/grpc_workspace.bzl
index 826d304..331f0a4 100644
--- a/tools/build/bazel/grpc_workspace.bzl
+++ b/tools/build/bazel/grpc_workspace.bzl
@@ -1,92 +1,19 @@
-"""
- Copyright 2018-present Open Networking Foundation
+load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
 
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-"""
-
-
-"""
-    Workspace to build GRPC java binaries. please see the injected bazel build file
-    grpc_BUILD for additional information.
-"""
+GRPC_VER = "1.14.0"
+SHA = "657ee70cbbc7e8c5aa26d622329f5fc8bfa6ce5e960bcdbff802f785b0eba212"
 
 def generate_grpc():
-    native.new_http_archive(
-        name = "grpc_src_zip_131",
-        urls = ["https://github.com/grpc/grpc-java/archive/v1.3.1.zip"],
-        sha256 = "c529b4c2d80a6df8ddc0aa25d7599e46ffcd155cb67122513f8fb536cd96eca4",
-        build_file = "//tools/build/bazel:grpc_BUILD",
-        strip_prefix = "grpc-java-1.3.1",
+    http_archive(
+        name = "io_grpc_grpc_java",
+        urls = ["https://github.com/grpc/grpc-java/archive/v%s.zip" % GRPC_VER],
+        sha256 = SHA,
+        strip_prefix = "grpc-java-" + GRPC_VER,
     )
-
-def generated_maven_jars():
-    native.maven_jar(
-        name = "guava",
-        artifact = "com.google.guava:guava:22.0",
-        sha1 = "3564ef3803de51fb0530a8377ec6100b33b0d073",
-    )
-
-    native.maven_jar(
-        name = "google_instrumentation_0_3_0",
-        artifact = "com.google.instrumentation:instrumentation-api:0.3.0",
-        sha1 = "a2e145e7a7567c6372738f5c5a6f3ba6407ac354",
-    )
-
-    native.maven_jar(
-        name = "javax_annotation_api",
-        artifact = "javax.annotation:javax.annotation-api:1.2",
-        sha1 = "479c1e06db31c432330183f5cae684163f186146",
-    )
-
-    native.maven_jar(
-        name = "jsr305",
-        artifact = "com.google.code.findbugs:jsr305:3.0.1",
-        sha1 = "f7be08ec23c21485b9b5a1cf1654c2ec8c58168d",
-    )
-
-    native.java_library(
-        name = "google_errorprone_2_0_19",
-        visibility = ["//visibility:public"],
-        exports = ["@google_errorprone_2_0_19//jar"],
-    )
-
-def generated_java_libraries():
-    native.java_library(
-        name = "guava",
-        visibility = ["//visibility:public"],
-        exports = ["@guava//jar"],
-    )
-
-    native.java_library(
-        name = "google_instrumentation_0_3_0",
-        visibility = ["//visibility:public"],
-        exports = ["@google_instrumentation_0_3_0//jar"],
-    )
-
-    native.java_library(
-        name = "javax_annotation_api",
-        visibility = ["//visibility:public"],
-        exports = ["@javax_annotation_api//jar"],
-    )
-
-    native.java_library(
-        name = "jsr305",
-        visibility = ["//visibility:public"],
-        exports = ["@jsr305//jar"],
-    )
-
-    native.java_library(
-        name = "google_errorprone_2_0_19",
-        visibility = ["//visibility:public"],
-        exports = ["@google_errorprone_2_0_19//jar"],
+    http_archive(
+        name = "io_grpc_grpc_java_core_repkg",
+        urls = ["https://github.com/grpc/grpc-java/archive/v%s.zip" % GRPC_VER],
+        sha256 = SHA,
+        strip_prefix = "grpc-java-%s/core" % GRPC_VER,
+        build_file = "//tools/build/bazel:grpc_core_repkg_BUILD",
     )
diff --git a/tools/build/bazel/p4lang_BUILD b/tools/build/bazel/p4lang_BUILD
deleted file mode 100644
index 2c00fdf..0000000
--- a/tools/build/bazel/p4lang_BUILD
+++ /dev/null
@@ -1,16 +0,0 @@
-package(default_visibility = ["//visibility:public"])
-
-proto_library(
-    name = "p4_runtime_proto",
-    srcs = [
-            "//:p4/config/v1/p4types.proto",
-            "//:p4/config/v1/p4info.proto",
-            "//:p4/tmp/p4config.proto",
-            "//:p4/v1/p4runtime.proto",
-            "//:p4/v1/p4data.proto",
-    ],
-    deps = [
-        "@com_google_protobuf//:any_proto",
-        "@google_rpc//:rpc_proto",
-    ],
-)
\ No newline at end of file
diff --git a/tools/build/bazel/p4lang_workspace.bzl b/tools/build/bazel/p4lang_workspace.bzl
index d1bd40e..24da166 100644
--- a/tools/build/bazel/p4lang_workspace.bzl
+++ b/tools/build/bazel/p4lang_workspace.bzl
@@ -1,36 +1,19 @@
-GITHUB_BASE_URL = "https://github.com"
+load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
 
-PI_COMMIT_SHORT = "59c9409"
-PI_COMMIT = "59c940916b4f5b182f33b4788d8c410972eaecce"
-PI_REPO = "p4lang/PI"
-
-GOOGLE_RPC_COMMIT_SHORT = "916e66d"
-GOOGLE_RPC_COMMIT = "916e66d03a4f4716937b3bfa6539b9de8a598b7c"
-GOOGLE_RPC_REPO = "googleapis/googleapis"
-
-def _format_github_url(repo, commit):
-    return GITHUB_BASE_URL + "/{0}/tarball/{1}".format(repo, commit)
+P4RUNTIME_COMMIT = "028552d98b774301c51be0fe5bc97c9e95716759"
+PI_COMMIT = "36ca74fae69c8d0a142f8bfd2487bee72505cf48"
 
 def generate_p4lang():
-    native.http_archive(
-        name = "com_google_protobuf",
-        sha256 = "cef7f1b5a7c5fba672bec2a319246e8feba471f04dcebfe362d55930ee7c1c30",
-        strip_prefix = "protobuf-3.5.0",
-        urls = ["https://github.com/google/protobuf/archive/v3.5.0.zip"],
+    http_archive(
+        name = "com_github_p4lang_p4runtime",
+        urls = ["https://github.com/p4lang/p4runtime/archive/%s.zip" % P4RUNTIME_COMMIT],
+        strip_prefix = "p4runtime-%s/proto" % P4RUNTIME_COMMIT,
+        build_file = "//tools/build/bazel:p4runtime_BUILD"
     )
-
-    native.new_http_archive(
-        name = "p4lang_pi",
-        urls = [_format_github_url(PI_REPO, PI_COMMIT)],
-        build_file = "//tools/build/bazel:p4lang_BUILD",
-        strip_prefix = "p4lang-PI-" + PI_COMMIT_SHORT + "/proto",
-        type = "tar.gz",
-    )
-
-    native.new_http_archive(
-        name = "google_rpc",
-        urls = [_format_github_url(GOOGLE_RPC_REPO, GOOGLE_RPC_COMMIT)],
-        build_file = "//tools/build/bazel:google_RPC_BUILD",
-        strip_prefix = "googleapis-googleapis-" + GOOGLE_RPC_COMMIT_SHORT,
-        type = "tar.gz",
+    # Needed for PI/proto/p4/tmp/p4config.proto
+    http_archive(
+        name = "com_github_p4lang_pi",
+        urls = ["https://github.com/p4lang/PI/archive/%s.zip" % PI_COMMIT],
+        strip_prefix = "PI-%s/proto" % PI_COMMIT,
+        build_file = "//tools/build/bazel:pi_BUILD"
     )
diff --git a/tools/build/bazel/p4runtime_BUILD b/tools/build/bazel/p4runtime_BUILD
new file mode 100644
index 0000000..4ade336
--- /dev/null
+++ b/tools/build/bazel/p4runtime_BUILD
@@ -0,0 +1,56 @@
+package(default_visibility = ["//visibility:public"])
+
+load("@com_google_protobuf//:protobuf.bzl", "internal_copied_filegroup")
+load("@io_grpc_grpc_java//:java_grpc_library.bzl", "java_grpc_library")
+
+proto_library(
+    name = "p4data_proto",
+    srcs = ["p4/v1/p4data.proto"],
+)
+
+proto_library(
+    name = "p4types_proto",
+    srcs = ["p4/config/v1/p4types.proto"],
+)
+
+proto_library(
+    name = "p4info_proto",
+    srcs = ["p4/config/v1/p4info.proto"],
+    deps = [
+        ":p4types_proto",
+        "@com_google_protobuf//:any_proto"
+    ],
+)
+
+proto_library(
+    name = "p4runtime_proto",
+    srcs = ["p4/v1/p4runtime.proto"],
+    deps = [
+        ":p4info_proto",
+        ":p4data_proto",
+        "@com_github_googleapis//:status_proto",
+        "@com_google_protobuf//:any_proto",
+    ],
+)
+
+java_proto_library(
+    name = "p4data_java_proto_native",
+    deps = [":p4data_proto"],
+)
+
+java_proto_library(
+    name = "p4info_java_proto_native",
+    deps = [":p4info_proto"],
+)
+
+java_proto_library(
+    name = "p4runtime_java_proto_native",
+    deps = [":p4runtime_proto"],
+)
+
+java_grpc_library(
+    name = "p4runtime_java_grpc_native",
+    srcs = [":p4runtime_proto"],
+    deps = [":p4runtime_java_proto_native"],
+)
+
diff --git a/tools/build/bazel/pi_BUILD b/tools/build/bazel/pi_BUILD
new file mode 100644
index 0000000..307df5e
--- /dev/null
+++ b/tools/build/bazel/pi_BUILD
@@ -0,0 +1,12 @@
+package(default_visibility = ["//visibility:public"])
+
+proto_library(
+    name = "p4config_proto",
+    srcs = ["p4/tmp/p4config.proto"],
+)
+
+java_proto_library(
+    name = "p4config_java_proto_native",
+    deps = [":p4config_proto"],
+    visibility = ["//visibility:public"],
+)
diff --git a/tools/build/bazel/protobuf_workspace.bzl b/tools/build/bazel/protobuf_workspace.bzl
new file mode 100644
index 0000000..1932b57
--- /dev/null
+++ b/tools/build/bazel/protobuf_workspace.bzl
@@ -0,0 +1,13 @@
+load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+
+PROTOBUF_VER = "3.6.1"
+SHA = "0a4c6d0678eb2f063df332cff1a41647ef692c067b5cfb19e51bca778e79d9e0"
+
+def generate_protobuf():
+    http_archive(
+        name = "com_google_protobuf",
+        urls = ["https://github.com/google/protobuf/releases/download/v%s/protobuf-all-%s.zip"
+            % (PROTOBUF_VER, PROTOBUF_VER)],
+        sha256 = SHA,
+        strip_prefix = "protobuf-" + PROTOBUF_VER,
+    )
diff --git a/tools/build/buck-plugin/BUILD b/tools/build/buck-plugin/BUILD
index 1c07690..e8d2c21 100644
--- a/tools/build/buck-plugin/BUILD
+++ b/tools/build/buck-plugin/BUILD
@@ -1,7 +1,7 @@
 SWAGGER_EXECUTABLE = "swagger_generator"
 
 COMPILE_DEPS = JACKSON + [
-    "@guava//jar",
+    "@com_google_guava_guava//jar",
     "@qdox//jar",
     "@org_apache_felix_scr_bnd//jar",
 ]
diff --git a/tools/build/conf/BUCK b/tools/build/conf/BUCK
index 03581c2..11ab279 100644
--- a/tools/build/conf/BUCK
+++ b/tools/build/conf/BUCK
@@ -26,7 +26,7 @@
 )
 
 COMPILE = [
-  '//lib:guava',
+  '//lib:com_google_guava_guava',
   '//lib:checkstyle',
 ]
 
diff --git a/tools/build/onos-lib-gen b/tools/build/onos-lib-gen
index 823065c..e3bc403 100755
--- a/tools/build/onos-lib-gen
+++ b/tools/build/onos-lib-gen
@@ -21,5 +21,5 @@
     [ -f $JAR ] && printf "Done.\n"
 fi
 
-java -jar $JAR lib/deps.json tools/build/bazel/generate_workspace.bzl --bazel
-java -jar $JAR lib/deps.json lib/BUCK
+[ -z "$1" -o "$1" = "bazel" ] && java -jar $JAR lib/deps.json tools/build/bazel/generate_workspace.bzl --bazel
+[ -z "$1" -o "$1" = "buck" ] && java -jar $JAR lib/deps.json lib/BUCK
diff --git a/tools/build_rules/prelude_bazel b/tools/build_rules/prelude_bazel
index e92e8b6..182fa27 100644
--- a/tools/build_rules/prelude_bazel
+++ b/tools/build_rules/prelude_bazel
@@ -2,7 +2,7 @@
     "//tools/build/bazel:generate_workspace.bzl",
     "COMPILE",
     "CORE_DEPS",
-    "GRPC_1_3",
+    # "GRPC_1_3",
     "JACKSON",
     "KRYO",
     "CLI",
diff --git a/tools/package/features/BUCK b/tools/package/features/BUCK
index 4b5ecd7..5acf69c 100644
--- a/tools/package/features/BUCK
+++ b/tools/package/features/BUCK
@@ -17,15 +17,15 @@
     '//lib:commons-text',
     '//lib:commons-configuration',
     '//lib:fast-classpath-scanner',
-    '//lib:guava',
-    '//lib:netty',
-    '//lib:netty-common',
-    '//lib:netty-buffer',
-    '//lib:netty-transport',
-    '//lib:netty-handler',
-    '//lib:netty-codec',
-    '//lib:netty-transport-native-epoll',
-    '//lib:netty-resolver',
+    '//lib:com_google_guava_guava',
+    '//lib:io_netty_netty',
+    '//lib:io_netty_netty_common',
+    '//lib:io_netty_netty_buffer',
+    '//lib:io_netty_netty_transport',
+    '//lib:io_netty_netty_handler',
+    '//lib:io_netty_netty_codec',
+    '//lib:io_netty_netty_transport-native-epoll',
+    '//lib:io_netty_netty_resolver',
     '//lib:commons-pool',
     '//lib:commons-math3',
     '//lib:joda-time',
@@ -61,7 +61,7 @@
   required_features = [ 'war', 'onos-thirdparty-base' ],
   included_bundles = [
     '//lib:jersey-common',
-    '//lib:javax.annotation-api',
+    '//lib:javax.annotation-api-mvn',
     '//lib:javax.ws.rs-api',
     '//lib:hk2-api',
     '//lib:hk2-locator',
diff --git a/tools/package/features/BUILD b/tools/package/features/BUILD
index 44b5f5f..9ec8005 100644
--- a/tools/package/features/BUILD
+++ b/tools/package/features/BUILD
@@ -15,15 +15,16 @@
         "@commons_lang3//jar",
         "@commons_text//jar",
         "@commons_configuration//jar",
-        "@guava//jar",
-        "@netty//jar",
-        "@netty_common//jar",
-        "@netty_buffer//jar",
-        "@netty_transport//jar",
-        "@netty_handler//jar",
-        "@netty_codec//jar",
-        "@netty_transport_native_epoll//jar",
-        "@netty_resolver//jar",
+        "@com_google_guava_guava//jar",
+        "@io_netty_netty//jar",
+        "@io_netty_netty_common//jar",
+        "@io_netty_netty_buffer//jar",
+        "@io_netty_netty_transport//jar",
+        "@io_netty_netty_handler//jar",
+        "@io_netty_netty_codec//jar",
+        "@io_netty_netty_transport_native_epoll//jar",
+        "@io_netty_netty_transport_native_unix_common//jar",
+        "@io_netty_netty_resolver//jar",
         "@commons_pool//jar",
         "@commons_math3//jar",
         "@joda_time//jar",
@@ -58,7 +59,7 @@
     description = "ONOS 3rd party dependencies for web apps",
     included_bundles = [
         "@jersey_common//jar",
-        "@javax_annotation_api//jar",
+        "@javax_annotation_api_mvn//jar",
         "@javax_ws_rs_api//jar",
         "@hk2_api//jar",
         "@hk2_locator//jar",
diff --git a/utils/junit/BUCK b/utils/junit/BUCK
index cf8c29a..f4e5444 100644
--- a/utils/junit/BUCK
+++ b/utils/junit/BUCK
@@ -1,12 +1,12 @@
 SRC_DEPS = [
     '//lib:junit',
     '//lib:hamcrest-all',
-    '//lib:guava',
+    '//lib:com_google_guava_guava',
     '//lib:slf4j-api',
 ]
 
 TEST_DEPS = [
-    '//lib:guava-testlib',
+    '//lib:com_google_guava_guava_testlib',
 ]
 
 osgi_jar_with_tests(
diff --git a/utils/junit/BUILD b/utils/junit/BUILD
index 2e8e690..c54e5df 100644
--- a/utils/junit/BUILD
+++ b/utils/junit/BUILD
@@ -3,14 +3,14 @@
 TEST_SRC = "src/test/java/org/onlab/**/"
 
 COMPILE_DEPS = [
-    "@guava//jar",
+    "@com_google_guava_guava//jar",
     "@slf4j_api//jar",
     "@hamcrest_all//jar",
     "@junit//jar",
 ]
 
 TEST_DEPS = [
-    "@guava_testlib//jar",
+    "@com_google_guava_guava_testlib//jar",
 ]
 
 osgi_jar_with_tests(
diff --git a/utils/misc/BUCK b/utils/misc/BUCK
index aef407f..5df6e11 100644
--- a/utils/misc/BUCK
+++ b/utils/misc/BUCK
@@ -3,7 +3,7 @@
     '//lib:NETTY',
     '//lib:METRICS',
     '//lib:KRYO',
-    '//lib:netty',
+    '//lib:io_netty_netty',
     '//lib:JACKSON',
 ]
 
diff --git a/utils/misc/BUILD b/utils/misc/BUILD
index ca4b963..98621b0 100644
--- a/utils/misc/BUILD
+++ b/utils/misc/BUILD
@@ -1,8 +1,8 @@
 COMPILE_DEPS = COMPILE + JACKSON + [
     "@kryo//jar",
     "@metrics_core//jar",
-    "@netty//jar",
-    "@netty_common//jar",
+    "@io_netty_netty//jar",
+    "@io_netty_netty_common//jar",
     "@objenesis//jar",
 ]
 
diff --git a/utils/osgiwrap/BUCK b/utils/osgiwrap/BUCK
index 49acb13..3a91e9b 100644
--- a/utils/osgiwrap/BUCK
+++ b/utils/osgiwrap/BUCK
@@ -4,7 +4,7 @@
 CURRENT_TARGET = ':' + CURRENT_NAME
 
 COMPILE_DEPS = [
-    '//lib:guava',
+    '//lib:com_google_guava_guava',
     '//lib:bndlib',
     '//lib:org.apache.felix.scr.bnd'
 ]
diff --git a/utils/osgiwrap/BUILD b/utils/osgiwrap/BUILD
index 389cc8d..9193c04 100644
--- a/utils/osgiwrap/BUILD
+++ b/utils/osgiwrap/BUILD
@@ -1,7 +1,7 @@
 OSGIWRAP_EXECUTABLE = "osgi-jar"
 
 COMPILE_DEPS = [
-    "@guava//jar",
+    "@com_google_guava_guava//jar",
     "@bndlib//jar",
     "@org_apache_felix_scr_bnd//jar",
 ]