Refactor protocol BUCK files to use more modern rules and format

Change-Id: I9262fdeef12cfd098afefc711d995ffc76b9efb1
diff --git a/BUCK b/BUCK
index 2f71002..0fd1df6 100644
--- a/BUCK
+++ b/BUCK
@@ -23,26 +23,27 @@
 
     '//protocols/rest/api:onos-protocols-rest-api',
     '//protocols/rest/ctl:onos-protocols-rest-ctl',
-    '//protocols/bgp/bgpio:onos-bgpio',
-    '//protocols/bgp/api:onos-bgp-api',
-    '//protocols/bgp/ctl:onos-bgp-ctl',
+    '//protocols/bgp/bgpio:onos-protocols-bgp-bgpio',
+    '//protocols/bgp/api:onos-protocols-bgp-api',
+    '//protocols/bgp/ctl:onos-protocols-bgp-ctl',
     '//protocols/netconf/api:onos-protocols-netconf-api',
     '//protocols/netconf/ctl:onos-protocols-netconf-ctl',
-    '//protocols/openflow/api:onos-of-api',
-    '//protocols/openflow/ctl:onos-of-ctl',
-    '//protocols/ospf/api:onos-ospf-api',
-    '//protocols/ospf/protocol:onos-ospf-protocol',
-    '//protocols/ospf/ctl:onos-ospf-ctl',
-    '//protocols/ovsdb/rfc:onos-ovsdb-rfc',
-    '//protocols/ovsdb/api:onos-ovsdb-api',
-    '//protocols/ovsdb/ctl:onos-ovsdb-ctl',
-    '//protocols/pcep/pcepio:onos-pcep-pcepio',
-    '//protocols/pcep/api:onos-pcep-controller-api',
-    '//protocols/pcep/ctl:onos-pcep-ctl',
-    '//protocols/snmp/api:onos-snmp-api',
-    '//protocols/snmp/ctl:onos-snmp-ctl',
-    '//protocols/isis:onos-isis-api',
-    '//protocols/isis:onos-isis-isisio',
+    '//protocols/openflow/api:onos-protocols-openflow-api',
+    '//protocols/openflow/ctl:onos-protocols-openflow-ctl',
+    '//protocols/ospf/api:onos-protocols-ospf-api',
+    '//protocols/ospf/protocol:onos-protocols-ospf-protocol',
+    '//protocols/ospf/ctl:onos-protocols-ospf-ctl',
+    '//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc',
+    '//protocols/ovsdb/api:onos-protocols-ovsdb-api',
+    '//protocols/ovsdb/ctl:onos-protocols-ovsdb-ctl',
+    '//protocols/pcep/pcepio:onos-protocols-pcep-pcepio',
+    '//protocols/pcep/api:onos-protocols-pcep-api',
+    '//protocols/pcep/ctl:onos-protocols-pcep-ctl',
+    '//protocols/snmp/api:onos-protocols-snmp-api',
+    '//protocols/snmp/ctl:onos-protocols-snmp-ctl',
+    '//protocols/isis/api:onos-protocols-isis-api',
+    '//protocols/isis/ctl:onos-protocols-isis-ctl',
+    '//protocols/isis/isisio:onos-protocols-isis-isisio',
 
     '//drivers/utilities:onos-drivers-utilities',
     '//drivers/bti:onos-drivers-bti-oar',
@@ -64,6 +65,8 @@
     '//providers/ovsdb/tunnel:onos-ovsdb-provider-tunnel',
     '//providers/rest/device:onos-providers-rest-device',
     '//providers/snmp/device:onos-providers-snmp-device',
+    '//providers/isis/cfg:onos-providers-isis-cfg',
+    '//providers/isis/device:onos-providers-isis-device',
 
     '//web/api:onos-rest',
     '//web/gui:onos-gui',
@@ -83,6 +86,7 @@
     '//providers/null:onos-providers-null-oar',
     '//providers/openflow/base:onos-providers-openflow-base-oar',
     '//providers/rest:onos-providers-rest-oar',
+    '//providers/isis:onos-providers-isis-oar',
 
     # Apps
     '//apps/dhcp:onos-apps-dhcp-oar',
diff --git a/apps/cordvtn/BUCK b/apps/cordvtn/BUCK
index a9e548e..af9c811 100644
--- a/apps/cordvtn/BUCK
+++ b/apps/cordvtn/BUCK
@@ -15,8 +15,8 @@
     '//apps/openstackinterface/api:onos-apps-openstackinterface-api',
     '//apps/dhcp/api:onos-apps-dhcp-api',
     '//apps/xosclient:onos-apps-xosclient',
-    '//protocols/ovsdb/api:onos-ovsdb-api',
-    '//protocols/ovsdb/rfc:onos-ovsdb-rfc',
+    '//protocols/ovsdb/api:onos-protocols-ovsdb-api',
+    '//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc',
 ]
 
 BUNDLES = [
diff --git a/apps/openstacknode/BUCK b/apps/openstacknode/BUCK
index e15af2e..0921c3d 100644
--- a/apps/openstacknode/BUCK
+++ b/apps/openstacknode/BUCK
@@ -1,7 +1,7 @@
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
-    '//protocols/ovsdb/api:onos-ovsdb-api',
-    '//protocols/ovsdb/rfc:onos-ovsdb-rfc',
+    '//protocols/ovsdb/api:onos-protocols-ovsdb-api',
+    '//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc',
     '//core/store/serializers:onos-core-serializers',
 ]
 
diff --git a/apps/pcep-api/BUCK b/apps/pcep-api/BUCK
index 580f549..b0f7332 100644
--- a/apps/pcep-api/BUCK
+++ b/apps/pcep-api/BUCK
@@ -1,7 +1,7 @@
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
-    '//protocols/ovsdb/api:onos-ovsdb-api',
-    '//protocols/ovsdb/rfc:onos-ovsdb-rfc',
+    '//protocols/ovsdb/api:onos-protocols-ovsdb-api',
+    '//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc',
 ]
 
 osgi_jar_with_tests (
diff --git a/drivers/bti/BUCK b/drivers/bti/BUCK
index c7d6cf7..90ab148 100644
--- a/drivers/bti/BUCK
+++ b/drivers/bti/BUCK
@@ -1,6 +1,6 @@
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
-    '//protocols/snmp/api:onos-snmp-api',
+    '//protocols/snmp/api:onos-protocols-snmp-api',
     '//incubator/api:onos-incubator-api',
     '//lib:org.apache.servicemix.bundles.snmp4j',
     '//lib:snmp-core',
diff --git a/drivers/default/BUCK b/drivers/default/BUCK
index 51f8552..f999454 100644
--- a/drivers/default/BUCK
+++ b/drivers/default/BUCK
@@ -2,7 +2,7 @@
     '//lib:CORE_DEPS',
     '//lib:openflowj',
     '//drivers/utilities:onos-drivers-utilities',
-    '//protocols/openflow/api:onos-of-api',
+    '//protocols/openflow/api:onos-protocols-openflow-api',
     '//core/store/serializers:onos-core-serializers',
 ]
 
@@ -13,6 +13,7 @@
 )
 
 onos_app (
+    app_name = 'org.onosproject.drivers',
     title = 'Default device drivers',
     category = 'Drivers',
     url = 'http://onosproject.org',
diff --git a/drivers/lumentum/BUCK b/drivers/lumentum/BUCK
index 620195e..768feac 100644
--- a/drivers/lumentum/BUCK
+++ b/drivers/lumentum/BUCK
@@ -2,7 +2,7 @@
     '//lib:CORE_DEPS',
     '//lib:org.apache.servicemix.bundles.snmp4j',
     '//drivers/utilities:onos-drivers-utilities',
-    '//protocols/snmp/api:onos-snmp-api',
+    '//protocols/snmp/api:onos-protocols-snmp-api',
     '//incubator/api:onos-incubator-api',
 ]
 
diff --git a/drivers/ovsdb/BUCK b/drivers/ovsdb/BUCK
index 56d3dea..a9c91ca 100644
--- a/drivers/ovsdb/BUCK
+++ b/drivers/ovsdb/BUCK
@@ -1,13 +1,13 @@
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
     '//drivers/utilities:onos-drivers-utilities',
-    '//protocols/ovsdb/api:onos-ovsdb-api',
-    '//protocols/ovsdb/rfc:onos-ovsdb-rfc',
+    '//protocols/ovsdb/api:onos-protocols-ovsdb-api',
+    '//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc',
 ]
 
 TEST_DEPS = [
     '//lib:TEST_ADAPTERS',
-    '//protocols/ovsdb/api:onos-protocols-ovsdb-tests',
+    '//protocols/ovsdb/api:onos-protocols-ovsdb-api-tests',
 ]
 
 osgi_jar_with_tests (
diff --git a/protocols/bgp/api/BUCK b/protocols/bgp/api/BUCK
index 7b7ac98..2a195f0 100644
--- a/protocols/bgp/api/BUCK
+++ b/protocols/bgp/api/BUCK
@@ -1,16 +1,8 @@
-SRC = 'src/main/java/org/onosproject/**/'
-
-CURRENT_NAME = 'onos-bgp-api'
-CURRENT_TARGET = ':' + CURRENT_NAME
-
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
-    '//protocols/bgp/bgpio:onos-bgpio',
+    '//protocols/bgp/bgpio:onos-protocols-bgp-bgpio',
 ]
 
-osgi_jar(
-    name = CURRENT_NAME,
-    srcs = glob([SRC + '/*.java']),
+osgi_jar_with_tests (
     deps = COMPILE_DEPS,
-    visibility = ['PUBLIC'],
 )
diff --git a/protocols/bgp/bgpio/BUCK b/protocols/bgp/bgpio/BUCK
index 3d6b280..2b27800 100644
--- a/protocols/bgp/bgpio/BUCK
+++ b/protocols/bgp/bgpio/BUCK
@@ -1,28 +1,7 @@
-SRC = 'src/main/java/org/onosproject/**/'
-TEST = 'src/test/java/org/onosproject/**/'
-CURRENT_NAME = 'onos-bgpio'
-CURRENT_TARGET = ':' + CURRENT_NAME
-
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
 ]
 
-TEST_DEPS = [
-    '//lib:TEST',
-]
-
-osgi_jar(
-    name = CURRENT_NAME,
-    srcs = glob([SRC + '/*.java']),
+osgi_jar_with_tests (
     deps = COMPILE_DEPS,
-    visibility = ['PUBLIC'],
-)
-
-java_test(
-    name = 'tests',
-    srcs = glob([TEST + '/*.java']),
-    deps = COMPILE_DEPS +
-           TEST_DEPS +
-           [CURRENT_TARGET],
-    source_under_test = [CURRENT_TARGET],
 )
diff --git a/protocols/bgp/ctl/BUCK b/protocols/bgp/ctl/BUCK
index 6336f97..68aa0cd 100644
--- a/protocols/bgp/ctl/BUCK
+++ b/protocols/bgp/ctl/BUCK
@@ -1,34 +1,13 @@
-SRC = 'src/main/java/org/onosproject/**/'
-TEST = 'src/test/java/org/onosproject/**/'
-CURRENT_NAME = 'onos-bgp-ctl'
-CURRENT_TARGET = ':' + CURRENT_NAME
-
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
     '//lib:jersey-client',
     '//lib:httpclient-osgi',
     '//lib:httpcore-osgi',
     '//lib:javax.ws.rs-api',
-    '//protocols/bgp/api:onos-bgp-api',
-    '//protocols/bgp/bgpio:onos-bgpio',
+    '//protocols/bgp/api:onos-protocols-bgp-api',
+    '//protocols/bgp/bgpio:onos-protocols-bgp-bgpio',
 ]
 
-TEST_DEPS = [
-    '//lib:TEST',
-]
-
-osgi_jar(
-    name = CURRENT_NAME,
-    srcs = glob([SRC + '/*.java']),
+osgi_jar_with_tests (
     deps = COMPILE_DEPS,
-    visibility = ['PUBLIC'],
-)
-
-java_test(
-    name = 'tests',
-    srcs = glob([TEST + '/*.java']),
-    deps = COMPILE_DEPS +
-           TEST_DEPS +
-           [CURRENT_TARGET],
-    source_under_test = [CURRENT_TARGET],
 )
diff --git a/protocols/isis/BUCK b/protocols/isis/BUCK
deleted file mode 100644
index 77dba5a..0000000
--- a/protocols/isis/BUCK
+++ /dev/null
@@ -1,56 +0,0 @@
-SRC = 'src/main/java/org/onosproject/**/'
-TEST = 'src/test/java/org/onosproject/**/'
-
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:netty-buffer',
-]
-
-TEST_DEPS = [
-    '//lib:TEST',
-]
-
-java_library(
-   name = 'onos-isis',
-   visibility = ['PUBLIC'],
-   deps = [':onos-isis-api',
-           ':onos-isis-isisio',
-   ],
-)
-
-# onos-isis-api
-
-osgi_jar(
-    name = 'onos-isis-api',
-    srcs = glob(['api/' + SRC + '*.java']),
-    deps = COMPILE_DEPS,
-    visibility = ['PUBLIC'],
-)
-
-java_test(
-    name = 'onos-isis-api-tests',
-    srcs = glob(['api/' + TEST + '*.java']),
-    deps = COMPILE_DEPS +
-           TEST_DEPS +
-           [':onos-isis-api'],
-    source_under_test = [':onos-isis-api'],
-)
-
-# onos-isis-isisio
-
-osgi_jar(
-    name = 'onos-isis-isisio',
-    srcs = glob(['isisio/' + SRC + '*.java']),
-    deps = COMPILE_DEPS + [':onos-isis-api'],
-    visibility = ['PUBLIC'],
-)
-
-java_test(
-    name = 'onos-isis-isisio-tests',
-    srcs = glob(['isisio/' + TEST + '*.java']),
-    deps = COMPILE_DEPS +
-           TEST_DEPS +
-           [':onos-isis-isisio'],
-    source_under_test = [':onos-isis-isisio'],
-)
-
diff --git a/protocols/isis/api/BUCK b/protocols/isis/api/BUCK
new file mode 100644
index 0000000..3cc9301
--- /dev/null
+++ b/protocols/isis/api/BUCK
@@ -0,0 +1,8 @@
+COMPILE_DEPS = [
+    '//lib:CORE_DEPS',
+]
+
+osgi_jar_with_tests (
+    deps = COMPILE_DEPS,
+)
+
diff --git a/protocols/isis/ctl/BUCK b/protocols/isis/ctl/BUCK
new file mode 100644
index 0000000..b491fe9
--- /dev/null
+++ b/protocols/isis/ctl/BUCK
@@ -0,0 +1,9 @@
+COMPILE_DEPS = [
+    '//lib:CORE_DEPS',
+    '//protocols/isis/api:onos-protocols-isis-api',
+    '//protocols/isis/isisio:onos-protocols-isis-isisio',
+]
+
+osgi_jar_with_tests (
+    deps = COMPILE_DEPS,
+)
diff --git a/protocols/isis/isisio/BUCK b/protocols/isis/isisio/BUCK
new file mode 100644
index 0000000..a8795b9
--- /dev/null
+++ b/protocols/isis/isisio/BUCK
@@ -0,0 +1,8 @@
+COMPILE_DEPS = [
+    '//lib:CORE_DEPS',
+    '//protocols/isis/api:onos-protocols-isis-api',
+]
+
+osgi_jar_with_tests (
+    deps = COMPILE_DEPS,
+)
diff --git a/protocols/netconf/api/BUCK b/protocols/netconf/api/BUCK
index 943b11d..2b27800 100644
--- a/protocols/netconf/api/BUCK
+++ b/protocols/netconf/api/BUCK
@@ -2,6 +2,6 @@
     '//lib:CORE_DEPS',
 ]
 
-osgi_jar(
+osgi_jar_with_tests (
     deps = COMPILE_DEPS,
 )
diff --git a/protocols/openflow/api/BUCK b/protocols/openflow/api/BUCK
index bca8133f..0af0b23 100644
--- a/protocols/openflow/api/BUCK
+++ b/protocols/openflow/api/BUCK
@@ -9,7 +9,6 @@
 ]
 
 osgi_jar_with_tests (
-    name = 'onos-of-api',
     deps = COMPILE_DEPS,
     test_deps = TEST_DEPS,
 )
diff --git a/protocols/openflow/ctl/BUCK b/protocols/openflow/ctl/BUCK
index 94dbbda..62f40af 100644
--- a/protocols/openflow/ctl/BUCK
+++ b/protocols/openflow/ctl/BUCK
@@ -1,12 +1,7 @@
-SRC = 'src/main/java/org/onosproject/**/'
-TEST = 'src/test/java/org/onosproject/**/'
-CURRENT_NAME = 'onos-of-ctl'
-CURRENT_TARGET = ':' + CURRENT_NAME
-
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
     '//lib:openflowj',
-    '//protocols/openflow/api:onos-of-api'
+    '//protocols/openflow/api:onos-protocols-openflow-api'
 ]
 
 TEST_DEPS = [
@@ -14,18 +9,7 @@
     '//core/api:onos-api-tests',
 ]
 
-osgi_jar(
-    name = CURRENT_NAME,
-    srcs = glob([SRC + '/*.java']),
+osgi_jar_with_tests (
     deps = COMPILE_DEPS,
-    visibility = ['PUBLIC'],
-)
-
-java_test(
-    name = 'tests',
-    srcs = glob([TEST + '/*.java']),
-    deps = COMPILE_DEPS +
-           TEST_DEPS +
-           [CURRENT_TARGET],
-    source_under_test = [CURRENT_TARGET],
+    test_deps = TEST_DEPS,
 )
diff --git a/protocols/ospf/api/BUCK b/protocols/ospf/api/BUCK
index 92c6555..3cc9301 100644
--- a/protocols/ospf/api/BUCK
+++ b/protocols/ospf/api/BUCK
@@ -1,28 +1,8 @@
-SRC = 'src/main/java/org/onosproject/**/'
-TEST = 'src/test/java/org/onosproject/**/'
-CURRENT_NAME = 'onos-ospf-api'
-CURRENT_TARGET = ':' + CURRENT_NAME
-
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
 ]
 
-TEST_DEPS = [
-    '//lib:TEST',
-]
-
-osgi_jar(
-    name = CURRENT_NAME,
-    srcs = glob([SRC + '/*.java']),
+osgi_jar_with_tests (
     deps = COMPILE_DEPS,
-    visibility = ['PUBLIC'],
 )
 
-java_test(
-    name = 'tests',
-    srcs = glob([TEST + '/*.java']),
-    deps = COMPILE_DEPS +
-           TEST_DEPS +
-           [CURRENT_TARGET],
-    source_under_test = [CURRENT_TARGET],
-)
diff --git a/protocols/ospf/ctl/BUCK b/protocols/ospf/ctl/BUCK
index 5da15ee..f381e3e 100644
--- a/protocols/ospf/ctl/BUCK
+++ b/protocols/ospf/ctl/BUCK
@@ -1,30 +1,10 @@
-SRC = 'src/main/java/org/onosproject/**/'
-TEST = 'src/test/java/org/onosproject/**/'
-CURRENT_NAME = 'onos-ospf-ctl'
-CURRENT_TARGET = ':' + CURRENT_NAME
-
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
-    '//protocols/ospf/api:onos-ospf-api',
-    '//protocols/ospf/protocol:onos-ospf-protocol',
+    '//protocols/ospf/api:onos-protocols-ospf-api',
+    '//protocols/ospf/protocol:onos-protocols-ospf-protocol',
 ]
 
-TEST_DEPS = [
-    '//lib:TEST',
-]
-
-osgi_jar(
-    name = CURRENT_NAME,
-    srcs = glob([SRC + '/*.java']),
+osgi_jar_with_tests (
     deps = COMPILE_DEPS,
-    visibility = ['PUBLIC'],
 )
 
-java_test(
-    name = 'tests',
-    srcs = glob([TEST + '/*.java']),
-    deps = COMPILE_DEPS +
-           TEST_DEPS +
-           [CURRENT_TARGET],
-    source_under_test = [CURRENT_TARGET],
-)
diff --git a/protocols/ospf/protocol/BUCK b/protocols/ospf/protocol/BUCK
index 2c4cc5f..bae8403 100644
--- a/protocols/ospf/protocol/BUCK
+++ b/protocols/ospf/protocol/BUCK
@@ -1,29 +1,8 @@
-SRC = 'src/main/java/org/onosproject/**/'
-TEST = 'src/test/java/org/onosproject/**/'
-CURRENT_NAME = 'onos-ospf-protocol'
-CURRENT_TARGET = ':' + CURRENT_NAME
-
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
-    '//protocols/ospf/api:onos-ospf-api',
+    '//protocols/ospf/api:onos-protocols-ospf-api',
 ]
 
-TEST_DEPS = [
-    '//lib:TEST',
-]
-
-osgi_jar(
-    name = CURRENT_NAME,
-    srcs = glob([SRC + '/*.java']),
+osgi_jar_with_tests (
     deps = COMPILE_DEPS,
-    visibility = ['PUBLIC'],
-)
-
-java_test(
-    name = 'tests',
-    srcs = glob([TEST + '/*.java']),
-    deps = COMPILE_DEPS +
-           TEST_DEPS +
-           [CURRENT_TARGET],
-    source_under_test = [CURRENT_TARGET],
 )
diff --git a/protocols/ovsdb/api/BUCK b/protocols/ovsdb/api/BUCK
index f715e91..5c9a19d 100644
--- a/protocols/ovsdb/api/BUCK
+++ b/protocols/ovsdb/api/BUCK
@@ -1,31 +1,10 @@
-SRC = 'src/main/java/org/onosproject/**/'
-TEST = 'src/test/java/org/onosproject/**/'
-CURRENT_NAME = 'onos-ovsdb-api'
-CURRENT_TARGET = ':' + CURRENT_NAME
-
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
     '//lib:netty-transport',
-    '//protocols/ovsdb/rfc:onos-ovsdb-rfc',
+    '//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc',
 ]
 
-TEST_DEPS = [
-    '//lib:TEST',
-]
-
-osgi_jar(
-    name = CURRENT_NAME,
-    srcs = glob([SRC + '/*.java']),
+osgi_jar_with_tests (
     deps = COMPILE_DEPS,
-    visibility = ['PUBLIC'],
 )
 
-java_test(
-    name = 'onos-protocols-ovsdb-tests',
-    srcs = glob([TEST + '/*.java']),
-    deps = COMPILE_DEPS +
-           TEST_DEPS +
-           [CURRENT_TARGET],
-    source_under_test = [CURRENT_TARGET],
-    visibility = ['PUBLIC'],
-)
diff --git a/protocols/ovsdb/ctl/BUCK b/protocols/ovsdb/ctl/BUCK
index f360c0e..7433c2b 100644
--- a/protocols/ovsdb/ctl/BUCK
+++ b/protocols/ovsdb/ctl/BUCK
@@ -1,34 +1,14 @@
-SRC = 'src/main/java/org/onosproject/**/'
-TEST = 'src/test/java/org/onosproject/**/'
-CURRENT_NAME = 'onos-ovsdb-ctl'
-CURRENT_TARGET = ':' + CURRENT_NAME
-
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
     '//lib:netty-transport',
     '//lib:netty-buffer',
     '//lib:netty-codec',
     '//lib:netty-handler',
-    '//protocols/ovsdb/rfc:onos-ovsdb-rfc',
-    '//protocols/ovsdb/api:onos-ovsdb-api',
+    '//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc',
+    '//protocols/ovsdb/api:onos-protocols-ovsdb-api',
 ]
 
-TEST_DEPS = [
-    '//lib:TEST',
-]
-
-osgi_jar(
-    name = CURRENT_NAME,
-    srcs = glob([SRC + '/*.java']),
+osgi_jar_with_tests (
     deps = COMPILE_DEPS,
-    visibility = ['PUBLIC'],
 )
 
-java_test(
-    name = 'tests',
-    srcs = glob([TEST + '/*.java']),
-    deps = COMPILE_DEPS +
-           TEST_DEPS +
-           [CURRENT_TARGET],
-    source_under_test = [CURRENT_TARGET],
-)
diff --git a/protocols/ovsdb/rfc/BUCK b/protocols/ovsdb/rfc/BUCK
index 66e623b..5184298 100644
--- a/protocols/ovsdb/rfc/BUCK
+++ b/protocols/ovsdb/rfc/BUCK
@@ -1,18 +1,10 @@
-SRC = 'src/main/java/org/onosproject/**/'
-
-CURRENT_NAME = 'onos-ovsdb-rfc'
-CURRENT_TARGET = ':' + CURRENT_NAME
-
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
     '//lib:netty-buffer',
     '//lib:netty-codec',
 ]
 
-osgi_jar(
-    name = CURRENT_NAME,
-    srcs = glob([SRC + '/*.java']),
+osgi_jar_with_tests (
     deps = COMPILE_DEPS,
-    visibility = ['PUBLIC'],
 )
 
diff --git a/protocols/pcep/api/BUCK b/protocols/pcep/api/BUCK
index 83c98ae..ae80b3a 100644
--- a/protocols/pcep/api/BUCK
+++ b/protocols/pcep/api/BUCK
@@ -1,17 +1,9 @@
-SRC = 'src/main/java/org/onosproject/**/'
-
-CURRENT_NAME = 'onos-pcep-controller-api'
-CURRENT_TARGET = ':' + CURRENT_NAME
-
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
-    '//protocols/pcep/pcepio:onos-pcep-pcepio',
+    '//protocols/pcep/pcepio:onos-protocols-pcep-pcepio',
 ]
 
-osgi_jar(
-    name = CURRENT_NAME,
-    srcs = glob([SRC + '/*.java']),
+osgi_jar_with_tests (
     deps = COMPILE_DEPS,
-    visibility = ['PUBLIC'],
 )
 
diff --git a/protocols/pcep/ctl/BUCK b/protocols/pcep/ctl/BUCK
index 58fc0c9..dd7e29c 100644
--- a/protocols/pcep/ctl/BUCK
+++ b/protocols/pcep/ctl/BUCK
@@ -1,18 +1,10 @@
-SRC = 'src/main/java/org/onosproject/**/'
-
-CURRENT_NAME = 'onos-pcep-ctl'
-CURRENT_TARGET = ':' + CURRENT_NAME
-
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
-    '//protocols/pcep/pcepio:onos-pcep-pcepio',
-    '//protocols/pcep/api:onos-pcep-controller-api',
+    '//protocols/pcep/pcepio:onos-protocols-pcep-pcepio',
+    '//protocols/pcep/api:onos-protocols-pcep-api',
 ]
 
-osgi_jar(
-    name = CURRENT_NAME,
-    srcs = glob([SRC + '/*.java']),
+osgi_jar_with_tests (
     deps = COMPILE_DEPS,
-    visibility = ['PUBLIC'],
 )
 
diff --git a/protocols/pcep/pcepio/BUCK b/protocols/pcep/pcepio/BUCK
index 559e9a8..3cc9301 100644
--- a/protocols/pcep/pcepio/BUCK
+++ b/protocols/pcep/pcepio/BUCK
@@ -1,28 +1,8 @@
-SRC = 'src/main/java/org/onosproject/**/'
-TEST = 'src/test/java/org/onosproject/**/'
-CURRENT_NAME = 'onos-pcep-pcepio'
-CURRENT_TARGET = ':' + CURRENT_NAME
-
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
 ]
 
-TEST_DEPS = [
-    '//lib:TEST',
-]
-
-osgi_jar(
-    name = CURRENT_NAME,
-    srcs = glob([SRC + '/*.java']),
+osgi_jar_with_tests (
     deps = COMPILE_DEPS,
-    visibility = ['PUBLIC'],
 )
 
-java_test(
-    name = 'tests',
-    srcs = glob([TEST + '/*.java']),
-    deps = COMPILE_DEPS +
-           TEST_DEPS +
-           [CURRENT_TARGET],
-    source_under_test = [CURRENT_TARGET],
-)
diff --git a/protocols/rest/ctl/BUCK b/protocols/rest/ctl/BUCK
index c6ef03d..c289b01 100644
--- a/protocols/rest/ctl/BUCK
+++ b/protocols/rest/ctl/BUCK
@@ -12,10 +12,6 @@
     '//protocols/rest/api:onos-protocols-rest-api',
 ]
 
-TEST_DEPS = [
-    '//lib:TEST',
-]
-
 osgi_jar_with_tests (
     deps = COMPILE_DEPS,
 )
diff --git a/protocols/snmp/api/BUCK b/protocols/snmp/api/BUCK
index 4ff8c0f..eec6b2f 100644
--- a/protocols/snmp/api/BUCK
+++ b/protocols/snmp/api/BUCK
@@ -1,8 +1,3 @@
-SRC = 'src/main/java/org/onosproject/**/'
-
-CURRENT_NAME = 'onos-snmp-api'
-CURRENT_TARGET = ':' + CURRENT_NAME
-
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
     '//incubator/api:onos-incubator-api',
@@ -13,9 +8,6 @@
     '//lib:mibs-rfc',
 ]
 
-osgi_jar(
-    name = CURRENT_NAME,
-    srcs = glob([SRC + '/*.java']),
+osgi_jar_with_tests (
     deps = COMPILE_DEPS,
-    visibility = ['PUBLIC'],
 )
diff --git a/protocols/snmp/ctl/BUCK b/protocols/snmp/ctl/BUCK
index eff20ce..7ba20f6 100644
--- a/protocols/snmp/ctl/BUCK
+++ b/protocols/snmp/ctl/BUCK
@@ -1,12 +1,7 @@
-SRC = 'src/main/java/org/onosproject/**/'
-TEST = 'src/test/java/org/onosproject/**/'
-CURRENT_NAME = 'onos-snmp-ctl'
-CURRENT_TARGET = ':' + CURRENT_NAME
-
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
     '//incubator/api:onos-incubator-api',
-    '//protocols/snmp/api:onos-snmp-api',
+    '//protocols/snmp/api:onos-protocols-snmp-api',
     '//lib:org.apache.servicemix.bundles.snmp4j',
     '//lib:snmp-core',
     '//lib:bti7000',
@@ -14,22 +9,7 @@
     '//lib:mibs-rfc',
 ]
 
-TEST_DEPS = [
-    '//lib:TEST',
-]
-
-osgi_jar(
-    name = CURRENT_NAME,
-    srcs = glob([SRC + '/*.java']),
+osgi_jar_with_tests (
     deps = COMPILE_DEPS,
-    visibility = ['PUBLIC'],
 )
 
-java_test(
-    name = 'tests',
-    srcs = glob([TEST + '/*.java']),
-    deps = COMPILE_DEPS +
-           TEST_DEPS +
-           [CURRENT_TARGET],
-    source_under_test = [CURRENT_TARGET],
-)
diff --git a/providers/bgp/BUCK b/providers/bgp/BUCK
index c526f55..b29b52d 100644
--- a/providers/bgp/BUCK
+++ b/providers/bgp/BUCK
@@ -1,10 +1,10 @@
 BUNDLES = [
     '//providers/bgp/cfg:onos-providers-bgp-cfg',
-    '//providers/bgp/flow:onos-providers-bgp-flow',
+    #'//providers/bgp/flow:onos-providers-bgp-flow',
     '//providers/bgp/topology:onos-providers-bgp-topology',
-    '//protocols/bgp/api:onos-bgp-api',
-    '//protocols/bgp/ctl:onos-bgp-ctl',
-    '//protocols/bgp/bgpio:onos-bgpio',
+    '//protocols/bgp/api:onos-protocols-bgp-api',
+    '//protocols/bgp/ctl:onos-protocols-bgp-ctl',
+    '//protocols/bgp/bgpio:onos-protocols-bgp-bgpio',
 ]
 
 onos_app (
diff --git a/providers/bgp/cfg/BUCK b/providers/bgp/cfg/BUCK
index 917fc34..431010a 100644
--- a/providers/bgp/cfg/BUCK
+++ b/providers/bgp/cfg/BUCK
@@ -1,6 +1,6 @@
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
-    '//protocols/bgp/api:onos-bgp-api',
+    '//protocols/bgp/api:onos-protocols-bgp-api',
 ]
 
 osgi_jar_with_tests (
diff --git a/providers/bgp/topology/BUCK b/providers/bgp/topology/BUCK
index e4e7041..657ed56 100644
--- a/providers/bgp/topology/BUCK
+++ b/providers/bgp/topology/BUCK
@@ -1,7 +1,7 @@
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
-    '//protocols/bgp/api:onos-bgp-api',
-    '//protocols/bgp/bgpio:onos-bgpio',
+    '//protocols/bgp/api:onos-protocols-bgp-api',
+    '//protocols/bgp/bgpio:onos-protocols-bgp-bgpio',
     '//incubator/store:onos-incubator-store',
 ]
 
diff --git a/providers/bgpcep/flow/BUCK b/providers/bgpcep/flow/BUCK
index 28e1e81..b3468de 100644
--- a/providers/bgpcep/flow/BUCK
+++ b/providers/bgpcep/flow/BUCK
@@ -1,16 +1,18 @@
-SRC = 'src/main/java/org/onosproject/**/'
+# FIXME - BGCEP got moved
 
-CURRENT_NAME = 'onos-bgpcep-provider-flow'
-CURRENT_TARGET = ':' + CURRENT_NAME
+#SRC = 'src/main/java/org/onosproject/**/'
 
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//protocols/bgp/api:onos-bgp-api',
-]
+#CURRENT_NAME = 'onos-bgpcep-provider-flow'
+#CURRENT_TARGET = ':' + CURRENT_NAME
 
-osgi_jar(
-    name = CURRENT_NAME,
-    srcs = glob([SRC + '/*.java']),
-    deps = COMPILE_DEPS,
-    visibility = ['PUBLIC'],
-)
+#COMPILE_DEPS = [
+#    '//lib:CORE_DEPS',
+#    '//protocols/bgp/api:onos-bgp-api',
+#]
+
+#osgi_jar(
+#    name = CURRENT_NAME,
+#    srcs = glob([SRC + '/*.java']),
+#    deps = COMPILE_DEPS,
+#    visibility = ['PUBLIC'],
+#)
diff --git a/providers/isis/BUCK b/providers/isis/BUCK
new file mode 100644
index 0000000..1663d60
--- /dev/null
+++ b/providers/isis/BUCK
@@ -0,0 +1,16 @@
+BUNDLES = [
+    '//protocols/isis/api:onos-protocols-isis-api',
+    '//protocols/isis/ctl:onos-protocols-isis-ctl',
+    '//protocols/isis/isisio:onos-protocols-isis-isisio',
+    '//providers/isis/cfg:onos-providers-isis-cfg',
+    '//providers/isis/device:onos-providers-isis-device',
+]
+
+onos_app (
+    title = 'ISIS Provider',
+    category = 'Provider',
+    url = 'http://onosproject.org',
+    description = 'ONOS ISIS protocol adapters.',
+    included_bundles = BUNDLES,
+)
+
diff --git a/providers/isis/cfg/BUCK b/providers/isis/cfg/BUCK
new file mode 100644
index 0000000..6ff859a
--- /dev/null
+++ b/providers/isis/cfg/BUCK
@@ -0,0 +1,9 @@
+COMPILE_DEPS = [
+    '//lib:CORE_DEPS',
+    '//protocols/isis/api:onos-protocols-isis-api',
+]
+
+osgi_jar_with_tests (
+    deps = COMPILE_DEPS,
+)
+
diff --git a/providers/isis/device/BUCK b/providers/isis/device/BUCK
new file mode 100644
index 0000000..6ff859a
--- /dev/null
+++ b/providers/isis/device/BUCK
@@ -0,0 +1,9 @@
+COMPILE_DEPS = [
+    '//lib:CORE_DEPS',
+    '//protocols/isis/api:onos-protocols-isis-api',
+]
+
+osgi_jar_with_tests (
+    deps = COMPILE_DEPS,
+)
+
diff --git a/providers/openflow/base/BUCK b/providers/openflow/base/BUCK
index 2d3cbfa..a621b93 100644
--- a/providers/openflow/base/BUCK
+++ b/providers/openflow/base/BUCK
@@ -1,7 +1,7 @@
 BUNDLES = [
     '//lib:openflowj',
-    '//protocols/openflow/api:onos-of-api',
-    '//protocols/openflow/ctl:onos-of-ctl',
+    '//protocols/openflow/api:onos-protocols-openflow-api',
+    '//protocols/openflow/ctl:onos-protocols-openflow-ctl',
     '//providers/openflow/device:onos-providers-openflow-device',
     '//providers/openflow/packet:onos-providers-openflow-packet',
     '//providers/openflow/flow:onos-providers-openflow-flow',
diff --git a/providers/openflow/device/BUCK b/providers/openflow/device/BUCK
index 11599d5..b498b34 100644
--- a/providers/openflow/device/BUCK
+++ b/providers/openflow/device/BUCK
@@ -1,7 +1,7 @@
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
     '//lib:openflowj',
-    '//protocols/openflow/api:onos-of-api',
+    '//protocols/openflow/api:onos-protocols-openflow-api',
 ]
 
 TEST_DEPS = [
diff --git a/providers/openflow/flow/BUCK b/providers/openflow/flow/BUCK
index d575458..cacd1b1 100644
--- a/providers/openflow/flow/BUCK
+++ b/providers/openflow/flow/BUCK
@@ -1,7 +1,7 @@
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
     '//lib:openflowj',
-    '//protocols/openflow/api:onos-of-api',
+    '//protocols/openflow/api:onos-protocols-openflow-api',
 ]
 
 osgi_jar_with_tests (
diff --git a/providers/openflow/group/BUCK b/providers/openflow/group/BUCK
index 44ad141..e76cb53 100644
--- a/providers/openflow/group/BUCK
+++ b/providers/openflow/group/BUCK
@@ -1,7 +1,7 @@
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
     '//lib:openflowj',
-    '//protocols/openflow/api:onos-of-api',
+    '//protocols/openflow/api:onos-protocols-openflow-api',
     '//providers/openflow/flow:onos-providers-openflow-flow',
 ]
 
diff --git a/providers/openflow/message/BUCK b/providers/openflow/message/BUCK
index 8e7da43..b9caae2 100644
--- a/providers/openflow/message/BUCK
+++ b/providers/openflow/message/BUCK
@@ -1,7 +1,7 @@
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
     '//lib:openflowj',
-    '//protocols/openflow/api:onos-of-api',
+    '//protocols/openflow/api:onos-protocols-openflow-api',
     '//apps/cpman/api:onos-apps-cpman-api',
 ]
 
diff --git a/providers/openflow/meter/BUCK b/providers/openflow/meter/BUCK
index 6e986a7..a2e289d 100644
--- a/providers/openflow/meter/BUCK
+++ b/providers/openflow/meter/BUCK
@@ -1,7 +1,7 @@
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
     '//lib:openflowj',
-    '//protocols/openflow/api:onos-of-api',
+    '//protocols/openflow/api:onos-protocols-openflow-api',
 ]
 
 osgi_jar_with_tests (
diff --git a/providers/openflow/packet/BUCK b/providers/openflow/packet/BUCK
index d575458..cacd1b1 100644
--- a/providers/openflow/packet/BUCK
+++ b/providers/openflow/packet/BUCK
@@ -1,7 +1,7 @@
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
     '//lib:openflowj',
-    '//protocols/openflow/api:onos-of-api',
+    '//protocols/openflow/api:onos-protocols-openflow-api',
 ]
 
 osgi_jar_with_tests (
diff --git a/providers/ovsdb/device/BUCK b/providers/ovsdb/device/BUCK
index 7e1832f..58f5c86 100644
--- a/providers/ovsdb/device/BUCK
+++ b/providers/ovsdb/device/BUCK
@@ -6,8 +6,8 @@
 
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
-    '//protocols/ovsdb/api:onos-ovsdb-api',
-    '//protocols/ovsdb/rfc:onos-ovsdb-rfc',
+    '//protocols/ovsdb/api:onos-protocols-ovsdb-api',
+    '//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc',
 ]
 
 TEST_DEPS = [
diff --git a/providers/ovsdb/host/BUCK b/providers/ovsdb/host/BUCK
index 2cfac8a..82aaf13 100644
--- a/providers/ovsdb/host/BUCK
+++ b/providers/ovsdb/host/BUCK
@@ -6,8 +6,8 @@
 
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
-    '//protocols/ovsdb/api:onos-ovsdb-api',
-    '//protocols/ovsdb/rfc:onos-ovsdb-rfc',
+    '//protocols/ovsdb/api:onos-protocols-ovsdb-api',
+    '//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc',
 ]
 
 TEST_DEPS = [
diff --git a/providers/ovsdb/tunnel/BUCK b/providers/ovsdb/tunnel/BUCK
index b41d04f..a6087d0 100644
--- a/providers/ovsdb/tunnel/BUCK
+++ b/providers/ovsdb/tunnel/BUCK
@@ -6,8 +6,8 @@
 
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
-    '//protocols/ovsdb/api:onos-ovsdb-api',
-    '//protocols/ovsdb/rfc:onos-ovsdb-rfc',
+    '//protocols/ovsdb/api:onos-protocols-ovsdb-api',
+    '//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc',
     '//incubator/api:onos-incubator-api',
 ]
 
diff --git a/providers/pcep/BUCK b/providers/pcep/BUCK
index e333fc9..8bf9406 100644
--- a/providers/pcep/BUCK
+++ b/providers/pcep/BUCK
@@ -1,8 +1,8 @@
 BUNDLES = [
     '//providers/pcep/topology:onos-providers-pcep-topology',
     '//providers/pcep/tunnel:onos-providers-pcep-tunnel',
-    '//protocols/pcep/api:onos-pcep-controller-api',
-    '//protocols/pcep/pcepio:onos-pcep-pcepio',
+    '//protocols/pcep/api:onos-protocols-pcep-api',
+    '//protocols/pcep/pcepio:onos-protocols-pcep-pcepio',
 ]
 
 onos_app (
diff --git a/providers/pcep/topology/BUCK b/providers/pcep/topology/BUCK
index 306fff8..56ba605 100644
--- a/providers/pcep/topology/BUCK
+++ b/providers/pcep/topology/BUCK
@@ -1,7 +1,7 @@
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
-    '//protocols/ovsdb/api:onos-ovsdb-api',
-    '//protocols/ovsdb/rfc:onos-ovsdb-rfc',
+    '//protocols/ovsdb/api:onos-protocols-ovsdb-api',
+    '//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc',
     '//apps/pcep-api:onos-apps-pcep-api',
 ]
 
diff --git a/providers/pcep/tunnel/BUCK b/providers/pcep/tunnel/BUCK
index f794963..ce09ba2 100644
--- a/providers/pcep/tunnel/BUCK
+++ b/providers/pcep/tunnel/BUCK
@@ -1,11 +1,11 @@
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
-    '//protocols/ovsdb/api:onos-ovsdb-api',
-    '//protocols/ovsdb/rfc:onos-ovsdb-rfc',
+    '//protocols/ovsdb/api:onos-protocols-ovsdb-api',
+    '//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc',
     '//apps/pcep-api:onos-apps-pcep-api',
     '//incubator/api:onos-incubator-api',
-    '//protocols/pcep/pcepio:onos-pcep-pcepio',
-    '//protocols/pcep/api:onos-pcep-controller-api',
+    '//protocols/pcep/pcepio:onos-protocols-pcep-pcepio',
+    '//protocols/pcep/api:onos-protocols-pcep-api',
 ]
 
 TEST_DEPS = [
diff --git a/providers/rest/device/BUCK b/providers/rest/device/BUCK
index 7a3667f..0538438 100644
--- a/providers/rest/device/BUCK
+++ b/providers/rest/device/BUCK
@@ -1,7 +1,7 @@
 COMPILE_DEPS = [
     '//lib:CORE_DEPS',
-    '//protocols/ovsdb/api:onos-ovsdb-api',
-    '//protocols/ovsdb/rfc:onos-ovsdb-rfc',
+    '//protocols/ovsdb/api:onos-protocols-ovsdb-api',
+    '//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc',
     '//apps/pcep-api:onos-apps-pcep-api',
     '//incubator/api:onos-incubator-api',
     '//protocols/rest/api:onos-protocols-rest-api',
diff --git a/providers/snmp/device/BUCK b/providers/snmp/device/BUCK
index 5d766f4..d222d2c 100644
--- a/providers/snmp/device/BUCK
+++ b/providers/snmp/device/BUCK
@@ -6,8 +6,8 @@
     '//lib:mibs-net-snmp',
     '//lib:mibs-rfc',
     '//incubator/api:onos-incubator-api',
-    '//protocols/snmp/api:onos-snmp-api',
-    '//protocols/snmp/ctl:onos-snmp-ctl',
+    '//protocols/snmp/api:onos-protocols-snmp-api',
+    '//protocols/snmp/ctl:onos-protocols-snmp-ctl',
 ]
 
 osgi_jar_with_tests (