Removing BUCK files and other Buck-related auxiliaries.

Change-Id: I23691380efcd9bce4906695605214ed59ada0e87
diff --git a/.buckconfig b/.buckconfig
deleted file mode 100644
index 3c88483..0000000
--- a/.buckconfig
+++ /dev/null
@@ -1,23 +0,0 @@
-[buildfile]
-  includes = //buck-tools/default.defs
-
-[plugins]
-  directory = //bin/plugins
-
-[java]
-  source_level = 8
-  target_level = 8
-
-[alias]
-    onos = //tools/package:onos-package
-    onos-local = //tools/package:onos-run
-
-[download]
-  in_build = true
-
-[maven_repositories]
-  central = https://repo1.maven.org/maven2
-
-[project]
-  ide = intellij
-  ignore = .git, bazel-bin, bazel-genfiles, bazel-onos-next, bazel-out, bazel-testlogs
diff --git a/.dockerignore b/.dockerignore
index 05151e2..bd28f8b 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -5,11 +5,6 @@
 **/.idea
 .javacp*
 
-.buckd
-buck-out
-bucklets/plugins
-bin
-
 web/gui/src/main/webapp/tests/node_modules
 web/gui/src/test/_karma/node_modules
 web/gui/src/main/webapp/node_modules
diff --git a/.gitignore b/.gitignore
index eef0a5e..da1e74c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,16 +13,10 @@
 dependency-reduced-pom.xml
 .idea
 *.DS_Store
-.buckd
-buck-out
-.buckconfig.local
-.buckjavaargs*
-bucklets/plugins/
 .watchmanconfig
 .vscode
 *.fxs
 
-/bin/
 lib/yang
 /tools/gui/bin
 /tools/gui/node_modules
diff --git a/BUCK b/BUCK
deleted file mode 100644
index 9b02eb6..0000000
--- a/BUCK
+++ /dev/null
@@ -1,75 +0,0 @@
-java_library(
-    name = 'core',
-    visibility = ['PUBLIC'],
-    deps = CORE,
-)
-
-java_library(
-    name = 'apps',
-    visibility = ['PUBLIC'],
-    deps = APPS + APP_JARS,
-)
-
-java_library(
-    name = 'onos',
-    visibility = ['PUBLIC'],
-    deps = [ ':core', ':apps' ]
-)
-
-INSTALL = [
-    '//utils/misc:onlab-misc-install',
-    '//utils/osgi:onlab-osgi-install',
-    '//utils/rest:onlab-rest-install',
-
-    '//core/api:onos-api-install',
-    '//incubator/api:onos-incubator-api-install',
-
-    '//core/net:onos-core-net-install',
-    '//core/common:onos-core-common-install',
-    '//core/store/dist:onos-core-dist-install',
-    '//core/store/primitives:onos-core-primitives-install',
-    '//core/store/persistence:onos-core-persistence-install',
-    '//core/store/serializers:onos-core-serializers-install',
-
-    '//incubator/net:onos-incubator-net-install',
-    '//incubator/store:onos-incubator-store-install',
-    '//incubator/rpc:onos-incubator-rpc-install',
-
-    '//core/security:onos-security-install',
-
-    '//web/api:onos-rest-install',
-    '//web/gui:onos-gui-install',
-    '//cli:onos-cli-install',
-]
-java_library(
-    name = 'install',
-    visibility = ['PUBLIC'],
-    deps = INSTALL
-)
-
-tar_file(
-    name = 'onos-test',
-    root = 'onos-test-%s' % ONOS_VERSION,
-    srcs = glob(['tools/test/**/*']) + [
-               'tools/dev/bash_profile',
-               'tools/dev/bin/onos-create-app',
-               'tools/build/envDefaults'
-           ],
-    other_tars = [ '//tools/package:onos-package-runtime' ],
-)
-
-tar_file(
-    name = 'onos-admin',
-    root = 'onos-admin-%s' % ONOS_VERSION,
-    srcs = [
-        'tools/dev/bin/onos-create-app',
-        'tools/test/bin/onos',
-    ],
-    other_tars = [ '//tools/package:onos-package-runtime' ],
-    flat = True,
-)
-
-
-
-
-
diff --git a/Jenkinsfile b/Jenkinsfile
deleted file mode 100644
index 11b889a..0000000
--- a/Jenkinsfile
+++ /dev/null
@@ -1,54 +0,0 @@
-#!groovy
-
-pipeline {
-
-    agent any
-
-    stages {
-        stage('pull') {
-            steps {
-                git url: 'https://gerrit.onosproject.org/onos'
-            }
-        }
-
-        stage('build') {
-            steps {
-                sh '''#!/bin/bash -l
-                    ONOS_ROOT=`pwd`
-                    source tools/build/envDefaults
-                    onos-buck build onos
-                '''
-            }
-        }
-
-        stage('test') {
-            steps {
-                parallel (
-                    "unit-tests": {
-                        sh '''#!/bin/bash -l
-                            ONOS_ROOT=`pwd`
-                            source tools/build/envDefaults
-                            onos-buck test
-                        '''
-                    },
-                    "javadocs": {
-                        sh '''#!/bin/bash -l
-                            ONOS_ROOT=`pwd`
-                            source tools/build/envDefaults
-                            onos-buck build //docs:external //docs:internal --show-output
-                        '''
-                    },
-                    "docker-image": {
-                        sh '''#!/bin/bash -l
-                            ONOS_ROOT=`pwd`
-                            source tools/build/envDefaults
-                            docker build -t onosproject/onos-test-docker .
-                        '''
-                    },
-                )
-            }
-        }
-    }
-
-}
-
diff --git a/apps/acl/BUCK b/apps/acl/BUCK
deleted file mode 100644
index bbe0f16..0000000
--- a/apps/acl/BUCK
+++ /dev/null
@@ -1,30 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:KRYO',
-    '//lib:javax.ws.rs-api',
-    '//utils/rest:onlab-rest',
-    '//core/store/serializers:onos-core-serializers',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_REST',
-    '//lib:jersey-server',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    web_context = '/onos/v1/acl',
-    api_title = 'ACL API',
-    api_version = '1.0',
-    api_description = 'REST API for ACL app',
-    api_package = 'org.onosproject.acl',
-)
-
-onos_app (
-    title = 'Access Control Lists',
-    category = 'Security',
-    url = 'http://onosproject.org',
-    description = 'ONOS ACL application.',
-)
diff --git a/apps/actn-mdsc/BUCK b/apps/actn-mdsc/BUCK
deleted file mode 100644
index 0961e47..0000000
--- a/apps/actn-mdsc/BUCK
+++ /dev/null
@@ -1,15 +0,0 @@
-BUNDLES = [
-    '//apps/tetunnel/api:onos-apps-tetunnel-api',
-    '//apps/tetopology/api:onos-apps-tetopology-api',
-    '//apps/actn-mdsc/tetunnel-ctl:onos-apps-actn-mdsc-tetunnel-ctl',
-    '//apps/actn-mdsc/tetunnel-pce:onos-apps-actn-mdsc-tetunnel-pce',
-]
-
-onos_app (
-    title = 'ACTN MDSC',
-    category = 'Traffic Engineering',
-    url = 'http://onosproject.org',
-    included_bundles = BUNDLES,
-    description = 'ACTN MDSC APP.',
-)
-
diff --git a/apps/actn-mdsc/tetunnel-ctl/BUCK b/apps/actn-mdsc/tetunnel-ctl/BUCK
deleted file mode 100644
index 5cf5a66..0000000
--- a/apps/actn-mdsc/tetunnel-ctl/BUCK
+++ /dev/null
@@ -1,17 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//apps/tetunnel/api:onos-apps-tetunnel-api',
-    '//apps/actn-mdsc/tetunnel-pce:onos-apps-actn-mdsc-tetunnel-pce',
-    '//apps/tetopology/api:onos-apps-tetopology-api',
-    '//incubator/api:onos-incubator-api'
- ]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
diff --git a/apps/actn-mdsc/tetunnel-pce/BUCK b/apps/actn-mdsc/tetunnel-pce/BUCK
deleted file mode 100644
index a040010..0000000
--- a/apps/actn-mdsc/tetunnel-pce/BUCK
+++ /dev/null
@@ -1,15 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//apps/tetunnel/api:onos-apps-tetunnel-api',
-
- ]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
diff --git a/apps/artemis/BUCK b/apps/artemis/BUCK
deleted file mode 100755
index 450f73e..0000000
--- a/apps/artemis/BUCK
+++ /dev/null
@@ -1,100 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:NETTY',
-    '//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',
-    '//apps/routing/common:onos-apps-routing-common',
-    '//protocols/ovsdb/api:onos-protocols-ovsdb-api',
-    '//apps/intentsync:onos-apps-intentsync',
-    '//apps/route-service/api:onos-apps-route-service-api',
-    '//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc',
-    '//lib:okhttp',
-    '//lib:okio',
-    ':commons-net',
-    ':io.socket-client',
-    ':json',
-    ':engine.io-client'
- ]
-
-BUNDLES = [
-    '//apps/artemis:onos-apps-artemis',
-    '//apps/routing-api:onos-apps-routing-api',
-    '//apps/routing/common:onos-apps-routing-common',
-    '//protocols/ovsdb/api:onos-protocols-ovsdb-api',
-    '//apps/route-service/api:onos-apps-route-service-api',
-    '//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc'
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS'
-]
-
-EXCLUDED_BUNDLES = [
-    '//lib:okhttp',
-    '//lib:okio',
-    ':commons-net',
-    ':io.socket-client',
-    ':json',
-    ':engine.io-client'
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
-onos_app (
-    app_name = 'org.onosproject.artemis',
-    title = 'Artemis',
-    category = 'Monitoring',
-    url = 'http://onosproject.org',
-    description = 'Artemis',
-    included_bundles = BUNDLES,
-    excluded_bundles = EXCLUDED_BUNDLES,
-    required_apps = [
-        'org.onosproject.sdnip',
-        'org.onosproject.openflow',
-        'org.onosproject.ovsdb',
-        'org.onosproject.drivers.ovsdb'
-    ],
-)
-
-remote_jar (
-  name = 'commons-net',
-  out = 'commons-net-3.5.jar',
-  url = 'mvn:commons-net:commons-net:jar:3.5',
-  sha1 = '342fc284019f590e1308056990fdb24a08f06318',
-  maven_coords = 'commons-net:commons-net:3.5',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'io.socket-client',
-  out = 'socket.io-client-0.8.3.jar',
-  url = 'mvn:io.socket:socket.io-client:jar:0.8.3',
-  sha1 = 'b30500232ff0668a47c9f91f02e6935457a52fb5',
-  maven_coords = 'io.socket:socket.io-client:jar:NON-OSGI:0.8.3',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'json',
-  out = 'json-20090211.jar',
-  url = 'mvn:org.json:json:jar:20090211',
-  sha1 = 'c183aa3a2a6250293808bba12262c8920ce5a51c',
-  maven_coords = 'org.json:json:jar:NON-OSGI:20090211',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'engine.io-client',
-  out = 'engine.io-client-0.8.3.jar',
-  url = 'mvn:io.socket:engine.io-client:jar:0.8.3',
-  sha1 = '854b49396e1e9f9bb0ab025062ddb49c4ed65ca1',
-  maven_coords = 'io.socket:engine.io-client:jar:NON-OSGI:0.8.3',
-  visibility = [ 'PUBLIC' ],
-)
\ No newline at end of file
diff --git a/apps/bgprouter/BUCK b/apps/bgprouter/BUCK
deleted file mode 100644
index 436c6b6..0000000
--- a/apps/bgprouter/BUCK
+++ /dev/null
@@ -1,25 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//incubator/api:onos-incubator-api',
-    '//apps/routing-api:onos-apps-routing-api',
-]
-
-BUNDLES = [
-    '//apps/routing-api:onos-apps-routing-api',
-    '//apps/routing/common:onos-apps-routing-common',
-    '//apps/bgprouter:onos-apps-bgprouter',
-]
-
-osgi_jar (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    title = 'BGP Router',
-    category = 'Traffic Engineering',
-    url = 'http://onosproject.org',
-    description = 'BGP router application.',
-    included_bundles = BUNDLES,
-    required_apps = [ 'org.onosproject.fibinstaller', 'org.onosproject.route-service' ],
-)
diff --git a/apps/castor/BUCK b/apps/castor/BUCK
deleted file mode 100644
index 9b305ec..0000000
--- a/apps/castor/BUCK
+++ /dev/null
@@ -1,44 +0,0 @@
-COMPILE_DEPS = [
-  '//lib:CORE_DEPS',
-  '//lib:JACKSON',
-  '//lib:KRYO',
-  '//core/api:onos-api',
-  '//lib:javax.ws.rs-api',
-  '//lib:jersey-server',
-  '//utils/rest:onlab-rest',
-  '//core/store/serializers:onos-core-serializers',
-  '//incubator/api:onos-incubator-api',
-  '//apps/routing-api:onos-apps-routing-api',
-  '//apps/intentsync:onos-apps-intentsync',
-]
-
-BUNDLES = [
-  '//apps/castor:onos-apps-castor',
-  '//apps/routing-api:onos-apps-routing-api',
-  '//apps/routing/common:onos-apps-routing-common',
-]
-
-TEST_DEPS = [
-  '//lib:TEST_ADAPTERS',
-  '//incubator/api:onos-incubator-api-tests',
-  '//apps/routing-api:onos-apps-routing-api-tests',
-]
-
-osgi_jar_with_tests (
-  deps = COMPILE_DEPS,
-  test_deps = TEST_DEPS,
-  web_context = '/onos/castor',
-  api_title = 'Castor',
-  api_version = '1.0',
-  api_description = 'REST API for Castor',
-  api_package = 'org.onosproject.castor',
-)
-
-onos_app (
-  title = 'Castor',
-  category = 'Utility',
-  url = 'http://onosproject.org',
-  included_bundles = BUNDLES,
-  description = 'Castor application',
-  required_apps = [ 'org.onosproject.intentsynchronizer' ],
-)
diff --git a/apps/cfm/BUCK b/apps/cfm/BUCK
deleted file mode 100644
index 17e3059..0000000
--- a/apps/cfm/BUCK
+++ /dev/null
@@ -1,13 +0,0 @@
-BUNDLES = [
-    '//apps/cfm/api:onos-apps-cfm-api',
-    '//apps/cfm/app:onos-apps-cfm-app',
-    '//apps/cfm/nbi:onos-apps-cfm-nbi',
-]
-
-onos_app (
-    title = 'Layer 2 Monitoring CFM Application',
-    category = 'Monitoring',
-    url = 'http://onosproject.org',
-    description = 'Layer 2 Monitoring Connectivity Fault Management App',
-    included_bundles = BUNDLES,
-)
diff --git a/apps/cfm/api/BUCK b/apps/cfm/api/BUCK
deleted file mode 100644
index ab6251e..0000000
--- a/apps/cfm/api/BUCK
+++ /dev/null
@@ -1,14 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    visibility = ['PUBLIC'],
-)
-
diff --git a/apps/cfm/app/BUCK b/apps/cfm/app/BUCK
deleted file mode 100644
index 93d3d70..0000000
--- a/apps/cfm/app/BUCK
+++ /dev/null
@@ -1,17 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//core/store/serializers:onos-core-serializers',
-    '//apps/cfm/api:onos-apps-cfm-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//utils/osgi:onlab-osgi-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
diff --git a/apps/cfm/nbi/BUCK b/apps/cfm/nbi/BUCK
deleted file mode 100644
index fd493f4..0000000
--- a/apps/cfm/nbi/BUCK
+++ /dev/null
@@ -1,25 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:javax.ws.rs-api',
-    '//utils/rest:onlab-rest',
-    '//lib:JACKSON',
-    '//cli:onos-cli',
-    '//lib:org.apache.karaf.shell.console',
-    '//apps/cfm/api:onos-apps-cfm-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_REST',
-    '//utils/osgi:onlab-osgi-tests',
-    '//web/api:onos-rest-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    web_context = '/onos/cfm',
-    api_title = 'L2 Monitoring CFM',
-    api_version = '1.0',
-    api_description = 'REST API for L2 Monitoring CFM',
-    api_package = 'org.onosproject.soam.rest',
-)
diff --git a/apps/cip/BUCK b/apps/cip/BUCK
deleted file mode 100644
index a7590d9..0000000
--- a/apps/cip/BUCK
+++ /dev/null
@@ -1,14 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    title = 'Cluster IP Alias',
-    category = 'Utility',
-    url = 'http://onosproject.org',
-    description = 'ONOS Cluster IP alias application.',
-)
diff --git a/apps/config/BUCK b/apps/config/BUCK
deleted file mode 100644
index dac73d6..0000000
--- a/apps/config/BUCK
+++ /dev/null
@@ -1,28 +0,0 @@
-APPS = [
-    'org.onosproject.yang',
-]
-
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//lib:org.apache.karaf.shell.console',
-    '//lib:onos-yang-model',
-    '//core/store/serializers:onos-core-serializers',
-    '//cli:onos-cli',
-    '//lib:commons-text',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    title = 'Dynamic Configuration',
-    category = 'Utility',
-    url = 'http://onosproject.org',
-    description = 'Provides means to track and distribute service and device configuration data ' +
-        'throughout the ONOS cluster. It works with the YANG runtime to ensure that the tracked ' +
-        'data adheres to the registered YANG models. Applications can traverse and access this ' +
-        'data which is organized in a logically unified tree.<p/>(Under development)',
-    required_apps = APPS,
-)
diff --git a/apps/configsync-netconf/BUCK b/apps/configsync-netconf/BUCK
deleted file mode 100644
index 2fc0e10..0000000
--- a/apps/configsync-netconf/BUCK
+++ /dev/null
@@ -1,31 +0,0 @@
-APPS = [
-    'org.onosproject.configsync',
-    'org.onosproject.yang',
-    'org.onosproject.netconf',
-]
-
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:onos-yang-model',
-    '//lib:onos-yang-runtime',
-    '//protocols/netconf/api:onos-protocols-netconf-api',
-    '//apps/config:onos-apps-config',
-    '//apps/configsync:onos-apps-configsync',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
-onos_app (
-    title = 'Dynamic Configuration Synchronizer for NETCONF',
-    category = 'Utility',
-    url = 'http://onosproject.org',
-    description = 'Application to support the Dynamic configuration service.',
-    required_apps = APPS,
-)
diff --git a/apps/configsync/BUCK b/apps/configsync/BUCK
deleted file mode 100644
index aa9caf1..0000000
--- a/apps/configsync/BUCK
+++ /dev/null
@@ -1,22 +0,0 @@
-APPS = [
-    # dynamic config
-    'org.onosproject.config',
-]
-
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//apps/config:onos-apps-config',
-    '//lib:onos-yang-model',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    title = 'Dynamic Configuration Synchronizer',
-    category = 'Utility',
-    url = 'http://onosproject.org',
-    description = 'Application to support the Dynamic configuration service.',
-    required_apps = APPS,
-)
diff --git a/apps/cord-support/BUCK b/apps/cord-support/BUCK
deleted file mode 100644
index 2caced2..0000000
--- a/apps/cord-support/BUCK
+++ /dev/null
@@ -1,29 +0,0 @@
-COMPILE_DEPS = [
-  '//lib:CORE_DEPS',
-  '//lib:JACKSON',
-  '//lib:javax.ws.rs-api',
-  '//utils/rest:onlab-rest',
-  '//core/store/serializers:onos-core-serializers',
-]
-
-TEST_DEPS = [
-  '//lib:TEST_REST',
-  '//lib:jersey-server',
-]
-
-osgi_jar_with_tests (
-  deps = COMPILE_DEPS,
-  test_deps = TEST_DEPS,
-  web_context = '/onos/cord-support',
-  api_title = 'CORD Support',
-  api_version = '1.0',
-  api_description = 'REST API for CORD inquiry to ONOS topology',
-  api_package = 'org.onosproject.cordsupport',
-)
-
-onos_app (
-  title = 'CORD Support',
-  category = 'Integration',
-  url = 'http://onosproject.org',
-  description = 'CORD Support application.',
-)
diff --git a/apps/cpman/api/BUCK b/apps/cpman/api/BUCK
deleted file mode 100644
index 4cb1ba0..0000000
--- a/apps/cpman/api/BUCK
+++ /dev/null
@@ -1,14 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//core/store/serializers:onos-core-serializers',
- ]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
diff --git a/apps/cpman/app/BUCK b/apps/cpman/app/BUCK
deleted file mode 100644
index ea4dda7..0000000
--- a/apps/cpman/app/BUCK
+++ /dev/null
@@ -1,48 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:METRICS',
-    '//lib:KRYO',
-    '//lib:org.apache.karaf.shell.console',
-    '//lib:javax.ws.rs-api',
-    '//lib:rrd4j',
-    '//apps/cpman/api:onos-apps-cpman-api',
-    '//utils/rest:onlab-rest',
-    '//cli:onos-cli',
-    '//core/store/serializers:onos-core-serializers',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_REST',
-    '//web/api:onos-rest-tests',
-]
-
-BUNDLES = [
-    '//apps/cpman/api:onos-apps-cpman-api',
-    ':onos-apps-cpman-app',
-]
-
-EXCLUDED_BUNDLES = [
-    '//lib:rrd4j',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    web_context = '/onos/cpman',
-    api_title = 'Control Plane Manager API',
-    api_version = '1.0',
-    api_description = 'REST API for Control Plane Manager',
-    api_package = 'org.onosproject.cpman.rest',
-)
-
-onos_app (
-    app_name = 'org.onosproject.cpman',
-    title = 'Control Plane Manager',
-    category = 'Monitoring',
-    url = 'http://onosproject.org',
-    description = 'Control Plane Management application for monitoring the health of the ONOS cluster',
-    included_bundles = BUNDLES,
-    excluded_bundles = EXCLUDED_BUNDLES,
-    required_apps = [ 'org.onosproject.openflow-message' ],
-)
diff --git a/apps/dhcp/BUCK b/apps/dhcp/BUCK
deleted file mode 100644
index fbbb126..0000000
--- a/apps/dhcp/BUCK
+++ /dev/null
@@ -1,11 +0,0 @@
-BUNDLES = [
-    '//apps/dhcp/api:onos-apps-dhcp-api',
-    '//apps/dhcp/app:onos-apps-dhcp-app',
-]
-
-onos_app (
-  title = 'DHCP Server',
-  category = 'Utility',
-  url = 'http://onosproject.org',
-  included_bundles = BUNDLES,
-)
diff --git a/apps/dhcp/api/BUCK b/apps/dhcp/api/BUCK
deleted file mode 100644
index ee55792..0000000
--- a/apps/dhcp/api/BUCK
+++ /dev/null
@@ -1,7 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
\ No newline at end of file
diff --git a/apps/dhcp/app/BUCK b/apps/dhcp/app/BUCK
deleted file mode 100644
index 7dd3a0e..0000000
--- a/apps/dhcp/app/BUCK
+++ /dev/null
@@ -1,25 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:KRYO',
-    '//lib:javax.ws.rs-api',
-    '//lib:org.apache.karaf.shell.console',
-    '//apps/dhcp/api:onos-apps-dhcp-api',
-    '//utils/rest:onlab-rest',
-    '//core/store/serializers:onos-core-serializers',
-    '//cli:onos-cli',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    web_context = '/onos/dhcp',
-    api_title = 'DHCP Server',
-    api_version = '1.0',
-    api_description = 'REST API for DHCP Server',
-    api_package = 'org.onosproject.dhcp.rest',
-)
diff --git a/apps/dhcprelay/BUCK b/apps/dhcprelay/BUCK
deleted file mode 100644
index a2bfb70..0000000
--- a/apps/dhcprelay/BUCK
+++ /dev/null
@@ -1,36 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:KRYO',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//core/store/serializers:onos-core-serializers',
-    '//apps/route-service/api:onos-apps-route-service-api',
-    '//apps/routing/fpm/api:onos-apps-routing-fpm-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST',
-    '//apps/route-service/api:onos-apps-route-service-api-tests',
-    '//core/api:onos-api-tests',
-]
-
-BUNDLES = [
-    '//apps/dhcprelay:onos-apps-dhcprelay',
-    '//apps/routing/fpm/api:onos-apps-routing-fpm-api',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
-onos_app (
-    app_name = 'org.onosproject.dhcprelay',
-    title = 'DHCP Relay Agent',
-    category = 'Utility',
-    url = 'http://onosproject.org',
-    description = 'DHCP Relay Agent Application.',
-    required_apps = [ 'org.onosproject.route-service' ],
-    included_bundles = BUNDLES,
-)
diff --git a/apps/drivermatrix/BUCK b/apps/drivermatrix/BUCK
deleted file mode 100644
index fa94a8b..0000000
--- a/apps/drivermatrix/BUCK
+++ /dev/null
@@ -1,21 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app (
-    title = 'Driver Support Matrix',
-    category = 'GUI',
-    url = 'http://onosproject.org',
-    description = 'Extends the ONOS GUI with a view that allows the operator to visualize ' +
-        'the currently loaded drivers.',
-)
-
diff --git a/apps/events/BUCK b/apps/events/BUCK
deleted file mode 100644
index 12e888b..0000000
--- a/apps/events/BUCK
+++ /dev/null
@@ -1,21 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app (
-    title = 'Event History',
-    category = 'Test Utility',
-    url = 'http://onosproject.org',
-    description = 'Allows recording and tracking of otherwise ephemeral ONOS core events. ' +
-        'It is primarily aimed for supporting various system tests and to assure that expected ' +
-        'events are raised and broadcast to applications that have requested them.',
-)
diff --git a/apps/evpn-route-service/BUCK b/apps/evpn-route-service/BUCK
deleted file mode 100644
index c571d1f..0000000
--- a/apps/evpn-route-service/BUCK
+++ /dev/null
@@ -1,11 +0,0 @@
-BUNDLES = [
-    '//apps/evpn-route-service/api:onos-apps-evpn-route-service-api',
-    '//apps/evpn-route-service/app:onos-apps-evpn-route-service-app',
-]
-
-onos_app (
-    title = 'EVPN Routing',
-    category = 'Traffic Engineering',
-    url = 'http://onosproject.org',
-    included_bundles = BUNDLES,
-)
diff --git a/apps/evpn-route-service/api/BUCK b/apps/evpn-route-service/api/BUCK
deleted file mode 100644
index 68eeacf..0000000
--- a/apps/evpn-route-service/api/BUCK
+++ /dev/null
@@ -1,13 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-]
-
-TEST_DEPS = [
-    '//lib:TEST',
-    '//core/api:onos-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/apps/evpn-route-service/app/BUCK b/apps/evpn-route-service/app/BUCK
deleted file mode 100644
index 0f7b609..0000000
--- a/apps/evpn-route-service/app/BUCK
+++ /dev/null
@@ -1,17 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//utils/misc:onlab-misc',
-    '//core/store/serializers:onos-core-serializers',
-    '//apps/evpn-route-service/api:onos-apps-evpn-route-service-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST',
-    '//core/api:onos-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/apps/evpnopenflow/BUCK b/apps/evpnopenflow/BUCK
deleted file mode 100644
index 47f66a5..0000000
--- a/apps/evpnopenflow/BUCK
+++ /dev/null
@@ -1,33 +0,0 @@
-COMPILE_DEPS = [
-  '//lib:CORE_DEPS',
-  '//lib:JACKSON',
-  '//lib:KRYO',
-  '//lib:org.apache.karaf.shell.console',
-  '//cli:onos-cli',
-  '//incubator/api:onos-incubator-api',
-  '//core/store/serializers:onos-core-serializers',
-  '//apps/gluon:onos-apps-gluon',
-  '//apps/vtn/vtnrsc:onos-apps-vtn-vtnrsc',
-  '//apps/route-service/api:onos-apps-route-service-api',
-  '//apps/evpn-route-service/api:onos-apps-evpn-route-service-api',
-]
-
-TEST_DEPS = [
-  '//lib:TEST_ADAPTERS',
-  '//lib:TEST',
-]
-
-osgi_jar_with_tests(
-  deps = COMPILE_DEPS,
-  test_deps = TEST_DEPS,
-)
-
-onos_app(
-  title = 'EVPN OpenFlow',
-  category = 'Traffic Engineering',
-  url = 'http://onosproject.org',
-  description = 'Ethernet VPN (EVPN) introduces a new model for Ethernet services delivery.' +
-  'It enables integrated Layer 2 service over Ethernet with multihoming.',
-  required_apps = [ 'org.onosproject.route-service', 'org.onosproject.evpn-route-service',
-                    'org.onosproject.gluon', 'org.onosproject.vtn' ],
-)
diff --git a/apps/faultmanagement/BUCK b/apps/faultmanagement/BUCK
deleted file mode 100644
index ce1199c..0000000
--- a/apps/faultmanagement/BUCK
+++ /dev/null
@@ -1,16 +0,0 @@
-BUNDLES = [
-    '//apps/faultmanagement/fmcli:onos-apps-faultmanagement-fmcli',
-    '//apps/faultmanagement/fmgui:onos-apps-faultmanagement-fmgui',
-    '//apps/faultmanagement/fmmgr:onos-apps-faultmanagement-fmmgr',
-    '//apps/faultmanagement/fmweb:onos-apps-faultmanagement-fmweb',
-]
-
-onos_app(
-    title = 'Fault Management',
-    origin = 'BTI Systems',
-    description = 'Provides managements of alarms. Stores retrieved alarms from devices. ' +
-        'Offers CLI, UI and REST integration to obtain and display them from ONOS.',
-    category = 'Monitoring',
-    url = 'https://wiki.onosproject.org/display/ONOS/Fault+Management',
-    included_bundles = BUNDLES,
-)
diff --git a/apps/faultmanagement/fmcli/BUCK b/apps/faultmanagement/fmcli/BUCK
deleted file mode 100644
index 37b1da6..0000000
--- a/apps/faultmanagement/fmcli/BUCK
+++ /dev/null
@@ -1,17 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:org.apache.karaf.shell.console',
-    '//incubator/api:onos-incubator-api',
-    '//cli:onos-cli',
-    '//utils/rest:onlab-rest',
-    '//lib:javax.ws.rs-api',
-    '//utils/osgi:onlab-osgi',
-    '//core/store/serializers:onos-core-serializers',
-    '//apps/faultmanagement/fmmgr:onos-apps-faultmanagement-fmmgr'
-]
-
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    import_packages = '*,org.onosproject.cli.net',
-)
diff --git a/apps/faultmanagement/fmgui/BUCK b/apps/faultmanagement/fmgui/BUCK
deleted file mode 100644
index 96c7835..0000000
--- a/apps/faultmanagement/fmgui/BUCK
+++ /dev/null
@@ -1,11 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:org.apache.karaf.shell.console',
-    '//incubator/api:onos-incubator-api',
-    '//cli:onos-cli',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
diff --git a/apps/faultmanagement/fmmgr/BUCK b/apps/faultmanagement/fmmgr/BUCK
deleted file mode 100644
index b9c59f8..0000000
--- a/apps/faultmanagement/fmmgr/BUCK
+++ /dev/null
@@ -1,17 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//incubator/api:onos-incubator-api',
-    '//core/store/serializers:onos-core-serializers',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//utils/osgi:onlab-osgi-tests',
-    '//incubator/api:onos-incubator-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/apps/faultmanagement/fmweb/BUCK b/apps/faultmanagement/fmweb/BUCK
deleted file mode 100644
index 3a20d8e..0000000
--- a/apps/faultmanagement/fmweb/BUCK
+++ /dev/null
@@ -1,26 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//incubator/api:onos-incubator-api',
-    '//utils/rest:onlab-rest',
-    '//lib:javax.ws.rs-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//lib:jersey-test-framework-core',
-    '//lib:jersey-test-framework-jetty',
-    '//utils/osgi:onlab-osgi-tests',
-    '//web/api:onos-rest-tests',
-    '//incubator/api:onos-incubator-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    web_context = '/onos/v1/fm',
-    api_title = 'Fault Management Rest API',
-    api_version = '1.0',
-    api_description = 'REST API for Fault Management',
-    api_package = 'org.onosproject.faultmanagement'
-)
diff --git a/apps/flowanalyzer/BUCK b/apps/flowanalyzer/BUCK
deleted file mode 100644
index 2f5461f..0000000
--- a/apps/flowanalyzer/BUCK
+++ /dev/null
@@ -1,23 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app (
-    title = 'Flow Space Analysis',
-    category = 'Monitoring',
-    url = 'http://onosproject.org',
-    description = 'Simple flow space analyzer.',
-)
diff --git a/apps/flowspec-api/BUCK b/apps/flowspec-api/BUCK
deleted file mode 100644
index 01efc7a..0000000
--- a/apps/flowspec-api/BUCK
+++ /dev/null
@@ -1,11 +0,0 @@
-BUNDLES = [
-    '//apps/flowspec-api/flowapi:onos-apps-flowspec-api-flowapi',
-
-]
-
-onos_app (
-  title = 'Flowspec API',
-  url = 'http://onosproject.org',
-  included_bundles = BUNDLES,
-  description = 'ONOS framework applications',
-)
diff --git a/apps/flowspec-api/flowapi/BUCK b/apps/flowspec-api/flowapi/BUCK
deleted file mode 100644
index 835b939..0000000
--- a/apps/flowspec-api/flowapi/BUCK
+++ /dev/null
@@ -1,18 +0,0 @@
-COMPILE_DEPS = [
-    '//utils/osgi:onlab-osgi',
-    '//utils/misc:onlab-misc',
-    '//lib:commons-io',
-    '//lib:com_google_guava_guava',
-    '//lib:kryo',
-    '//lib:slf4j-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    visibility = ['PUBLIC'],
-)
diff --git a/apps/fwd/BUCK b/apps/fwd/BUCK
deleted file mode 100644
index 6a877fd..0000000
--- a/apps/fwd/BUCK
+++ /dev/null
@@ -1,27 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//core/store/serializers:onos-core-serializers',
-    '//core/store/primitives:onos-core-primitives',
-    '//core/api:onos-api',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    title = 'Reactive Forwarding',
-    category = 'Traffic Engineering',
-    url = 'http://onosproject.org',
-    description = 'Provisions traffic between end-stations using hop-by-hop flow programming by ' +
-        'intercepting packets for which there are currently no matching flow objectives on the ' +
-        'data plane. The paths paved in this manner are short-lived, i.e. they expire a few ' +
-        'seconds after the flow on whose behalf they were programmed stops.\n\n' +
-        'The application relies on the ONOS path service to compute the shortest paths. ' +
-        'In the event of negative topology events (link loss, device disconnect, etc.), ' +
-        'the application will proactively invalidate any paths that it had programmed to lead ' +
-        'through the resources that are no longer available.',
-)
diff --git a/apps/gangliametrics/BUCK b/apps/gangliametrics/BUCK
deleted file mode 100644
index 3dc67f4..0000000
--- a/apps/gangliametrics/BUCK
+++ /dev/null
@@ -1,25 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:METRICS',
-    '//lib:gmetric4j',
-    '//lib:metrics-ganglia',
-    '//lib:remotetea-oncrpc',
-]
-
-EXCLUDED_BUNDLES = [
-    '//lib:gmetric4j',
-    '//lib:metrics-ganglia',
-    '//lib:remotetea-oncrpc',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    title = 'Ganglia Report and Query',
-    category = 'Monitoring',
-    url = 'http://onosproject.org',
-    description = 'Performance metric service reporter',
-    excluded_bundles = EXCLUDED_BUNDLES,
-)
diff --git a/apps/gluon/BUCK b/apps/gluon/BUCK
deleted file mode 100644
index a11d2b6..0000000
--- a/apps/gluon/BUCK
+++ /dev/null
@@ -1,37 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//cli:onos-cli',
-    '//lib:httpclient-osgi',
-    '//lib:httpcore-osgi',
-    '//lib:org.apache.httpcomponents.httpasyncclient-osgi',
-    '//lib:org.apache.httpcomponents.httpcore-nio',
-    '//lib:org.apache.karaf.shell.console',
-    '//lib:org.apache.karaf.jaas',
-
-]
-TEST_DEPS = [
-  '//lib:TEST',
-]
-
-BUNDLES = [
-  ':onos-apps-gluon',
-  '//lib:httpclient-osgi',
-  '//lib:httpcore-osgi',
-  '//lib:org.apache.httpcomponents.httpasyncclient-osgi',
-  '//lib:org.apache.httpcomponents.httpcore-nio',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
-onos_app (
-    app_name = 'org.onosproject.gluon',
-    title = 'Gluon Shim',
-    category = 'Monitoring',
-    url = 'http://onosproject.org',
-    included_bundles = BUNDLES,
-    description = 'To fetch data from Gluon Server over Http session.',
-)
diff --git a/apps/graphitemetrics/BUCK b/apps/graphitemetrics/BUCK
deleted file mode 100644
index d8e4441..0000000
--- a/apps/graphitemetrics/BUCK
+++ /dev/null
@@ -1,29 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:METRICS',
-    '//lib:gmetric4j',
-    '//lib:metrics-graphite',
-]
-
-EXCLUDED_BUNDLES = [
-    '//lib:gmetric4j',
-    '//lib:metrics-graphite',
-]
-
-TEST_DEPS = [
-    '//lib:TEST',
-    '//core/api:onos-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
-onos_app (
-    title = 'Graphite Report and Query',
-    category = 'Monitoring',
-    url = 'http://onosproject.org',
-    description = 'Performance metric service reporter and retriever for graphite',
-    excluded_bundles = EXCLUDED_BUNDLES,
-)
diff --git a/apps/imr/BUCK b/apps/imr/BUCK
deleted file mode 100644
index ffd56b2..0000000
--- a/apps/imr/BUCK
+++ /dev/null
@@ -1,12 +0,0 @@
-BUNDLES = [
-    '//apps/imr/api:onos-apps-imr-api',
-    '//apps/imr/app:onos-apps-imr-app',
-]
-
-onos_app (
-    title = 'Intent Monitoring and Rerouting',
-    category = 'Traffic Engineering',
-    url = 'http://onosproject.org', # link alla wiki su wiki.onosproject.org
-    description = 'Intent Monitoring and Rerouting application.',
-    included_bundles = BUNDLES,
-)
diff --git a/apps/imr/api/BUCK b/apps/imr/api/BUCK
deleted file mode 100644
index a6a3885..0000000
--- a/apps/imr/api/BUCK
+++ /dev/null
@@ -1,22 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:javax.ws.rs-api',
-    '//utils/rest:onlab-rest',
-    '//lib:jersey-server',
-    '//core/store/serializers:onos-core-serializers',
-    '//apps/imr/app:onos-apps-imr-app',
-    '//cli:onos-cli',
-    '//lib:org.apache.karaf.shell.console',
-]
-
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    web_context = '/onos/v1/imr',
-    api_title = 'IMR REST API',
-    api_version = '1.0',
-    api_description = 'REST API for IMR Application',
-    api_package = 'org.onosproject.imr.rest',
-)
-
diff --git a/apps/imr/app/BUCK b/apps/imr/app/BUCK
deleted file mode 100644
index 4f39ad8..0000000
--- a/apps/imr/app/BUCK
+++ /dev/null
@@ -1,17 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//core/store/dist:onos-core-dist',
-    '//core/store/serializers:onos-core-serializers',
-    '//incubator/api:onos-incubator-api',
-    '//lib:KRYO',
-    '//lib:JACKSON',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/apps/inbandtelemetry/api/BUCK b/apps/inbandtelemetry/api/BUCK
deleted file mode 100644
index 97564d9..0000000
--- a/apps/inbandtelemetry/api/BUCK
+++ /dev/null
@@ -1,14 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//core/store/serializers:onos-core-serializers',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/apps/inbandtelemetry/app/BUCK b/apps/inbandtelemetry/app/BUCK
deleted file mode 100644
index a5d7b9e..0000000
--- a/apps/inbandtelemetry/app/BUCK
+++ /dev/null
@@ -1,32 +0,0 @@
-BUNDLES = [
-    '//apps/inbandtelemetry/api:onos-apps-inbandtelemetry-api',
-    '//apps/inbandtelemetry/impl:onos-apps-inbandtelemetry-impl',
-    '//apps/inbandtelemetry/app:onos-apps-inbandtelemetry-app',
-]
-
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//lib:JACKSON',
-    '//core/store/serializers:onos-core-serializers',
-    '//apps/inbandtelemetry/api:onos-apps-inbandtelemetry-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_REST',
-]
-
-osgi_jar_with_tests(
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
-onos_app (
-    app_name = 'org.onosproject.inbandtelemetry.app',
-    title = 'P4 In-band Network Telemetry Sample Application',
-    category = 'Monitoring',
-    url = 'http://onosproject.org',
-    description = 'Provides managements of INT-capable devices. Specifies flows to enable INT and' +
-    'types of metadata to collect. Sets up INT-related information.',
-    included_bundles = BUNDLES,
-)
\ No newline at end of file
diff --git a/apps/inbandtelemetry/impl/BUCK b/apps/inbandtelemetry/impl/BUCK
deleted file mode 100644
index 9c87c92..0000000
--- a/apps/inbandtelemetry/impl/BUCK
+++ /dev/null
@@ -1,28 +0,0 @@
-BUNDLES = [
-    '//apps/inbandtelemetry/api:onos-apps-inbandtelemetry-api',
-    ':onos-apps-inbandtelemetry-impl'
-]
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//core/store/serializers:onos-core-serializers',
-    '//pipelines/basic:onos-pipelines-basic',
-    '//apps/inbandtelemetry/api:onos-apps-inbandtelemetry-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
-onos_app(
-    title = 'P4 In-band Network Telemetry Service',
-    description = 'Provides managements of INT-capable devices. Specifies flows to enable INT and' +
-    'types of metadata to collect. Sets up INT-related information.',
-    category = 'Monitoring',
-    included_bundles = BUNDLES,
-)
\ No newline at end of file
diff --git a/apps/influxdbmetrics/BUCK b/apps/influxdbmetrics/BUCK
deleted file mode 100644
index ed47e12..0000000
--- a/apps/influxdbmetrics/BUCK
+++ /dev/null
@@ -1,46 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:METRICS',
-    '//lib:org.apache.karaf.shell.console',
-    '//lib:metrics-influxdb',
-    '//lib:influxdb-java',
-    '//lib:commons-codec',
-    '//lib:retrofit',
-    '//lib:okhttp',
-    '//lib:logging-interceptor',
-    '//lib:okio',
-    '//lib:moshi',
-    '//lib:converter-moshi',
-    '//lib:com_google_code_gson_gson',
-    '//cli:onos-cli',
-]
-
-EXCLUDED_BUNDLES = [
-    '//lib:metrics-influxdb',
-    '//lib:influxdb-java',
-    '//lib:commons-codec',
-    '//lib:retrofit',
-    '//lib:okhttp',
-    '//lib:logging-interceptor',
-    '//lib:com_google_code_gson_gson',
-    '//lib:okio',
-    '//lib:moshi',
-    '//lib:converter-moshi',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
-onos_app (
-    title = 'InfluxDB Report and Query',
-    category = 'Monitoring',
-    url = 'http://onosproject.org',
-    description = 'Performance metric service reporter and retriever for influxDB.',
-    excluded_bundles = EXCLUDED_BUNDLES,
-)
diff --git a/apps/intentsync/BUCK b/apps/intentsync/BUCK
deleted file mode 100644
index 685cd74..0000000
--- a/apps/intentsync/BUCK
+++ /dev/null
@@ -1,22 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli'
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
-onos_app (
-  app_name = 'org.onosproject.intentsynchronizer',
-  title = 'Intent Synchronizer',
-  category = 'Utility',
-  url = 'http://onosproject.org',
-  description = 'Synchronizes intents to the intent framework from a single instance',
-)
diff --git a/apps/iptopology-api/BUCK b/apps/iptopology-api/BUCK
deleted file mode 100644
index 3cc9301..0000000
--- a/apps/iptopology-api/BUCK
+++ /dev/null
@@ -1,8 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
diff --git a/apps/kafka-integration/BUCK b/apps/kafka-integration/BUCK
deleted file mode 100644
index ecb06ff..0000000
--- a/apps/kafka-integration/BUCK
+++ /dev/null
@@ -1,17 +0,0 @@
-BUNDLES = [
-    '//lib:kafka-clients',
-    '//lib:protobuf-java-3.2.0',
-    '//incubator/protobuf/models:onos-incubator-protobuf-models',
-    '//incubator/protobuf/models:onos-incubator-protobuf-models-proto',
-    '//apps/kafka-integration/api:onos-apps-kafka-integration-api',
-    '//apps/kafka-integration/app:onos-apps-kafka-integration-app',
-]
-
-onos_app (
-  title = 'Kafka Integration',
-  category = 'Integration',
-  url = 'http://onosproject.org',
-  description = 'Provides integration of ONOS and Kafka message bus so that internal ONOS events ' +
-    'can be broadcast over the Kafka message bus to off-platform applications.',
-  included_bundles = BUNDLES,
-)
diff --git a/apps/kafka-integration/api/BUCK b/apps/kafka-integration/api/BUCK
deleted file mode 100644
index 4609fe9..0000000
--- a/apps/kafka-integration/api/BUCK
+++ /dev/null
@@ -1,8 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:kafka-clients',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
\ No newline at end of file
diff --git a/apps/kafka-integration/app/BUCK b/apps/kafka-integration/app/BUCK
deleted file mode 100644
index 46cc863..0000000
--- a/apps/kafka-integration/app/BUCK
+++ /dev/null
@@ -1,30 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:KRYO',
-    '//lib:javax.ws.rs-api',
-    '//lib:org.apache.karaf.shell.console',
-    '//apps/kafka-integration/api:onos-apps-kafka-integration-api',
-    '//utils/rest:onlab-rest',
-    '//core/store/serializers:onos-core-serializers',
-    '//cli:onos-cli',
-    '//lib:kafka-clients',
-    '//lib:protobuf-java-3.2.0',
-    '//lib:GRPC_1.3',
-    '//incubator/protobuf/models:onos-incubator-protobuf-models',
-    '//incubator/protobuf/models:onos-incubator-protobuf-models-proto',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    web_context = '/onos/kafka-integration',
-    api_title = 'Kafka Integration',
-    api_version = '1.0',
-    api_description = 'REST API for Kafka Integration',
-    api_package = 'org.onosproject.kafkaintegration.rest',
-)
diff --git a/apps/l3vpn/BUCK b/apps/l3vpn/BUCK
deleted file mode 100644
index d663a65..0000000
--- a/apps/l3vpn/BUCK
+++ /dev/null
@@ -1,46 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//models/l3vpn:onos-models-l3vpn',
-    '//apps/config:onos-apps-config',
-    '//core/store/serializers:onos-core-serializers',
-    '//lib:onos-yang-model',
-    '//lib:onos-yang-runtime',
-    '//apps/yang:onos-apps-yang',
-    '//apps/pce/app:onos-apps-pce-app',
-    '//incubator/api:onos-incubator-api',
-    '//models/common:onos-models-common',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//utils/osgi:onlab-osgi-tests',
-]
-
-APPS = [
-    'org.onosproject.yang',
-    'org.onosproject.yang-gui',
-    'org.onosproject.config',
-    'org.onosproject.restconf',
-    'org.onosproject.protocols.restconfserver',
-    'org.onosproject.netconf',
-    'org.onosproject.netconfsb',
-    'org.onosproject.models.common',
-    'org.onosproject.models.l3vpn',
-    'org.onosproject.bgpcep',
-]
-
-osgi_jar_with_tests(
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
-onos_app(
-    app_name = 'org.onosproject.l3vpn',
-    title = 'YANG L3VPN',
-    category = 'Traffic Engineering',
-    url = 'http://onosproject.org',
-    description = 'L3VPN YANG Application',
-    required_apps = APPS,
-)
-
diff --git a/apps/layout/BUCK b/apps/layout/BUCK
deleted file mode 100644
index a24c4ea..0000000
--- a/apps/layout/BUCK
+++ /dev/null
@@ -1,19 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:org.apache.karaf.shell.console',
-    '//core/common:onos-core-common',
-    '//cli:onos-cli',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    title = 'UI Auto-Layout',
-    category = 'GUI',
-    url = 'http://onosproject.org',
-    description = 'Automatically lays out the network topology using roles assigned to each ' +
-        'network element via the network configuration. Supports multiple layout variants.',
-)
diff --git a/apps/learning-switch/BUCK b/apps/learning-switch/BUCK
deleted file mode 100644
index 61399c3..0000000
--- a/apps/learning-switch/BUCK
+++ /dev/null
@@ -1,17 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:slf4j-api',
-    '//lib:org.apache.felix.scr.annotations',
-    '//lib:junit',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    title = 'Learning Switch Tutorial',
-    category = 'Tutorial',
-    url = 'http://onosproject.org',
-    description = 'Tutorial to help user create a learning switch',
-)
\ No newline at end of file
diff --git a/apps/linkprops/BUCK b/apps/linkprops/BUCK
deleted file mode 100644
index 324bd22..0000000
--- a/apps/linkprops/BUCK
+++ /dev/null
@@ -1,16 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//incubator/api:onos-incubator-api'
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-  title = 'Link Properties',
-  description = 'Shows more link properties',
-  category = 'Monitoring',
-  url = 'https://onosproject.org/',
-)
diff --git a/apps/mappingmanagement/BUCK b/apps/mappingmanagement/BUCK
deleted file mode 100644
index 529962b..0000000
--- a/apps/mappingmanagement/BUCK
+++ /dev/null
@@ -1,14 +0,0 @@
-BUNDLES = [
-    '//apps/mappingmanagement/api:onos-apps-mappingmanagement-api',
-    '//apps/mappingmanagement/cli:onos-apps-mappingmanagement-cli',
-    '//apps/mappingmanagement/mgr:onos-apps-mappingmanagement-mgr',
-    '//apps/mappingmanagement/web:onos-apps-mappingmanagement-web',
-]
-
-onos_app (
-  title = 'Mapping Management',
-  description = 'ONOS mapping management application',
-  category = 'Monitoring',
-  url = 'https://onosproject.org/',
-  included_bundles = BUNDLES,
-)
diff --git a/apps/mappingmanagement/api/BUCK b/apps/mappingmanagement/api/BUCK
deleted file mode 100644
index 0e5b8c5..0000000
--- a/apps/mappingmanagement/api/BUCK
+++ /dev/null
@@ -1,15 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:KRYO',
-    '//core/store/serializers:onos-core-serializers',
- ]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/apps/mappingmanagement/cli/BUCK b/apps/mappingmanagement/cli/BUCK
deleted file mode 100644
index 7fcbd24..0000000
--- a/apps/mappingmanagement/cli/BUCK
+++ /dev/null
@@ -1,18 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:org.apache.karaf.shell.console',
-    '//incubator/api:onos-incubator-api',
-    '//cli:onos-cli',
-    '//utils/rest:onlab-rest',
-    '//lib:javax.ws.rs-api',
-    '//utils/osgi:onlab-osgi',
-    '//apps/mappingmanagement/api:onos-apps-mappingmanagement-api',
-    '//core/store/serializers:onos-core-serializers',
-]
-
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    import_packages = '*,org.onosproject.cli.net',
-)
diff --git a/apps/mappingmanagement/mgr/BUCK b/apps/mappingmanagement/mgr/BUCK
deleted file mode 100644
index 5be1e7d..0000000
--- a/apps/mappingmanagement/mgr/BUCK
+++ /dev/null
@@ -1,16 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//apps/mappingmanagement/api:onos-apps-mappingmanagement-api',
-    '//core/store/serializers:onos-core-serializers',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//utils/osgi:onlab-osgi-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/apps/mappingmanagement/web/BUCK b/apps/mappingmanagement/web/BUCK
deleted file mode 100644
index 24eba23..0000000
--- a/apps/mappingmanagement/web/BUCK
+++ /dev/null
@@ -1,23 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//utils/rest:onlab-rest',
-    '//lib:javax.ws.rs-api',
-    '//apps/mappingmanagement/api:onos-apps-mappingmanagement-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_REST',
-    '//web/api:onos-rest-tests',
-    '//lib:minimal-json',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    web_context = '/onos/mappingmanagement',
-    api_title = 'Mapping Management API',
-    api_version = '1.0',
-    api_description = 'REST API for ONOS Mapping Management',
-    api_package = 'org.onosproject.mapping.web.api',
-)
diff --git a/apps/mcast/BUCK b/apps/mcast/BUCK
deleted file mode 100644
index 58f3dd7..0000000
--- a/apps/mcast/BUCK
+++ /dev/null
@@ -1,15 +0,0 @@
-BUNDLES = [
-    '//apps/mcast/cli:onos-apps-mcast-cli',
-    '//apps/mcast/impl:onos-apps-mcast-impl',
-    '//apps/mcast/web:onos-apps-mcast-web',
-    '//apps/mcast/api:onos-apps-mcast-api',
-]
-
-onos_app(
-    title = 'Multicast traffic control',
-    origin = 'ONF',
-    description = 'Provides handling of multicast traffic.',
-    category = 'Traffic Engineering',
-    url = 'https://wiki.onosproject.org/',
-    included_bundles = BUNDLES,
-)
diff --git a/apps/mcast/api/BUCK b/apps/mcast/api/BUCK
deleted file mode 100644
index db499cc..0000000
--- a/apps/mcast/api/BUCK
+++ /dev/null
@@ -1,15 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//core/store/serializers:onos-core-serializers',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//utils/osgi:onlab-osgi-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/apps/mcast/cli/BUCK b/apps/mcast/cli/BUCK
deleted file mode 100644
index df9991a..0000000
--- a/apps/mcast/cli/BUCK
+++ /dev/null
@@ -1,16 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//utils/rest:onlab-rest',
-    '//lib:javax.ws.rs-api',
-    '//utils/osgi:onlab-osgi',
-    '//core/store/serializers:onos-core-serializers',
-    '//apps/mcast/api:onos-apps-mcast-api'
-]
-
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    import_packages = '*,org.onosproject.cli.net',
-)
diff --git a/apps/mcast/impl/BUCK b/apps/mcast/impl/BUCK
deleted file mode 100644
index c3d67ff..0000000
--- a/apps/mcast/impl/BUCK
+++ /dev/null
@@ -1,16 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//core/store/serializers:onos-core-serializers',
-    '//apps/mcast/api:onos-apps-mcast-api'
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//utils/osgi:onlab-osgi-tests',
-]
-
-osgi_jar_with_tests(
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/apps/mcast/web/BUCK b/apps/mcast/web/BUCK
deleted file mode 100644
index 7fdc057..0000000
--- a/apps/mcast/web/BUCK
+++ /dev/null
@@ -1,25 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//utils/rest:onlab-rest',
-    '//lib:javax.ws.rs-api',
-    '//apps/mcast/api:onos-apps-mcast-api'
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//lib:jersey-test-framework-core',
-    '//lib:jersey-test-framework-jetty',
-    '//utils/osgi:onlab-osgi-tests',
-    '//web/api:onos-rest-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    web_context = '/onos/mcast',
-    api_title = 'Multicast API',
-    api_version = '1.0',
-    api_description = 'REST API for Multicast',
-    api_package = 'org.onosproject.mcast.web',
-)
diff --git a/apps/metrics/BUCK b/apps/metrics/BUCK
deleted file mode 100644
index 81ee918..0000000
--- a/apps/metrics/BUCK
+++ /dev/null
@@ -1,20 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:METRICS',
-    '//lib:org.apache.karaf.shell.console',
-    '//lib:javax.ws.rs-api',
-    '//utils/rest:onlab-rest',
-    '//cli:onos-cli',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    title = 'Topology &amp; Intent Metrics',
-    category = 'Monitoring',
-    url = 'http://onosproject.org',
-    description = 'Monitoring of various metrics related to topology mutation and intent programming.',
-)
diff --git a/apps/mfwd/BUCK b/apps/mfwd/BUCK
deleted file mode 100644
index a2ed151..0000000
--- a/apps/mfwd/BUCK
+++ /dev/null
@@ -1,14 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    title = 'Multicast Forwarding',
-    category = 'Traffic Engineering',
-    url = 'http://onosproject.org',
-    description = 'Multicast forwarding application.',
-)
diff --git a/apps/mlb/BUCK b/apps/mlb/BUCK
deleted file mode 100644
index eec3405..0000000
--- a/apps/mlb/BUCK
+++ /dev/null
@@ -1,16 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    title = 'Mastership Load Balancer',
-    category = 'Utility',
-    url = 'http://onosproject.org',
-    description = 'Monitors distribution of mastership of network devices between the ONOS cluster ' +
-        'nodes and periodically re-assigns the mastership to achieve balanced distribution when ' +
-        'necessary and possible.',
-)
diff --git a/apps/mobility/BUCK b/apps/mobility/BUCK
deleted file mode 100644
index 38b0228..0000000
--- a/apps/mobility/BUCK
+++ /dev/null
@@ -1,14 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    title = 'Host Mobility',
-    category = 'Utility',
-    url = 'http://onosproject.org',
-    description = 'Host mobility application.',
-)
diff --git a/apps/netconf/client/BUCK b/apps/netconf/client/BUCK
deleted file mode 100644
index 035b0b5..0000000
--- a/apps/netconf/client/BUCK
+++ /dev/null
@@ -1,29 +0,0 @@
-APPS = [
-    'org.onosproject.yang',
-    'org.onosproject.config',
-    'org.onosproject.netconf',
-]
-
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:onos-yang-model',
-    '//lib:onos-yang-runtime',
-    '//apps/config:onos-apps-config',
-    '//utils/misc:onlab-misc',
-    '//protocols/netconf/api:onos-protocols-netconf-api',
-    '//utils/osgi:onlab-osgi',
-]
-
-osgi_jar_with_tests(
-    deps = COMPILE_DEPS,
-)
-
-onos_app(
-    app_name = 'org.onosproject.netconfsb',
-    title = 'NETCONF Protocol Subsystem',
-    category = 'Protocol',
-    url = 'http://onosproject.org',
-    description = 'Exposes APIs to establish NETCONF connections to devices and to send and receive ' +
-        'messages and asynchronous notifications over such connection.',
-    required_apps = APPS,
-)
diff --git a/apps/network-troubleshoot/BUCK b/apps/network-troubleshoot/BUCK
deleted file mode 100644
index 66b12f4..0000000
--- a/apps/network-troubleshoot/BUCK
+++ /dev/null
@@ -1,13 +0,0 @@
-BUNDLES = [
-  '//apps/network-troubleshoot/api:onos-apps-network-troubleshoot-api',
-  '//apps/network-troubleshoot/cli:onos-apps-network-troubleshoot-cli',
-  '//apps/network-troubleshoot/core:onos-apps-network-troubleshoot-core',
-]
-
-onos_app (
-  title = 'Network Troubleshooter',
-  description = 'Provides various network troubleshooting utilities.',
-  category = 'Utility',
-  url = 'https://wiki.onosproject.org/display/ONOS/Network+TroubleShooting+Module',
-  included_bundles = BUNDLES,
-)
diff --git a/apps/network-troubleshoot/api/BUCK b/apps/network-troubleshoot/api/BUCK
deleted file mode 100644
index b6fdc64..0000000
--- a/apps/network-troubleshoot/api/BUCK
+++ /dev/null
@@ -1,12 +0,0 @@
-COMPILE_DEPS = [
-  '//lib:CORE_DEPS',
-]
-
-TEST_DEPS = [
-  '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-  deps = COMPILE_DEPS,
-  test_deps = TEST_DEPS,
-)
diff --git a/apps/network-troubleshoot/cli/BUCK b/apps/network-troubleshoot/cli/BUCK
deleted file mode 100644
index 8f3fe1e..0000000
--- a/apps/network-troubleshoot/cli/BUCK
+++ /dev/null
@@ -1,18 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-#     '//lib:org.apache.karaf.shell.console',
-#     '//incubator/api:onos-incubator-api',
-#     '//cli:onos-cli',
-#     '//utils/rest:onlab-rest',
-#     '//lib:javax.ws.rs-api',
-#     '//utils/osgi:onlab-osgi',
-#     '//core/store/serializers:onos-core-serializers',
-    '//apps/network-troubleshoot/api:onos-apps-network-troubleshoot-api',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    import_packages = '*,org.onosproject.cli.net',
-)
diff --git a/apps/network-troubleshoot/core/BUCK b/apps/network-troubleshoot/core/BUCK
deleted file mode 100644
index 1174519..0000000
--- a/apps/network-troubleshoot/core/BUCK
+++ /dev/null
@@ -1,17 +0,0 @@
-COMPILE_DEPS = [
-  '//lib:CORE_DEPS',
-  '//incubator/api:onos-incubator-api',
-#   '//core/store/serializers:onos-core-serializers',
-  '//apps/network-troubleshoot/api:onos-apps-network-troubleshoot-api',
-]
-
-TEST_DEPS = [
-  '//lib:TEST_ADAPTERS',
-  '//utils/osgi:onlab-osgi-tests',
-  '//incubator/api:onos-incubator-api-tests',
-]
-
-osgi_jar_with_tests (
-  deps = COMPILE_DEPS,
-  test_deps = TEST_DEPS,
-)
diff --git a/apps/newoptical/BUCK b/apps/newoptical/BUCK
deleted file mode 100644
index 8a1345b..0000000
--- a/apps/newoptical/BUCK
+++ /dev/null
@@ -1,27 +0,0 @@
-COMPILE_DEPS = [
-  '//lib:CORE_DEPS',
-  '//lib:JACKSON',
-  '//lib:KRYO',
-  '//core/store/serializers:onos-core-serializers',
-  '//lib:org.apache.karaf.shell.console',
-  '//cli:onos-cli',
-  '//apps/optical-model:onos-apps-optical-model',
-]
-
-TEST_DEPS = [
-  '//lib:TEST_ADAPTERS',
-  '//utils/osgi:onlab-osgi-tests',
-]
-
-osgi_jar_with_tests (
-  deps = COMPILE_DEPS,
-  test_deps = TEST_DEPS,
-)
-
-onos_app (
-  title = 'Packet/Optical Use-Case',
-  category = 'Optical',
-  url = 'http://onosproject.org',
-  description = 'Packet/Optical use-case application.',
-  required_apps = [ 'org.onosproject.optical-model' ],
-)
diff --git a/apps/nodemetrics/BUCK b/apps/nodemetrics/BUCK
deleted file mode 100644
index de9c07e..0000000
--- a/apps/nodemetrics/BUCK
+++ /dev/null
@@ -1,17 +0,0 @@
-BUNDLES = [
-    '//apps/nodemetrics/api:onos-apps-nodemetrics-api',
-    '//apps/nodemetrics/mgr:onos-apps-nodemetrics-mgr',
-]
-
-onos_app(
-    app_name = 'org.onosproject.nodemetrics',
-    title = 'Controller Monitor Application',
-    description = '1.Nodemetrics Application uses, sigar library to fetch Controller information.'+
-    '2. The Sigar library uses Native libraries and currently It supports Windows, Linux and MacOs platform.'+
-    '3. The Native libraries like .so, .dll and .dylib are packed as jar along with sigar libs.'+
-    '4. If the Native libraries are corrupted because of any reason,'+
-    'so, the controller is vulnerable to crash of the entire JVM',
-    category = 'Monitoring',
-    url = 'http://samsung.com',
-    included_bundles = BUNDLES
-)
\ No newline at end of file
diff --git a/apps/nodemetrics/api/BUCK b/apps/nodemetrics/api/BUCK
deleted file mode 100644
index 42b99a6..0000000
--- a/apps/nodemetrics/api/BUCK
+++ /dev/null
@@ -1,9 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:sigar',
-
-]
-
-osgi_jar_with_tests(
-    deps = COMPILE_DEPS,
-)
\ No newline at end of file
diff --git a/apps/nodemetrics/mgr/BUCK b/apps/nodemetrics/mgr/BUCK
deleted file mode 100644
index 35d3657..0000000
--- a/apps/nodemetrics/mgr/BUCK
+++ /dev/null
@@ -1,13 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:sigar',
-    '//lib:org.apache.karaf.shell.console',
-    '//apps/nodemetrics/api:onos-apps-nodemetrics-api',
-    '//core/store/serializers:onos-core-serializers',
-    '//cli:onos-cli',
-    '//lib:KRYO',
-]
-
-osgi_jar_with_tests(
-    deps = COMPILE_DEPS,
-)
\ No newline at end of file
diff --git a/apps/odtn/api/BUCK b/apps/odtn/api/BUCK
deleted file mode 100644
index 23ac161..0000000
--- a/apps/odtn/api/BUCK
+++ /dev/null
@@ -1,35 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:onos-yang-model',
-    '//lib:onos-yang-runtime',
-    '//models/tapi:onos-models-tapi',
-    '//models/openconfig:onos-models-openconfig',
-    '//apps/yang:onos-apps-yang',
-    '//apps/config:onos-apps-config',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
-APPS = [
-    'org.onosproject.yang',
-    'org.onosproject.models.tapi',
-    'org.onosproject.models.openconfig',
-]
-
-# TODO probably bucklet, etc. should escape title & description
-onos_app (
-    app_name = 'org.onosproject.odtn-api',
-    title = 'ODTN API &amp; Utilities Application',
-    category = 'Traffic Engineering',
-    url = 'http://onosproject.org',
-    description = 'ODTN API &amp; Utilities Application',
-    required_apps = APPS,
-)
diff --git a/apps/odtn/service/BUCK b/apps/odtn/service/BUCK
deleted file mode 100644
index e85e574..0000000
--- a/apps/odtn/service/BUCK
+++ /dev/null
@@ -1,50 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//apps/odtn/api:onos-apps-odtn-api',
-    '//lib:onos-yang-model',
-    '//lib:onos-yang-runtime',
-    '//apps/config:onos-apps-config',
-    '//models/tapi:onos-models-tapi',
-    '//models/openconfig:onos-models-openconfig',
-    '//apps/yang:onos-apps-yang',
-    '//incubator/api:onos-incubator-api',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//lib:JACKSON',
-    '//protocols/netconf/api:onos-protocols-netconf-api'
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
-APPS = [
-    'org.onosproject.yang',
-    'org.onosproject.config',
-    'org.onosproject.configsync',
-    'org.onosproject.models.tapi',
-    'org.onosproject.models.openconfig',
-    'org.onosproject.odtn-api',
-
-    # strictly speaking following are not mandatory
-    'org.onosproject.restconf',
-    'org.onosproject.drivers.netconf',# will need if using TemplateManager
-    'org.onosproject.drivers.odtn-driver',
-    'org.onosproject.netconf',
-    'org.onosproject.configsync-netconf',
-    'org.onosproject.protocols.restconfserver',
-]
-
-onos_app (
-    app_name = 'org.onosproject.odtn-service',
-    title = 'ODTN Service Application',
-    category = 'Traffic Engineering',
-    url = 'http://onosproject.org',
-    description = 'ODTN Service Application',
-    required_apps = APPS,
-)
diff --git a/apps/ofagent/BUCK b/apps/ofagent/BUCK
deleted file mode 100644
index 1283bad..0000000
--- a/apps/ofagent/BUCK
+++ /dev/null
@@ -1,54 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-    '//lib:JACKSON',
-    '//lib:KRYO',
-    '//core/store/serializers:onos-core-serializers',
-    '//core/common:onos-core-common',
-    '//incubator/api:onos-incubator-api',
-    '//cli:onos-cli',
-    '//lib:org.apache.karaf.shell.console',
-    '//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',
-    '//providers/openflow/flow:onos-providers-openflow-flow',
-    '//protocols/openflow/api:onos-protocols-openflow-api',
-]
-
-BUNDLES = [
-    '//apps/ofagent:onos-apps-ofagent',
-    '//providers/openflow/flow:onos-providers-openflow-flow',
-    '//protocols/openflow/api:onos-protocols-openflow-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-    '//core/common:onos-core-common-tests',
-    '//lib:TEST_REST',
-    '//lib:jersey-server',
-    '//web/api:onos-rest-tests',
-    '//lib:minimal-json',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    web_context = '/onos/ofagent',
-    api_title = 'OFAgent API',
-    api_version = '1.0',
-    api_description = 'REST API for OFAgent',
-    api_package = 'org.onosproject.ofagent.rest',
-)
-
-onos_app (
-    title = 'OpenFlow Agent',
-    category = 'Traffic Engineering',
-    url = 'http://onosproject.org',
-    included_bundles = BUNDLES,
-    description = 'OpenFlow agent application for virtualization subsystem.',
-)
diff --git a/apps/openroadm/BUCK b/apps/openroadm/BUCK
deleted file mode 100644
index d529c3b..0000000
--- a/apps/openroadm/BUCK
+++ /dev/null
@@ -1,25 +0,0 @@
-APPS = [
-  'org.onosproject.yang',
-  'org.onosproject.yang-gui',
-  'org.onosproject.config',
-  'org.onosproject.restconf',
-  'org.onosproject.protocols.restconfserver',
-  'org.onosproject.netconf',
-  'org.onosproject.netconfsb',
-  'org.onosproject.models.openroadm',
-]
-
-BUNDLES = [
-  '//apps/openroadm/service:onos-apps-openroadm-service',
-  '//apps/openroadm/network:onos-apps-openroadm-network',
-]
-
-onos_app(
-  app_name = 'org.onosproject.openroadm',
-  title = 'Open ROADM',
-  category = 'Optical',
-  url = 'http://onosproject.org',
-  included_bundles = BUNDLES,
-  description = 'Open ROADM Application',
-  required_apps = APPS,
-)
diff --git a/apps/openroadm/network/BUCK b/apps/openroadm/network/BUCK
deleted file mode 100644
index 7e8d0b2..0000000
--- a/apps/openroadm/network/BUCK
+++ /dev/null
@@ -1,9 +0,0 @@
-COMPILE_DEPS = [
-  '//lib:CORE_DEPS',
-  '//models/openroadm:onos-models-openroadm',
-  '//core/store/serializers:onos-core-serializers',
-] + YANG_TOOLS
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
diff --git a/apps/openroadm/service/BUCK b/apps/openroadm/service/BUCK
deleted file mode 100644
index 7e8d0b2..0000000
--- a/apps/openroadm/service/BUCK
+++ /dev/null
@@ -1,9 +0,0 @@
-COMPILE_DEPS = [
-  '//lib:CORE_DEPS',
-  '//models/openroadm:onos-models-openroadm',
-  '//core/store/serializers:onos-core-serializers',
-] + YANG_TOOLS
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
diff --git a/apps/openstacknetworking/BUCK b/apps/openstacknetworking/BUCK
deleted file mode 100644
index 01778ea..0000000
--- a/apps/openstacknetworking/BUCK
+++ /dev/null
@@ -1,19 +0,0 @@
-BUNDLES = [
-    '//apps/openstacknetworking/api:onos-apps-openstacknetworking-api',
-    '//apps/openstacknetworking/app:onos-apps-openstacknetworking-app',
-    '//lib:httpclient-osgi',
-    '//lib:httpcore-osgi',
-    '//lib:commons-codec',
-    '//lib:sshd-core',
-]
-
-onos_app (
-    title = 'OpenStack Networking Application',
-    category = 'Integration',
-    url = 'https://wiki.onosproject.org/display/ONOS/SONA%3A+DC+Network+Virtualization',
-    included_bundles = BUNDLES,
-    description = 'SONA Openstack Networking Application.',
-    required_apps = [
-        'org.onosproject.openstacknode'
-    ]
-)
diff --git a/apps/openstacknetworking/api/BUCK b/apps/openstacknetworking/api/BUCK
deleted file mode 100644
index 61b333d..0000000
--- a/apps/openstacknetworking/api/BUCK
+++ /dev/null
@@ -1,13 +0,0 @@
-include_defs('//apps/openstacknode/openstack4j.bucklet')
-
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:openstack4j-core',
-    "//apps/openstacknode/api:onos-apps-openstacknode-api",
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-
-    import_packages = INCLUDE_PACKAGES + ',' + EXCLUDE_PACKAGES  + ',' + ALL_PACKAGES,
-)
diff --git a/apps/openstacknetworking/app/BUCK b/apps/openstacknetworking/app/BUCK
deleted file mode 100644
index a227e74..0000000
--- a/apps/openstacknetworking/app/BUCK
+++ /dev/null
@@ -1,55 +0,0 @@
-include_defs('//apps/openstacknode/openstack4j.bucklet')
-
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:KRYO',
-    '//core/store/serializers:onos-core-serializers',
-    '//lib:org.apache.karaf.shell.console',
-    '//lib:javax.ws.rs-api',
-    '//utils/rest:onlab-rest',
-    '//cli:onos-cli',
-    '//apps/openstacknode/api:onos-apps-openstacknode-api',
-    '//apps/openstacknetworking/api:onos-apps-openstacknetworking-api',
-    '//protocols/ovsdb/api:onos-protocols-ovsdb-api',
-    '//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc',
-    '//lib:httpclient-osgi',
-    '//lib:httpcore-osgi',
-    '//lib:commons-codec',
-    '//lib:openstack4j-core',
-    '//lib:openstack4j-http-connector',
-    '//lib:openstack4j-httpclient',
-    '//lib:json-patch',
-    '//lib:jackson-coreutils',
-    '//lib:btf',
-    '//lib:msg-simple',
-    '//lib:snakeyaml',
-    '//lib:sshd-core',
-]
-
-EXCLUDED_BUNDLES = [
-  '//lib:sshd-core',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-    '//core/common:onos-core-common-tests',
-    '//web/api:onos-rest-tests',
-    '//lib:TEST_REST',
-    '//apps/openstacknode/api:onos-apps-openstacknode-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    web_context = '/onos/openstacknetworking',
-    api_title = 'OpenStack Networking API',
-    api_version = '1.0',
-    api_description = 'REST API for OpenStack Networking',
-    api_package = 'org.onosproject.openstacknetworking.web',
-
-    # dependency embedding
-    import_packages = INCLUDE_PACKAGES + ',' + EXCLUDE_PACKAGES  + ',' + ALL_PACKAGES,
-    bundle_classpath = get_openstack4j_deps_path() + get_jackson_deps_path()
-)
\ No newline at end of file
diff --git a/apps/openstacknetworkingui/BUCK b/apps/openstacknetworkingui/BUCK
deleted file mode 100644
index 2f2fe68..0000000
--- a/apps/openstacknetworkingui/BUCK
+++ /dev/null
@@ -1,42 +0,0 @@
-COMPILE_DEPS = [
-  '//lib:CORE_DEPS',
-  '//lib:JACKSON',
-  '//core/store/serializers:onos-core-serializers',
-  '//lib:javax.ws.rs-api',
-  '//utils/rest:onlab-rest',
-  '//lib:jersey-client',
-  '//cli:onos-cli',
-  '//lib:org.apache.karaf.shell.console',
-  '//lib:sshd-core',
-  '//apps/openstacknode/api:onos-apps-openstacknode-api',
-  '//apps/openstacktelemetry/api:onos-apps-openstacktelemetry-api',
-  '//apps/openstacknetworking/api:onos-apps-openstacknetworking-api',
-  '//apps/openstacknetworking/app:onos-apps-openstacknetworking-app',
-]
-
-EXCLUDED_BUNDLES = [
-  '//lib:sshd-core',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-    '//core/common:onos-core-common-tests',
-]
-
-osgi_jar_with_tests (
-  deps = COMPILE_DEPS,
-  test_deps = TEST_DEPS,
-)
-
-onos_app (
-  app_name = 'org.onosproject.openstacknetworkingui',
-  title = 'Openstack Networking UI',
-  category = 'GUI',
-  url = 'http://onosproject.org',
-  description = 'Openstack Networking UI Service',
-  excluded_bundles = EXCLUDED_BUNDLES,
-  required_apps = [
-      'org.onosproject.openstacknetworking',
-  ]
-)
diff --git a/apps/openstacknode/BUCK b/apps/openstacknode/BUCK
deleted file mode 100644
index 6abc695..0000000
--- a/apps/openstacknode/BUCK
+++ /dev/null
@@ -1,13 +0,0 @@
-BUNDLES = [
-    '//apps/openstacknode/api:onos-apps-openstacknode-api',
-    '//apps/openstacknode/app:onos-apps-openstacknode-app',
-]
-
-onos_app (
-    title = 'OpenStack Node Bootstrap',
-    category = 'Integration',
-    url = 'http://onosproject.org',
-    included_bundles = BUNDLES,
-    description = 'SONA Openstack Node Bootstrap Application.',
-    required_apps = [ 'org.onosproject.ovsdb-base', 'org.onosproject.drivers.ovsdb' ]
-)
diff --git a/apps/openstacknode/api/BUCK b/apps/openstacknode/api/BUCK
deleted file mode 100644
index 02cd049..0000000
--- a/apps/openstacknode/api/BUCK
+++ /dev/null
@@ -1,23 +0,0 @@
-include_defs('//apps/openstacknode/openstack4j.bucklet')
-
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//protocols/ovsdb/api:onos-protocols-ovsdb-api',
-    '//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc',
-    '//core/store/serializers:onos-core-serializers',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-    '//core/common:onos-core-common-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-
-    import_packages = INCLUDE_PACKAGES + ',' + EXCLUDE_PACKAGES  + ',' + ALL_PACKAGES,
-)
diff --git a/apps/openstacknode/app/BUCK b/apps/openstacknode/app/BUCK
deleted file mode 100644
index d670b42..0000000
--- a/apps/openstacknode/app/BUCK
+++ /dev/null
@@ -1,47 +0,0 @@
-include_defs('//apps/openstacknode/openstack4j.bucklet')
-
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:KRYO',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//lib:javax.ws.rs-api',
-    '//utils/rest:onlab-rest',
-    '//protocols/ovsdb/api:onos-protocols-ovsdb-api',
-    '//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc',
-    '//core/store/serializers:onos-core-serializers',
-    '//apps/openstacknode/api:onos-apps-openstacknode-api',
-    '//lib:openstack4j-core',
-    '//lib:openstack4j-http-connector',
-    '//lib:openstack4j-httpclient',
-    '//lib:json-patch',
-    '//lib:jackson-coreutils',
-    '//lib:btf',
-    '//lib:msg-simple',
-    '//lib:snakeyaml',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-    '//apps/openstacknode/api:onos-apps-openstacknode-api-tests',
-    '//core/common:onos-core-common-tests',
-    '//web/api:onos-rest-tests',
-    '//lib:TEST_REST',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    web_context = '/onos/openstacknode',
-    api_title = 'OpenStack Node API',
-    api_version = '1.0',
-    api_description = 'REST API for OpenStack Node',
-    api_package = 'org.onosproject.openstacknode.web',
-
-    # dependency embedding
-    import_packages = INCLUDE_PACKAGES + ',' + EXCLUDE_PACKAGES  + ',' + ALL_PACKAGES,
-    bundle_classpath = get_openstack4j_deps_path() + get_jackson_deps_path()
-)
-
diff --git a/apps/openstacknode/openstack4j.bucklet b/apps/openstacknode/openstack4j.bucklet
deleted file mode 100644
index d9e16f4..0000000
--- a/apps/openstacknode/openstack4j.bucklet
+++ /dev/null
@@ -1,41 +0,0 @@
-INCLUDE_PACKAGES = 'com.google.common.net,com.google.common.io,com.fasterxml.jackson.annotation'
-EXCLUDE_PACKAGES = '!org.openstack4j,!org.openstack4j.*,!org.openstack4j.model.network'
-ALL_PACKAGES = '*'
-
-def get_openstack4j_deps_path():
-
-    WEB_INF_PATH = 'WEB-INF/classes/deps/'
-    OPENSTACK4J_DEPS = [
-        'openstack4j-core',
-        'openstack4j-http-connector',
-        'openstack4j-httpclient',
-    ]
-    OPENSTACK4J_VER = '3.1.0'
-
-    openstack_deps_path = ''
-
-    for dep in OPENSTACK4J_DEPS:
-        name = dep + '-' + OPENSTACK4J_VER + '.jar'
-        path = WEB_INF_PATH + name
-        openstack_deps_path = openstack_deps_path + path + ','
-
-    return openstack_deps_path
-
-def get_jackson_deps_path():
-
-    WEB_INF_PATH = 'WEB-INF/classes/deps/'
-    JACKSON_DEPS_WITH_VER = [
-        'json-patch-1.9.jar',
-        'jackson-coreutils-1.6.jar',
-        'msg-simple-1.1.jar',
-        'btf-1.2.jar',
-        'snakeyaml-1.15.jar'
-    ]
-
-    jackson_deps_path = ''
-
-    for dep in JACKSON_DEPS_WITH_VER:
-        path = WEB_INF_PATH + dep
-        jackson_deps_path = jackson_deps_path + path + ','
-
-    return jackson_deps_path
\ No newline at end of file
diff --git a/apps/openstacktelemetry/BUCK b/apps/openstacktelemetry/BUCK
deleted file mode 100644
index 3636bbb..0000000
--- a/apps/openstacktelemetry/BUCK
+++ /dev/null
@@ -1,43 +0,0 @@
-GRPC_VER = '1.3.1'
-
-BUNDLES = [
-    '//lib:kafka-clients',
-    '//lib:influxdb-java',
-    '//lib:simpleclient',
-    '//lib:simpleclient_common',
-    '//lib:simpleclient_hotspot',
-    '//lib:simpleclient_servlet',
-    '//lib:jetty-http',
-    '//lib:jetty-servlet',
-    '//lib:jetty-server',
-    '//lib:jetty-security',
-    '//lib:jetty-util',
-    '//lib:jetty-io',
-    '//lib:servlet-api',
-    '//lib:javax.ws.rs-api',
-    '//lib:jetty-websocket',
-    '//lib:commons-codec',
-    '//lib:retrofit',
-    '//lib:okhttp',
-    '//lib:logging-interceptor',
-    '//lib:com_google_code_gson_gson',
-    '//lib:okio',
-    '//lib:moshi',
-    '//lib:converter-moshi',
-    '//lib:protobuf-java-3.2.0',
-    '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER,
-    '//lib:google-instrumentation-0.3.0',
-    '//apps/openstacktelemetry/api:onos-apps-openstacktelemetry-api',
-    '//apps/openstacktelemetry/app:onos-apps-openstacktelemetry-app',
-]
-
-onos_app (
-    title = 'OpenStack Telemetry Application',
-    category = 'Integration',
-    url = 'https://wiki.onosproject.org/display/ONOS/SONA%3A+DC+Network+Virtualization',
-    included_bundles = BUNDLES,
-    description = 'SONA Openstack Telemetry Application.',
-    required_apps = [
-        'org.onosproject.openstacknetworking'
-    ]
-)
diff --git a/apps/openstacktelemetry/api/BUCK b/apps/openstacktelemetry/api/BUCK
deleted file mode 100644
index bd27fb6..0000000
--- a/apps/openstacktelemetry/api/BUCK
+++ /dev/null
@@ -1,18 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:kafka-clients',
-    '//lib:jersey-client',
-    '//lib:javax.ws.rs-api',
-    '//lib:influxdb-java',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-    '//core/common:onos-core-common-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/apps/openstacktelemetry/app/BUCK b/apps/openstacktelemetry/app/BUCK
deleted file mode 100644
index 0d8faa4..0000000
--- a/apps/openstacktelemetry/app/BUCK
+++ /dev/null
@@ -1,52 +0,0 @@
-GRPC_VER = '1.3.1'
-
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:KRYO',
-    '//core/store/serializers:onos-core-serializers',
-    '//lib:javax.ws.rs-api',
-    '//utils/rest:onlab-rest',
-    '//lib:jersey-client',
-    '//cli:onos-cli',
-    '//lib:org.apache.karaf.shell.console',
-    '//apps/openstacknode/api:onos-apps-openstacknode-api',
-    '//apps/openstacknetworking/api:onos-apps-openstacknetworking-api',
-    '//apps/openstacktelemetry/api:onos-apps-openstacktelemetry-api',
-    '//lib:kafka-clients',
-    '//lib:influxdb-java',
-    '//lib:simpleclient',
-    '//lib:simpleclient_common',
-    '//lib:simpleclient_hotspot',
-    '//lib:simpleclient_servlet',
-    '//lib:jetty-http',
-    '//lib:jetty-servlet',
-    '//lib:jetty-server',
-    '//lib:jetty-security',
-    '//lib:jetty-websocket',
-    '//lib:jetty-util',
-    '//lib:jetty-io',
-    '//lib:servlet-api',
-    '//lib:protobuf-java-3.2.0',
-    '//lib:GRPC_1.3',
-    '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER,
-    '//lib:grpc-protobuf-lite-' + GRPC_VER,
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-    '//core/common:onos-core-common-tests',
-    '//web/api:onos-rest-tests',
-    '//lib:TEST_REST',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    web_context = '/onos/openstacktelemetry',
-    api_title = 'OpenStack Network Telemetry REST API',
-    api_version = '1.0',
-    api_description = 'OpenStack Network Telemetry REST API',
-    api_package = 'org.onosproject.openstacktelemetry.web',
-)
diff --git a/apps/openstacktroubleshoot/BUCK b/apps/openstacktroubleshoot/BUCK
deleted file mode 100644
index b834c12..0000000
--- a/apps/openstacktroubleshoot/BUCK
+++ /dev/null
@@ -1,13 +0,0 @@
-BUNDLES = [
-    '//apps/openstacktroubleshoot/api:onos-apps-openstacktroubleshoot-api',
-    '//apps/openstacktroubleshoot/app:onos-apps-openstacktroubleshoot-app',
-]
-
-onos_app (
-    title = 'OpenStack Troubleshoot',
-    category = 'Integration',
-    url = 'http://onosproject.org',
-    included_bundles = BUNDLES,
-    description = 'SONA Openstack Troubleshoot Application.',
-    required_apps = [ 'org.onosproject.openstacknetworking' ]
-)
\ No newline at end of file
diff --git a/apps/openstacktroubleshoot/api/BUCK b/apps/openstacktroubleshoot/api/BUCK
deleted file mode 100644
index 27cd4a2..0000000
--- a/apps/openstacktroubleshoot/api/BUCK
+++ /dev/null
@@ -1,17 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//apps/openstacknetworking/api:onos-apps-openstacknetworking-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-    '//core/common:onos-core-common-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/apps/openstacktroubleshoot/app/BUCK b/apps/openstacktroubleshoot/app/BUCK
deleted file mode 100644
index b0c072c..0000000
--- a/apps/openstacktroubleshoot/app/BUCK
+++ /dev/null
@@ -1,32 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:KRYO',
-    '//core/store/serializers:onos-core-serializers',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//lib:javax.ws.rs-api',
-    '//utils/rest:onlab-rest',
-    '//apps/openstacknode/api:onos-apps-openstacknode-api',
-    '//apps/openstacknetworking/api:onos-apps-openstacknetworking-api',
-    '//apps/openstacktroubleshoot/api:onos-apps-openstacktroubleshoot-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-    '//core/common:onos-core-common-tests',
-    '//web/api:onos-rest-tests',
-    '//lib:TEST_REST',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    web_context = '/onos/openstacktroubleshoot',
-    api_title = 'OpenStack Troubleshoot API',
-    api_version = '1.0',
-    api_description = 'REST API for OpenStack Troubleshoot',
-    api_package = 'org.onosproject.openstacktroubleshoot.web',
-)
-
diff --git a/apps/openstackvtap/BUCK b/apps/openstackvtap/BUCK
deleted file mode 100644
index e124259..0000000
--- a/apps/openstackvtap/BUCK
+++ /dev/null
@@ -1,15 +0,0 @@
-BUNDLES = [
-    '//apps/openstackvtap/api:onos-apps-openstackvtap-api',
-    '//apps/openstackvtap/app:onos-apps-openstackvtap-app',
-]
-
-onos_app (
-    title = 'Openstack Vtap Application',
-    category = 'Integration',
-    url = 'https://wiki.onosproject.org/display/ONOS/SONA%3A+DC+Network+Virtualization',
-    included_bundles = BUNDLES,
-    description = 'SONA Openstack Vtap Application.',
-    required_apps = [
-        'org.onosproject.openstacknetworking',
-    ]
-)
diff --git a/apps/openstackvtap/api/BUCK b/apps/openstackvtap/api/BUCK
deleted file mode 100644
index 9fde222..0000000
--- a/apps/openstackvtap/api/BUCK
+++ /dev/null
@@ -1,14 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-    '//core/common:onos-core-common-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS
-)
diff --git a/apps/openstackvtap/app/BUCK b/apps/openstackvtap/app/BUCK
deleted file mode 100644
index 3656f6c..0000000
--- a/apps/openstackvtap/app/BUCK
+++ /dev/null
@@ -1,32 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:KRYO',
-    '//core/store/serializers:onos-core-serializers',
-    '//lib:javax.ws.rs-api',
-    '//utils/rest:onlab-rest',
-    '//lib:jersey-client',
-    '//cli:onos-cli',
-    '//lib:org.apache.karaf.shell.console',
-    '//apps/openstacknetworking/api:onos-apps-openstacknetworking-api',
-    '//apps/openstacknode/api:onos-apps-openstacknode-api',
-    '//apps/openstackvtap/api:onos-apps-openstackvtap-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-    '//core/common:onos-core-common-tests',
-    '//web/api:onos-rest-tests',
-    '//lib:TEST_REST',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    web_context = '/onos/openstackvtap',
-    api_title = 'OpenStack Vtap REST API',
-    api_version = '1.0',
-    api_description = 'OpenStack Vtap REST API',
-    api_package = 'org.onosproject.openstackvtap.web',
-)
diff --git a/apps/optical-model/BUCK b/apps/optical-model/BUCK
deleted file mode 100644
index de3def8..0000000
--- a/apps/optical-model/BUCK
+++ /dev/null
@@ -1,29 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//incubator/api:onos-incubator-api',
-    '//cli:onos-cli',
-    '//lib:org.apache.karaf.shell.console',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
-onos_app (
-    app_name = 'org.onosproject.optical-model',
-    # Is there a way to change BUCK target name properly?
-    #name = 'onos-optical-model',
-    feature_coords = 'org.onosproject:onos-optical-model:%s' % (ONOS_VERSION),
-    title = 'Optical Network Model',
-    category = 'Optical',
-    url = 'https://wiki.onosproject.org/x/C4m',
-    description = 'ONOS optical information model.',
-    required_apps = [ ],
-)
diff --git a/apps/optical-rest/BUCK b/apps/optical-rest/BUCK
deleted file mode 100644
index 9c47cb8..0000000
--- a/apps/optical-rest/BUCK
+++ /dev/null
@@ -1,35 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:javax.ws.rs-api',
-    '//utils/rest:onlab-rest',
-    '//apps/optical-model:onos-apps-optical-model'
-]
-
-APPS = [
-    'org.onosproject.optical-model',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_REST',
-    '//utils/osgi:onlab-osgi-tests',
-    '//web/api:onos-rest-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    web_context = '/onos/optical',
-    api_title = 'Optical Network Model REST API',
-    api_version = '1.0',
-    api_description = 'REST API for Optical Model',
-    api_package = 'org.onosproject.net.optical.rest'
-)
-
-onos_app (
-    title = 'Optical Network Model REST API',
-    category = 'Optical',
-    url = 'http://onosproject.org',
-    description = 'This application provides REST support for optical network model.',
-    required_apps = APPS
-)
diff --git a/apps/p4-tutorial/mytunnel/BUCK b/apps/p4-tutorial/mytunnel/BUCK
deleted file mode 100644
index 7945c93..0000000
--- a/apps/p4-tutorial/mytunnel/BUCK
+++ /dev/null
@@ -1,24 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//apps/p4-tutorial/pipeconf:onos-apps-p4-tutorial-pipeconf',
-]
-
-osgi_jar (
-    deps = COMPILE_DEPS,
-)
-
-BUNDLES = [
-    '//apps/p4-tutorial/mytunnel:onos-apps-p4-tutorial-mytunnel',
-]
-
-onos_app (
-    app_name = 'org.onosproject.p4tutorial.mytunnel',
-    title = 'MyTunnel Demo App',
-    category = 'Traffic Engineering',
-    url = 'http://onosproject.org',
-    description = 'Provides forwarding between each pair of hosts via MyTunnel protocol',
-    included_bundles = BUNDLES,
-    required_apps = [
-        'org.onosproject.p4tutorial.pipeconf',
-    ]
-)
diff --git a/apps/p4-tutorial/pipeconf/BUCK b/apps/p4-tutorial/pipeconf/BUCK
deleted file mode 100644
index 6bdb389..0000000
--- a/apps/p4-tutorial/pipeconf/BUCK
+++ /dev/null
@@ -1,27 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:minimal-json',
-    '//protocols/p4runtime/model:onos-protocols-p4runtime-model',
-    '//drivers/default:onos-drivers-default',
-    '//protocols/p4runtime/api:onos-protocols-p4runtime-api',
-]
-
-osgi_jar (
-    deps = COMPILE_DEPS,
-)
-
-BUNDLES = [
-    '//apps/p4-tutorial/pipeconf:onos-apps-p4-tutorial-pipeconf',
-]
-
-onos_app (
-    app_name = 'org.onosproject.p4tutorial.pipeconf',
-    title = 'P4 Tutorial Pipeconf',
-    category = 'Pipeconf',
-    url = 'http://onosproject.org',
-    description = 'Provides pipeconf for the ONOS-P4 Tutorial',
-    included_bundles = BUNDLES,
-    required_apps = [
-        'org.onosproject.drivers.p4runtime',
-    ]
-)
diff --git a/apps/packet-stats/BUCK b/apps/packet-stats/BUCK
deleted file mode 100644
index e7c77b1..0000000
--- a/apps/packet-stats/BUCK
+++ /dev/null
@@ -1,21 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:METRICS',
-    '//core/store/serializers:onos-core-serializers',
-    '//core/store/primitives:onos-core-primitives',
-    '//core/api:onos-api',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    title = 'Packet Statistics',
-    category = 'Traffic Engineering',
-    url = 'http://onosproject.org',
-    description = 'Application to calculate the number of packets of different types',
-)
diff --git a/apps/pathpainter/BUCK b/apps/pathpainter/BUCK
deleted file mode 100644
index bbb142a..0000000
--- a/apps/pathpainter/BUCK
+++ /dev/null
@@ -1,20 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app (
-    title = 'Path Visualization',
-    category = 'GUI',
-    url = 'http://onosproject.org',
-    description = 'Extends the GUI topology view by adding an overlay that allows the operator ' +
-        'to visualize topology paths using various forms of path-finding algorithms such as ' +
-        'the Dijkstra shortest path using default link metric (ONOS default), using geographic ' +
-        'distances, disjoint paths, etc.',
-)
diff --git a/apps/pce/BUCK b/apps/pce/BUCK
deleted file mode 100644
index cd306b8..0000000
--- a/apps/pce/BUCK
+++ /dev/null
@@ -1,15 +0,0 @@
-BUNDLES = [
-    '//apps/pce/bandwidthmgmt:onos-apps-pce-bandwidthmgmt',
-    '//apps/pce/app:onos-apps-pce-app',
-    '//apps/pce/pcerest:onos-apps-pce-pcerest',
-    '//apps/pce/pceweb:onos-apps-pce-pceweb',
-]
-
-onos_app (
-  app_name='org.onosproject.pce',
-    title = 'PCE APP',
-    category = 'PCE',
-    url = 'http://onosproject.org',
-    included_bundles = BUNDLES,
-    description = 'PCE Service App.',
-)
\ No newline at end of file
diff --git a/apps/pce/app/BUCK b/apps/pce/app/BUCK
deleted file mode 100644
index 7f3869f..0000000
--- a/apps/pce/app/BUCK
+++ /dev/null
@@ -1,35 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:COMPILE',
-    '//lib:JACKSON',
-    '//lib:KRYO',
-    '//lib:org.osgi.compendium',
-    '//cli:onos-cli',
-    '//core/store/serializers:onos-core-serializers',
-    '//utils/rest:onlab-rest',
-    '//incubator/api:onos-incubator-api',
-    '//apps/pcep-api:onos-apps-pcep-api',
-    '//utils/misc:onlab-misc',
-    '//core/api:onos-api',
-    '//lib:org.apache.karaf.shell.console',
-    '//lib:javax.ws.rs-api',
-    '//apps/pce/bandwidthmgmt:onos-apps-pce-bandwidthmgmt',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_REST',
-    '//incubator/api:onos-incubator-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS
-)
-
-onos_app (
-    app_name='org.onosproject.pce.app',
-    title = 'PCE',
-    category = 'default',
-    url = 'http://onosproject.org',
-    description = 'PCE as centeral controller App.',
-)
diff --git a/apps/pce/bandwidthmgmt/BUCK b/apps/pce/bandwidthmgmt/BUCK
deleted file mode 100644
index c5f0b25..0000000
--- a/apps/pce/bandwidthmgmt/BUCK
+++ /dev/null
@@ -1,18 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//core/store/serializers:onos-core-serializers',
-    '//apps/pcep-api:onos-apps-pcep-api',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS
-)
-
-onos_app (
-    app_name = 'org.onosproject.bandwidthmgmt',
-    title = 'PCE Bandwidth Management',
-    category = 'default',
-    url = 'http://onosproject.org',
-    description = 'PCE Bandwidth Management.',
-)
diff --git a/apps/pce/pcerest/BUCK b/apps/pce/pcerest/BUCK
deleted file mode 100644
index bed98d2..0000000
--- a/apps/pce/pcerest/BUCK
+++ /dev/null
@@ -1,27 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:javax.ws.rs-api',
-    '//utils/rest:onlab-rest',
-    '//apps/pce/app:onos-apps-pce-app',
-    '//core/store/serializers:onos-core-serializers',
-    '//core/api:onos-api',
-    '//incubator/api:onos-incubator-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_REST',
-    '//lib:minimal-json',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS
-)
-
-onos_app (
-    title = 'PCE REST API',
-    category = 'Utility',
-    url = 'http://onosproject.org',
-    description = 'Tunnel Service between network devices via REST interface',
-)
diff --git a/apps/pce/pceweb/BUCK b/apps/pce/pceweb/BUCK
deleted file mode 100644
index a4a9a34..0000000
--- a/apps/pce/pceweb/BUCK
+++ /dev/null
@@ -1,20 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//apps/pce/app:onos-apps-pce-app',
-    '//cli:onos-cli',
-    '//lib:org.apache.karaf.shell.console',
-    '//core/api:onos-api',
-    '//incubator/api:onos-incubator-api',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    title = 'PCE REST API',
-    category = 'Utility',
-    url = 'http://onosproject.org',
-    description = 'Allows the user to visualize different types of paths between network entities',
-)
diff --git a/apps/pcep-api/BUCK b/apps/pcep-api/BUCK
deleted file mode 100644
index 5751b06..0000000
--- a/apps/pcep-api/BUCK
+++ /dev/null
@@ -1,17 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//protocols/ovsdb/api:onos-protocols-ovsdb-api',
-    '//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    title = 'PCEP Protocol API',
-    category = 'Protocol',
-    url = 'http://onosproject.org',
-    description = 'PCEP protocol API.',
-)
diff --git a/apps/pi-demo/common/BUCK b/apps/pi-demo/common/BUCK
deleted file mode 100644
index 132086c..0000000
--- a/apps/pi-demo/common/BUCK
+++ /dev/null
@@ -1,7 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-]
-
-osgi_jar (
-    deps = COMPILE_DEPS,
-)
\ No newline at end of file
diff --git a/apps/pi-demo/ecmp/BUCK b/apps/pi-demo/ecmp/BUCK
deleted file mode 100644
index 71dcc31..0000000
--- a/apps/pi-demo/ecmp/BUCK
+++ /dev/null
@@ -1,27 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:minimal-json',
-    '//apps/pi-demo/common:onos-apps-pi-demo-common',
-    '//pipelines/basic:onos-pipelines-basic',
-]
-
-osgi_jar (
-    deps = COMPILE_DEPS,
-)
-
-BUNDLES = [
-    '//apps/pi-demo/common:onos-apps-pi-demo-common',
-    '//apps/pi-demo/ecmp:onos-apps-pi-demo-ecmp',
-]
-
-onos_app (
-    app_name = 'org.onosproject.pi-ecmp',
-    title = 'PI Demo ECMP Fabric',
-    category = 'Traffic Engineering',
-    url = 'http://onosproject.org',
-    description = 'Provides ECMP support for a 2-stage clos fabric topology of PI-enabled devices',
-    included_bundles = BUNDLES,
-    required_apps = [
-        'org.onosproject.pipelines.basic'
-    ]
-)
diff --git a/apps/pim/BUCK b/apps/pim/BUCK
deleted file mode 100644
index 3eab5a8..0000000
--- a/apps/pim/BUCK
+++ /dev/null
@@ -1,29 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//incubator/api:onos-incubator-api',
-    '//apps/routing-api:onos-apps-routing-api',
-    '//apps/route-service/api:onos-apps-route-service-api',
-]
-
-BUNDLES = [
-    '//apps/routing-api:onos-apps-routing-api',
-    ':onos-apps-pim',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app (
-    title = 'Protocol Independent Multicast Emulation',
-    category = 'Traffic Engineering',
-    url = 'http://onosproject.org',
-    description = 'Protocol independent multicast emulation.',
-    included_bundles = BUNDLES,
-    required_apps = [ 'org.onosproject.route-service' ],
-)
diff --git a/apps/powermanagement/BUCK b/apps/powermanagement/BUCK
deleted file mode 100644
index 41d7956..0000000
--- a/apps/powermanagement/BUCK
+++ /dev/null
@@ -1,30 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//core/store/serializers:onos-core-serializers',
-    '//utils/rest:onlab-rest',
-    '//lib:javax.ws.rs-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_REST',
-    '//core/api:onos-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    web_context = '/onos/powermanagement',
-    api_title = 'Power Management API',
-    api_version = '1.0',
-    api_description = 'REST API for Power Management',
-    api_package = 'org.onosproject.powermanagement',
-)
-
-onos_app (
-    title = 'Power Management',
-    category = 'Monitoring',
-    url = 'http://onosproject.org',
-    description = 'This application provides northbound interfaces for monitoring and ' +
-        'configuring power.',
-)
diff --git a/apps/proxyarp/BUCK b/apps/proxyarp/BUCK
deleted file mode 100644
index 6923d0d..0000000
--- a/apps/proxyarp/BUCK
+++ /dev/null
@@ -1,15 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//incubator/api:onos-incubator-api',
-]
-
-osgi_jar (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    title = 'Proxy ARP/NDP',
-    category = 'Traffic Engineering',
-    url = 'http://onosproject.org',
-    description = 'Proxy ARP/NDP application.',
-)
diff --git a/apps/rabbitmq/BUCK b/apps/rabbitmq/BUCK
deleted file mode 100644
index c283951..0000000
--- a/apps/rabbitmq/BUCK
+++ /dev/null
@@ -1,33 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//incubator/api:onos-incubator-api',
-    '//lib:com_google_guava_guava',
-    '//lib:com_google_code_gson_gson',
-    '//lib:amqp-client',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-BUNDLES = [
-    '//lib:com_google_code_gson_gson',
-    '//lib:amqp-client',
-    '//apps/rabbitmq:onos-apps-rabbitmq',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app (
-    title = 'Rabbit MQ Integration',
-    category = 'Integration',
-    url = 'http://onosproject.org',
-    description = 'Rabbit MQ application.',
-    required_apps = [ 'org.onosproject.proxyarp' ],
-    included_bundles = BUNDLES,
-)
diff --git a/apps/reactive-routing/BUCK b/apps/reactive-routing/BUCK
deleted file mode 100644
index 4157a55..0000000
--- a/apps/reactive-routing/BUCK
+++ /dev/null
@@ -1,21 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:concurrent-trees',
-    '//incubator/api:onos-incubator-api',
-    '//apps/routing-api:onos-apps-routing-api',
-    '//apps/intentsync:onos-apps-intentsync',
-    '//apps/route-service/api:onos-apps-route-service-api',
-]
-
-osgi_jar (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    title = 'SDN-IP Reactive Routing',
-    category = 'Traffic Engineering',
-    url = 'http://onosproject.org',
-    description = 'SDN-IP reactive routing application.',
-    required_apps = [ 'org.onosproject.intentsynchronizer', 'org.onosproject.sdnip', 'org.onosproject.route-service'],
-)
diff --git a/apps/restconf/BUCK b/apps/restconf/BUCK
deleted file mode 100644
index 2ce6c79..0000000
--- a/apps/restconf/BUCK
+++ /dev/null
@@ -1,19 +0,0 @@
-BUNDLES = [
-    '//apps/restconf/api:onos-apps-restconf-api',
-    '//apps/restconf/utils:onos-apps-restconf-utils',
-    '//apps/restconf/restconfmgr:onos-apps-restconf-restconfmgr',
-]
-
-APPS = [
-    'org.onosproject.yang',
-    'org.onosproject.config',
-]
-
-onos_app (
-    app_name = 'org.onosproject.restconf',
-    title = 'RESTCONF Application Module',
-    category = 'Utility',
-    url = 'http://onosproject.org',
-    included_bundles = BUNDLES,
-    required_apps = APPS,
-)
diff --git a/apps/restconf/api/BUCK b/apps/restconf/api/BUCK
deleted file mode 100644
index 39a3872..0000000
--- a/apps/restconf/api/BUCK
+++ /dev/null
@@ -1,16 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:jersey-client',
-    '//lib:javax.ws.rs-api',
-    '//lib:jersey-server',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_REST',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/apps/restconf/restconfmgr/BUCK b/apps/restconf/restconfmgr/BUCK
deleted file mode 100644
index 742d1cc..0000000
--- a/apps/restconf/restconfmgr/BUCK
+++ /dev/null
@@ -1,19 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:ONOS_YANG',
-    '//lib:JACKSON',
-    '//lib:jersey-client',
-    '//lib:jersey-server',
-    '//lib:javax.ws.rs-api',
-    '//incubator/api:onos-incubator-api',
-    '//lib:COMPILE',
-    '//core/store/serializers:onos-core-serializers',
-    '//apps/restconf/api:onos-apps-restconf-api',
-    '//apps/restconf/utils:onos-apps-restconf-utils',
-    '//apps/config:onos-apps-config',
-    '//lib:onos-yang-runtime',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
diff --git a/apps/restconf/utils/BUCK b/apps/restconf/utils/BUCK
deleted file mode 100644
index 8ebc904..0000000
--- a/apps/restconf/utils/BUCK
+++ /dev/null
@@ -1,17 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:jersey-client',
-    '//lib:jersey-server',
-    '//lib:javax.ws.rs-api',
-    '//lib:easymock',
-    '//utils/rest:onlab-rest',
-    '//apps/restconf/api:onos-apps-restconf-api',
-    '//lib:onos-yang-model',
-    '//lib:onos-yang-compiler-api',
-    '//lib:onos-yang-runtime',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
diff --git a/apps/roadm/BUCK b/apps/roadm/BUCK
deleted file mode 100644
index 042bd52..0000000
--- a/apps/roadm/BUCK
+++ /dev/null
@@ -1,25 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//core/store/serializers:onos-core-serializers',
-    '//apps/optical-model:onos-apps-optical-model',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_REST',
-    '//core/api:onos-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
-onos_app (
-    title = 'ROADM',
-    category = 'Optical',
-    url = 'http://onosproject.org',
-    description = 'This application provides an interface and web GUI for monitoring and ' +
-        'configuring power on ROADM devices.',
-    required_apps = [ 'org.onosproject.optical-model' ],
-)
diff --git a/apps/route-service/BUCK b/apps/route-service/BUCK
deleted file mode 100644
index d7ebe99..0000000
--- a/apps/route-service/BUCK
+++ /dev/null
@@ -1,11 +0,0 @@
-BUNDLES = [
-    '//apps/route-service/api:onos-apps-route-service-api',
-    '//apps/route-service/app:onos-apps-route-service-app',
-]
-
-onos_app (
-    title = 'Route Service Server',
-    category = 'Utility',
-    url = 'http://onosproject.org',
-    included_bundles = BUNDLES,
-)
diff --git a/apps/route-service/api/BUCK b/apps/route-service/api/BUCK
deleted file mode 100644
index 3b7812b..0000000
--- a/apps/route-service/api/BUCK
+++ /dev/null
@@ -1,14 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-]
-
-TEST_DEPS = [
-    '//lib:TEST',
-    '//core/api:onos-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/apps/route-service/app/BUCK b/apps/route-service/app/BUCK
deleted file mode 100644
index f9233bb..0000000
--- a/apps/route-service/app/BUCK
+++ /dev/null
@@ -1,29 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:KRYO',
-    '//lib:concurrent-trees',
-    '//lib:javax.ws.rs-api',
-    '//lib:jersey-server',
-    '//core/store/serializers:onos-core-serializers',
-    '//apps/route-service/api:onos-apps-route-service-api',
-    '//cli:onos-cli',
-    '//lib:org.apache.karaf.shell.console',
-    '//utils/rest:onlab-rest',
-]
-
-TEST_DEPS = [
-    '//lib:TEST',
-    '//apps/route-service/api:onos-apps-route-service-api-tests',
-    '//core/api:onos-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    web_context = '/onos/routeservice',
-    api_title = 'Route Service App',
-    api_version = '1.0',
-    api_description = 'REST API for Route Service App',
-    api_package = 'org.onosproject.routeservice.rest',
-)
diff --git a/apps/routeradvertisement/BUCK b/apps/routeradvertisement/BUCK
deleted file mode 100644
index c414ec3..0000000
--- a/apps/routeradvertisement/BUCK
+++ /dev/null
@@ -1,23 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//incubator/api:onos-incubator-api',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli'
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
-onos_app (
-    title = 'IPv6 RA Generator',
-    category = 'Traffic Engineering',
-    url = 'http://onosproject.org',
-    description = 'Application for generating IPv6 RAs',
-)
diff --git a/apps/routing-api/BUCK b/apps/routing-api/BUCK
deleted file mode 100644
index 8db5219..0000000
--- a/apps/routing-api/BUCK
+++ /dev/null
@@ -1,15 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//incubator/api:onos-incubator-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
diff --git a/apps/routing/common/BUCK b/apps/routing/common/BUCK
deleted file mode 100644
index 2bd6aec..0000000
--- a/apps/routing/common/BUCK
+++ /dev/null
@@ -1,24 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-    '//lib:JACKSON',
-    '//lib:org.apache.karaf.shell.console',
-    '//lib:concurrent-trees',
-    '//cli:onos-cli',
-    '//incubator/api:onos-incubator-api',
-    '//apps/routing-api:onos-apps-routing-api',
-    '//apps/route-service/api:onos-apps-route-service-api',
-    '//core/common:onos-core-common',
-    '//lib:io_netty_netty',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//incubator/api:onos-incubator-api-tests',
-    '//apps/routing-api:onos-apps-routing-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/apps/routing/cpr/BUCK b/apps/routing/cpr/BUCK
deleted file mode 100644
index 90d8634..0000000
--- a/apps/routing/cpr/BUCK
+++ /dev/null
@@ -1,32 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//incubator/api:onos-incubator-api',
-    '//apps/routing-api:onos-apps-routing-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//incubator/api:onos-incubator-api-tests',
-    '//apps/routing-api:onos-apps-routing-api-tests',
-    '//utils/osgi:onlab-osgi-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
-BUNDLES = [
-    '//apps/routing/common:onos-apps-routing-common',
-    '//apps/routing/cpr:onos-apps-routing-cpr',
-    '//apps/routing-api:onos-apps-routing-api',
-]
-
-onos_app (
-    app_name = 'org.onosproject.cpr',
-    title = 'Control Plane Redirect',
-    category = 'Traffic Engineering',
-    url = 'http://onosproject.org',
-    description = 'Redirects routing control traffic to a control plane',
-    included_bundles = BUNDLES,
-)
diff --git a/apps/routing/fibinstaller/BUCK b/apps/routing/fibinstaller/BUCK
deleted file mode 100644
index 94bcab2..0000000
--- a/apps/routing/fibinstaller/BUCK
+++ /dev/null
@@ -1,33 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//incubator/api:onos-incubator-api',
-    '//apps/routing-api:onos-apps-routing-api',
-    '//apps/route-service/api:onos-apps-route-service-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//incubator/api:onos-incubator-api-tests',
-    '//apps/routing-api:onos-apps-routing-api-tests',
-    '//apps/route-service/api:onos-apps-route-service-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
-BUNDLES = [
-    '//apps/routing/fibinstaller:onos-apps-routing-fibinstaller',
-    '//apps/routing-api:onos-apps-routing-api',
-]
-
-onos_app (
-    app_name = 'org.onosproject.fibinstaller',
-    title = 'FIB Installer',
-    category = 'Traffic Engineering',
-    url = 'http://onosproject.org',
-    description = 'Installs routing rules into switches',
-    included_bundles = BUNDLES,
-    required_apps = [ 'org.onosproject.route-service' ],
-)
diff --git a/apps/routing/fpm/BUCK b/apps/routing/fpm/BUCK
deleted file mode 100644
index c11818b..0000000
--- a/apps/routing/fpm/BUCK
+++ /dev/null
@@ -1,16 +0,0 @@
-BUNDLES = [
-    '//apps/routing/common:onos-apps-routing-common',
-    '//apps/routing-api:onos-apps-routing-api',
-    '//apps/routing/fpm/api:onos-apps-routing-fpm-api',
-    '//apps/routing/fpm/app:onos-apps-routing-fpm-app',
-]
-
-onos_app (
-    app_name = 'org.onosproject.fpm',
-    title = 'FIB Push Manager (FPM) Route Receiver',
-    category = 'Utility',
-    url = 'http://onosproject.org',
-    description = 'Receives/Transmits routes from external routing daemon over FPM protocol',
-    included_bundles = BUNDLES,
-    required_apps = [ 'org.onosproject.route-service' ],
-)
\ No newline at end of file
diff --git a/apps/routing/fpm/api/BUCK b/apps/routing/fpm/api/BUCK
deleted file mode 100644
index f5a98fc..0000000
--- a/apps/routing/fpm/api/BUCK
+++ /dev/null
@@ -1,7 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-]
-
-osgi_jar (
-    deps = COMPILE_DEPS,
-)
diff --git a/apps/routing/fpm/app/BUCK b/apps/routing/fpm/app/BUCK
deleted file mode 100644
index adf50c3..0000000
--- a/apps/routing/fpm/app/BUCK
+++ /dev/null
@@ -1,22 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-    '//lib:KRYO',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//incubator/api:onos-incubator-api',
-    '//apps/routing-api:onos-apps-routing-api',
-    '//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:io_netty_netty',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/apps/scalablegateway/BUCK b/apps/scalablegateway/BUCK
deleted file mode 100644
index a7a6d74..0000000
--- a/apps/scalablegateway/BUCK
+++ /dev/null
@@ -1,19 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:KRYO',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//core/store/serializers:onos-core-serializers',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-  title = 'Scalable Gateway',
-  category = 'Traffic Engineering',
-  url = 'http://onosproject.org',
-  description = 'Scalable gateway service',
-)
diff --git a/apps/sdnip/BUCK b/apps/sdnip/BUCK
deleted file mode 100644
index 4a807cf..0000000
--- a/apps/sdnip/BUCK
+++ /dev/null
@@ -1,36 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//incubator/api:onos-incubator-api',
-    '//apps/routing-api:onos-apps-routing-api',
-    '//apps/route-service/api:onos-apps-route-service-api',
-    '//apps/intentsync:onos-apps-intentsync',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli'
-]
-
-BUNDLES = [
-    '//apps/sdnip:onos-apps-sdnip',
-    '//apps/routing-api:onos-apps-routing-api',
-    '//apps/routing/common:onos-apps-routing-common',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//apps/routing-api:onos-apps-routing-api-tests',
-    '//apps/route-service/api:onos-apps-route-service-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
-onos_app (
-  title = 'SDN-IP',
-  category = 'Traffic Engineering',
-  url = 'http://onosproject.org',
-  included_bundles = BUNDLES,
-  description = 'SDN-IP peering application',
-  required_apps = [ 'org.onosproject.intentsynchronizer', 'org.onosproject.route-service' ],
-)
diff --git a/apps/segmentrouting/BUCK b/apps/segmentrouting/BUCK
deleted file mode 100644
index 1b3990f..0000000
--- a/apps/segmentrouting/BUCK
+++ /dev/null
@@ -1,13 +0,0 @@
-BUNDLES = [
-    '//apps/segmentrouting/app:onos-apps-segmentrouting-app',
-    '//apps/segmentrouting/web:onos-apps-segmentrouting-web',
-]
-
-onos_app (
-    title = 'Segment Routing',
-    category = 'Traffic Engineering',
-    url = 'http://onosproject.org',
-    included_bundles = BUNDLES,
-    description = 'Segment routing application.',
-    required_apps = [ 'org.onosproject.route-service', 'org.onosproject.mcast' ],
-)
diff --git a/apps/segmentrouting/app/BUCK b/apps/segmentrouting/app/BUCK
deleted file mode 100644
index 7deda13..0000000
--- a/apps/segmentrouting/app/BUCK
+++ /dev/null
@@ -1,25 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:KRYO',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//core/common:onos-core-common',
-    '//core/store/serializers:onos-core-serializers',
-    '//incubator/api:onos-incubator-api',
-    '//apps/route-service/api:onos-apps-route-service-api',
-    '//apps/mcast/api:onos-apps-mcast-api',
-    '//apps/mcast/cli:onos-apps-mcast-cli',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/net:onos-core-net',
-    '//incubator/api:onos-incubator-api-tests',
-    '//apps/route-service/api:onos-apps-route-service-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/apps/segmentrouting/web/BUCK b/apps/segmentrouting/web/BUCK
deleted file mode 100644
index 9706438..0000000
--- a/apps/segmentrouting/web/BUCK
+++ /dev/null
@@ -1,16 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:javax.ws.rs-api',
-    '//utils/rest:onlab-rest',
-    '//apps/segmentrouting/app:onos-apps-segmentrouting-app',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    web_context = '/onos/segmentrouting',
-    api_title = 'Segment Routing REST API',
-    api_version = '1.0',
-    api_description = 'REST API for Segment Routing Application',
-    api_package = 'org.onosproject.segmentrouting.web',
-)
diff --git a/apps/simplefabric/BUCK b/apps/simplefabric/BUCK
deleted file mode 100644
index 177b953..0000000
--- a/apps/simplefabric/BUCK
+++ /dev/null
@@ -1,32 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:concurrent-trees',
-    '//lib:javax.ws.rs-api',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//utils/rest:onlab-rest',
-]
-
-BUNDLES = [
-    '//apps/simplefabric:onos-apps-simplefabric',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    web_context = '/onos/v1/simplefabric',
-)
-
-onos_app (
-  title = 'SimpleFabric',
-  category = 'Traffic Engineering',
-  url = 'http://onosproject.org',
-  included_bundles = BUNDLES,
-  description = 'Simple Fabric application',
-  required_apps = [ 'org.onosproject.openflow-base', 'org.onosproject.lldpprovider', 'org.onosproject.hostprovider' ],
-)
diff --git a/apps/t3/BUCK b/apps/t3/BUCK
deleted file mode 100644
index c06bf7c..0000000
--- a/apps/t3/BUCK
+++ /dev/null
@@ -1,19 +0,0 @@
-BUNDLES = [
-    '//apps/t3/web:onos-apps-t3-web',
-    '//apps/t3/app:onos-apps-t3-app',
-]
-
-onos_app (
-   title = 'Trellis Troubleshooting Toolkit',
-   category = 'Utilities',
-   url = 'https://wiki.opencord.org/pages/viewpage.action?pageId=4456974',
-   description = 'Provides static analysis of flows and groups ' +
-   'to determine the possible paths a packet may take.',
-   required_apps = [
-           'org.onosproject.segmentrouting',
-           'org.onosproject.route-service',
-           'org.onosproject.mcast',
-   ],
-   included_bundles = BUNDLES,
-   app_name = 'org.onosproject.t3'
-)
diff --git a/apps/t3/app/BUCK b/apps/t3/app/BUCK
deleted file mode 100644
index 55092ea..0000000
--- a/apps/t3/app/BUCK
+++ /dev/null
@@ -1,26 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//core/store/serializers:onos-core-serializers',
-    '//core/store/primitives:onos-core-primitives',
-    '//lib:JACKSON',
-    '//lib:jackson-databind',
-    '//core/api:onos-api',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//drivers/default:onos-drivers-default',
-    '//apps/segmentrouting/app:onos-apps-segmentrouting-app',
-    '//apps/route-service/api:onos-apps-route-service-api',
-    '//apps/mcast/api:onos-apps-mcast-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//utils/misc:onlab-misc',
-    '//apps/route-service/api:onos-apps-route-service-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/apps/t3/web/BUCK b/apps/t3/web/BUCK
deleted file mode 100644
index fb837c4..0000000
--- a/apps/t3/web/BUCK
+++ /dev/null
@@ -1,19 +0,0 @@
-COMPILE_DEPS = [
-   '//lib:CORE_DEPS',
-   '//lib:KRYO',
-   '//core/api:onos-api',
-   '//lib:org.apache.karaf.shell.console',
-   '//utils/rest:onlab-rest',
-   '//lib:JACKSON',
-   '//lib:javax.ws.rs-api',
-   '//lib:jersey-server',
-   '//apps/t3/app:onos-apps-t3-app',
-]
-osgi_jar (
-   deps = COMPILE_DEPS,
-   web_context = '/onos/v1/t3',
-   api_title = 'T3 REST API',
-   api_version = '1.0',
-   api_description = 'REST API for T3',
-   api_package = 'org.onosproject.t3.rest',
-)
diff --git a/apps/test/cluster-ha/BUCK b/apps/test/cluster-ha/BUCK
deleted file mode 100644
index d1ebbc9..0000000
--- a/apps/test/cluster-ha/BUCK
+++ /dev/null
@@ -1,16 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//core/store/serializers:onos-core-serializers',
-    '//lib:KRYO',
-]
-osgi_jar (
-    deps = COMPILE_DEPS,
-)
-onos_app (
-    title = 'Cluster HA Test',
-    category = 'Test Utility',
-    url = 'http://onosproject.org',
-    description = 'Test for ONOS Cluster HA',
-)
diff --git a/apps/test/demo/BUCK b/apps/test/demo/BUCK
deleted file mode 100644
index 5623e04..0000000
--- a/apps/test/demo/BUCK
+++ /dev/null
@@ -1,25 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//utils/rest:onlab-rest',
-    '//lib:javax.ws.rs-api',
-    '//core/store/serializers:onos-core-serializers',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    web_context = '/onos/demo',
-    api_title = 'Flow Throughput Demo',
-    api_version = '1.0',
-    api_description = 'REST API for Demo',
-    api_package = 'org.onosproject.demo',
-)
-
-onos_app (
-    title = 'Flow Throughput Demo',
-    category = 'Test Utility',
-    url = 'http://onosproject.org',
-    description = 'APIs for interacting with the flow throughput test application.',
-)
diff --git a/apps/test/distributed-primitives/BUCK b/apps/test/distributed-primitives/BUCK
deleted file mode 100644
index eed561a..0000000
--- a/apps/test/distributed-primitives/BUCK
+++ /dev/null
@@ -1,21 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//utils/rest:onlab-rest',
-    '//lib:javax.ws.rs-api',
-    '//core/store/serializers:onos-core-serializers',
-]
-
-osgi_jar (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    app_name = 'org.onosproject.distributedprimitives',
-    title = 'Distributed Primitives Test',
-    category = 'Test Utility',
-    url = 'http://onosproject.org',
-    description = 'ONOS app to test distributed primitives.',
-)
diff --git a/apps/test/election/BUCK b/apps/test/election/BUCK
deleted file mode 100644
index 67077c9..0000000
--- a/apps/test/election/BUCK
+++ /dev/null
@@ -1,19 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//utils/rest:onlab-rest',
-    '//lib:javax.ws.rs-api',
-    '//core/store/serializers:onos-core-serializers',
-]
-
-osgi_jar (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    title = 'Master Election Test',
-    category = 'Test Utility',
-    url = 'http://onosproject.org',
-    description = 'Master election test application.',
-)
diff --git a/apps/test/flow-perf/BUCK b/apps/test/flow-perf/BUCK
deleted file mode 100644
index 522647b..0000000
--- a/apps/test/flow-perf/BUCK
+++ /dev/null
@@ -1,19 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//utils/rest:onlab-rest',
-    '//lib:javax.ws.rs-api',
-    '//core/store/serializers:onos-core-serializers',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    title = 'Flow Performance Test',
-    category = 'Test Utility',
-    url = 'http://onosproject.org',
-    description = 'Messaging performance test application.',
-)
diff --git a/apps/test/intent-perf/BUCK b/apps/test/intent-perf/BUCK
deleted file mode 100644
index 6187b8c..0000000
--- a/apps/test/intent-perf/BUCK
+++ /dev/null
@@ -1,21 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//utils/rest:onlab-rest',
-    '//lib:javax.ws.rs-api',
-    '//core/store/serializers:onos-core-serializers',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    app_name = 'org.onosproject.intentperf',
-    title = 'Intent Performance Test',
-    category = 'Test Utility',
-    url = 'http://onosproject.org',
-    description = 'Intent performance test application.',
-)
diff --git a/apps/test/loadtest/BUCK b/apps/test/loadtest/BUCK
deleted file mode 100644
index 93f15ff..0000000
--- a/apps/test/loadtest/BUCK
+++ /dev/null
@@ -1,19 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//utils/rest:onlab-rest',
-    '//lib:javax.ws.rs-api',
-    '//core/store/serializers:onos-core-serializers',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    title = 'Distributed Load Test',
-    category = 'Test Utility',
-    url = 'http://onosproject.org',
-    description = 'Distributed consensus load test application.',
-)
diff --git a/apps/test/messaging-perf/BUCK b/apps/test/messaging-perf/BUCK
deleted file mode 100644
index 9b12fd2..0000000
--- a/apps/test/messaging-perf/BUCK
+++ /dev/null
@@ -1,20 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//utils/rest:onlab-rest',
-    '//lib:javax.ws.rs-api',
-    '//core/store/serializers:onos-core-serializers',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    title = 'Messaging Performance Test',
-    category = 'Test Utility',
-    url = 'http://onosproject.org',
-    description = 'Messaging performance test application.',
-)
diff --git a/apps/test/netcfg-monitor/BUCK b/apps/test/netcfg-monitor/BUCK
deleted file mode 100644
index f6051d9..0000000
--- a/apps/test/netcfg-monitor/BUCK
+++ /dev/null
@@ -1,14 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    title = 'Network Configuration Monitor Test',
-    category = 'Test Utility',
-    url = 'http://onosproject.org',
-    description = 'Network configuration monitor test application.',
-)
diff --git a/apps/test/primitive-perf/BUCK b/apps/test/primitive-perf/BUCK
deleted file mode 100644
index be70e00..0000000
--- a/apps/test/primitive-perf/BUCK
+++ /dev/null
@@ -1,20 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//utils/rest:onlab-rest',
-    '//lib:javax.ws.rs-api',
-    '//core/store/serializers:onos-core-serializers',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    app_name = 'org.onosproject.primitiveperf',
-    title = 'Primitive Performance Test',
-    category = 'Test Utility',
-    url = 'http://onosproject.org',
-    description = 'Primitive performance test application.',
-)
diff --git a/apps/test/proxy/BUCK b/apps/test/proxy/BUCK
deleted file mode 100644
index 4b443d3..0000000
--- a/apps/test/proxy/BUCK
+++ /dev/null
@@ -1,20 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//utils/rest:onlab-rest',
-    '//lib:javax.ws.rs-api',
-    '//core/store/serializers:onos-core-serializers',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    app_name = 'org.onosproject.proxytest',
-    title = 'Proxy Test',
-    category = 'Test Utility',
-    url = 'http://onosproject.org',
-    description = 'Proxy test application.',
-)
diff --git a/apps/test/route-scale/BUCK b/apps/test/route-scale/BUCK
deleted file mode 100644
index d0853d4..0000000
--- a/apps/test/route-scale/BUCK
+++ /dev/null
@@ -1,20 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//utils/rest:onlab-rest',
-    '//apps/route-service/api:onos-apps-route-service-api',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    app_name = 'org.onosproject.routescale',
-    title = 'Route and Flow Scalability Test',
-    category = 'Test Utility',
-    url = 'http://onosproject.org',
-    description = 'Route and flow scalability test facility.',
-    required_apps = [ 'org.onosproject.route-service' ],
-)
diff --git a/apps/test/transaction-perf/BUCK b/apps/test/transaction-perf/BUCK
deleted file mode 100644
index 0caa955..0000000
--- a/apps/test/transaction-perf/BUCK
+++ /dev/null
@@ -1,19 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//utils/rest:onlab-rest',
-    '//lib:javax.ws.rs-api',
-    '//core/store/serializers:onos-core-serializers',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    title = 'Transaction Performance Test',
-    category = 'Test Utility',
-    url = 'http://onosproject.org',
-    description = 'Transaction performance test application.',
-)
diff --git a/apps/tetopology/BUCK b/apps/tetopology/BUCK
deleted file mode 100644
index 0d91b2d..0000000
--- a/apps/tetopology/BUCK
+++ /dev/null
@@ -1,13 +0,0 @@
-BUNDLES = [
-  '//apps/tetopology/api:onos-apps-tetopology-api',
-  '//apps/tetopology/app:onos-apps-tetopology-app',
-]
-
-onos_app (
-    app_name = 'org.onosproject.tetopology',
-    title = 'TE Topology Core',
-    category = 'Traffic Engineering',
-    url = 'http://onosproject.org',
-    description = 'Application to create and manage hierarchical TE topologies.',
-    included_bundles = BUNDLES,
-)
diff --git a/apps/tetopology/api/BUCK b/apps/tetopology/api/BUCK
deleted file mode 100644
index 2b27800..0000000
--- a/apps/tetopology/api/BUCK
+++ /dev/null
@@ -1,7 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
diff --git a/apps/tetopology/app/BUCK b/apps/tetopology/app/BUCK
deleted file mode 100644
index eb92dc7..0000000
--- a/apps/tetopology/app/BUCK
+++ /dev/null
@@ -1,19 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:KRYO',
-    '//apps/tetopology/api:onos-apps-tetopology-api',
-    '//incubator/api:onos-incubator-api',
-    '//core/store/serializers:onos-core-serializers',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//utils/osgi:onlab-osgi-tests',
-    '//incubator/api:onos-incubator-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/apps/tetunnel/BUCK b/apps/tetunnel/BUCK
deleted file mode 100644
index 73065c2..0000000
--- a/apps/tetunnel/BUCK
+++ /dev/null
@@ -1,14 +0,0 @@
-BUNDLES = [
-  '//apps/tetunnel/api:onos-apps-tetunnel-api',
-  '//apps/tetunnel/app:onos-apps-tetunnel-app',
-]
-
-onos_app (
-    app_name = 'org.onosproject.tetunnel',
-    title = 'TE Tunnel Core',
-    category = 'Traffic Engineering',
-    url = 'http://onosproject.org',
-    description = 'Application to create and manage TE tunnels.',
-    included_bundles = BUNDLES,
-    required_apps = [ 'org.onosproject.tetopology' ],
-)
diff --git a/apps/tetunnel/api/BUCK b/apps/tetunnel/api/BUCK
deleted file mode 100644
index eea4ec2..0000000
--- a/apps/tetunnel/api/BUCK
+++ /dev/null
@@ -1,9 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//apps/tetopology/api:onos-apps-tetopology-api',
-    '//incubator/api:onos-incubator-api',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
diff --git a/apps/tetunnel/app/BUCK b/apps/tetunnel/app/BUCK
deleted file mode 100644
index aef55f0..0000000
--- a/apps/tetunnel/app/BUCK
+++ /dev/null
@@ -1,19 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//apps/tetopology/api:onos-apps-tetopology-api',
-    '//apps/tetunnel/api:onos-apps-tetunnel-api',
-    '//incubator/api:onos-incubator-api',
-    '//core/store/serializers:onos-core-serializers',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//utils/osgi:onlab-osgi-tests',
-    '//incubator/api:onos-incubator-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/apps/virtualbng/BUCK b/apps/virtualbng/BUCK
deleted file mode 100644
index 036ce08..0000000
--- a/apps/virtualbng/BUCK
+++ /dev/null
@@ -1,22 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:jersey-client',
-    '//lib:javax.ws.rs-api',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//utils/rest:onlab-rest',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app (
-    title = 'Virtual Broadband Gateway',
-    category = 'Traffic Engineering',
-    url = 'http://onosproject.org',
-    description = 'A virtual Broadband Network Gateway(BNG) application.',
-)
diff --git a/apps/vpls/BUCK b/apps/vpls/BUCK
deleted file mode 100644
index d07376f..0000000
--- a/apps/vpls/BUCK
+++ /dev/null
@@ -1,29 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:KRYO',
-    '//lib:jersey-client',
-    '//lib:javax.ws.rs-api',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//utils/rest:onlab-rest',
-    '//incubator/api:onos-incubator-api',
-    '//core/store/serializers:onos-core-serializers'
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
-onos_app (
-    title = 'VLAN L2 Broadcast Network',
-    category = 'Traffic Engineering',
-    url = 'http://onosproject.org',
-    description = 'Application to create L2 broadcast network using VLAN.',
-    required_apps = [ 'org.onosproject.intentsynchronizer' ],
-)
diff --git a/apps/vrouter/BUCK b/apps/vrouter/BUCK
deleted file mode 100644
index bc51d54..0000000
--- a/apps/vrouter/BUCK
+++ /dev/null
@@ -1,23 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//incubator/api:onos-incubator-api',
-]
-
-BUNDLES = [
-    '//apps/routing-api:onos-apps-routing-api',
-    '//apps/routing/common:onos-apps-routing-common',
-    '//apps/vrouter:onos-apps-vrouter',
-]
-
-osgi_jar (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    title = 'Virtual Router',
-    category = 'Traffic Engineering',
-    url = 'http://onosproject.org',
-    included_bundles = BUNDLES,
-    description = 'Virtual router (vRouter) application.',
-    required_apps = [ 'org.onosproject.fibinstaller', 'org.onosproject.cpr', 'org.onosproject.fpm' ],
-)
diff --git a/apps/vtn/BUCK b/apps/vtn/BUCK
deleted file mode 100644
index 3afd56d..0000000
--- a/apps/vtn/BUCK
+++ /dev/null
@@ -1,14 +0,0 @@
-BUNDLES = [
-    '//apps/vtn/vtnrsc:onos-apps-vtn-vtnrsc',
-    '//apps/vtn/sfcmgr:onos-apps-vtn-sfcmgr',
-    '//apps/vtn/vtnmgr:onos-apps-vtn-vtnmgr',
-    '//apps/vtn/vtnweb:onos-apps-vtn-vtnweb',
-]
-
-onos_app (
-  title = 'OPNFV',
-  url = 'http://onosproject.org',
-  category = 'Integration',
-  included_bundles = BUNDLES,
-  description = 'ONOS framework applications',
-)
diff --git a/apps/vtn/sfcmgr/BUCK b/apps/vtn/sfcmgr/BUCK
deleted file mode 100644
index 9941797..0000000
--- a/apps/vtn/sfcmgr/BUCK
+++ /dev/null
@@ -1,15 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//core/store/serializers:onos-core-serializers',
-    '//apps/vtn/vtnrsc:onos-apps-vtn-vtnrsc',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/apps/vtn/vtnmgr/BUCK b/apps/vtn/vtnmgr/BUCK
deleted file mode 100644
index fdaf355..0000000
--- a/apps/vtn/vtnmgr/BUCK
+++ /dev/null
@@ -1,15 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:KRYO',
-    '//lib:org.apache.karaf.shell.console',
-    '//core/store/serializers:onos-core-serializers',
-    '//cli:onos-cli',
-    '//apps/vtn/vtnrsc:onos-apps-vtn-vtnrsc',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
diff --git a/apps/vtn/vtnrsc/BUCK b/apps/vtn/vtnrsc/BUCK
deleted file mode 100644
index c4d5920..0000000
--- a/apps/vtn/vtnrsc/BUCK
+++ /dev/null
@@ -1,16 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//core/store/serializers:onos-core-serializers',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_REST',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/apps/vtn/vtnweb/BUCK b/apps/vtn/vtnweb/BUCK
deleted file mode 100644
index 53a640e..0000000
--- a/apps/vtn/vtnweb/BUCK
+++ /dev/null
@@ -1,20 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:javax.ws.rs-api',
-    '//utils/rest:onlab-rest',
-    '//apps/vtn/vtnrsc:onos-apps-vtn-vtnrsc',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_REST',
-    '//utils/osgi:onlab-osgi-tests',
-    '//web/api:onos-rest-tests',
-    '//lib:minimal-json',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    web_context = '/onos/vtn',
-)
diff --git a/apps/workflow/BUCK b/apps/workflow/BUCK
deleted file mode 100644
index d7e5d1b..0000000
--- a/apps/workflow/BUCK
+++ /dev/null
@@ -1,12 +0,0 @@
-BUNDLES = [
-    '//apps/workflow/api:onos-apps-workflow-api',
-    '//apps/workflow/app:onos-apps-workflow-app',
-]
-
-onos_app (
-    category = 'Utility',
-    description = "Workflow application",
-    included_bundles = BUNDLES,
-    title = 'Workflow',
-    url = 'http://onosproject.org',
-)
diff --git a/apps/workflow/api/BUCK b/apps/workflow/api/BUCK
deleted file mode 100644
index f9461af..0000000
--- a/apps/workflow/api/BUCK
+++ /dev/null
@@ -1,11 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:jackson-core',
-    '//lib:jackson-annotations',
-    '//lib:jackson-databind',
-    '//core/store/serializers:onos-core-serializers',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
diff --git a/apps/workflow/app/BUCK b/apps/workflow/app/BUCK
deleted file mode 100644
index aa0e62a..0000000
--- a/apps/workflow/app/BUCK
+++ /dev/null
@@ -1,16 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//lib:jsch',
-    '//lib:org.apache.karaf.shell.console',
-    '//lib:jackson-core',
-    '//lib:jackson-annotations',
-    '//lib:jackson-databind',
-    '//cli:onos-cli',
-    '//core/store/serializers:onos-core-serializers',
-    '//apps/workflow/api:onos-apps-workflow-api',
-]
-
-osgi_jar_with_tests(
-    deps = COMPILE_DEPS,
-)
diff --git a/apps/yang-gui/BUCK b/apps/yang-gui/BUCK
deleted file mode 100644
index 7e971f4..0000000
--- a/apps/yang-gui/BUCK
+++ /dev/null
@@ -1,25 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:ONOS_YANG',
-    '//lib:onos-yang-runtime',
-    '//apps/yang:onos-apps-yang',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app (
-    title = 'YANG Runtime GUI',
-    category = 'GUI',
-    url = 'http://onosproject.org',
-    description = 'Adds GUI extension that allows the operator to view the list of currently ' +
-        'registered YANG models, and their YANG sources. It also provides means for compiling ' +
-        'source YANG files (*.yang, *.zip, *.jar) on the fly and directly from the GUI using ' +
-        'drag-n-drop.<p/>User can simply compress a set of YANG source files and drop it on the ' +
-        'YANG Models GUI view to automatically compile and then register the compiled YANG models.',
-    required_apps = [ 'org.onosproject.yang' ],
-)
diff --git a/apps/yang/BUCK b/apps/yang/BUCK
deleted file mode 100644
index a7319ea..0000000
--- a/apps/yang/BUCK
+++ /dev/null
@@ -1,53 +0,0 @@
-COMPILE_DEPS = [
-  '//lib:CORE_DEPS',
-  '//lib:JACKSON',
-  '//core/api:onos-api',
-  '//core/common:onos-core-common',
-  '//cli:onos-cli',
-  '//lib:org.apache.karaf.shell.console',
-  '//lib:jackson-core',
-  '//lib:onos-yang-model',
-  '//lib:onos-yang-compiler-api',
-  '//lib:onos-yang-runtime',
-  '//lib:onos-yang-serializers-json',
-  '//lib:onos-yang-serializers-xml',
-  '//lib:onos-yang-serializers-utils',
-  '//lib:org.apache.servicemix.bundles.dom4j',
-]
-
-BUNDLES = [
-  '//lib:onos-yang-model',
-  '//lib:onos-yang-compiler-api',
-  '//lib:onos-yang-runtime',
-  '//lib:onos-yang-serializers-json',
-  '//lib:onos-yang-serializers-xml',
-  '//lib:onos-yang-serializers-utils',
-  '//apps/yang:onos-apps-yang',
-  '//apps/yang/web:onos-apps-yang-web',
-]
-
-EXCLUDED_BUNDLES = [
-  '//lib:org.apache.servicemix.bundles.dom4j',
-]
-
-TEST_DEPS = [
-  '//lib:TEST_ADAPTERS',
-  '//utils/osgi:onlab-osgi-tests',
-]
-
-osgi_jar_with_tests(
-  deps = COMPILE_DEPS,
-  test_deps = TEST_DEPS,
-)
-
-onos_app(
-  title = 'YANG Compiler and Runtime',
-  category = 'Utility',
-  url = 'http://onosproject.org',
-  description = 'Provides ability to register compiled YANG models or even to compile YANG source ' +
-    'files on the fly. Registering YANG models allows other ONOS subsystems to interact with ' +
-    'orchestrators or individual network devices using XML or JSON data structured in accordance ' +
-    'with those models.',
-  included_bundles = BUNDLES,
-  excluded_bundles = EXCLUDED_BUNDLES,
-)
diff --git a/apps/yang/web/BUCK b/apps/yang/web/BUCK
deleted file mode 100644
index b988cc6..0000000
--- a/apps/yang/web/BUCK
+++ /dev/null
@@ -1,23 +0,0 @@
-COMPILE_DEPS = [
-  '//lib:CORE_DEPS',
-  '//lib:JACKSON',
-  '//lib:javax.ws.rs-api',
-  '//utils/rest:onlab-rest',
-  '//lib:jersey-media-multipart',
-  '//lib:onos-yang-model',
-  '//lib:onos-yang-compiler-api',
-  '//lib:onos-yang-runtime',
-  '//apps/yang:onos-apps-yang'
-]
-
-TEST_DEPS = [
-  '//lib:TEST_REST',
-  '//utils/osgi:onlab-osgi-tests',
-  '//web/api:onos-rest-tests',
-]
-
-osgi_jar_with_tests(
-  deps = COMPILE_DEPS,
-  test_deps = TEST_DEPS,
-  web_context = '/onos/yang',
-)
diff --git a/buck-tools/BUCK b/buck-tools/BUCK
deleted file mode 100644
index 9548e41..0000000
--- a/buck-tools/BUCK
+++ /dev/null
@@ -1,60 +0,0 @@
-python_binary(
-  name = 'onos-app-writer',
-  main = 'onos_app.py',
-  deps = [],
-  visibility = ['PUBLIC'],
-)
-
-python_binary(
-  name = 'onos-app-oar',
-  main = 'onos_oar.py',
-  deps = [],
-  visibility = ['PUBLIC'],
-)
-
-python_binary(
-  name = 'onos-stage',
-  main = 'onos_stage.py',
-  deps = [],
-  visibility = ['PUBLIC'],
-)
-
-python_binary(
-  name = 'onos-feature',
-  main = 'onos_feature.py',
-  deps = [],
-  visibility = ['PUBLIC'],
-)
-
-def shquote(s):
-  return s.replace("'", "'\\''")
-
-def os_path():
-  from os import environ
-  return environ.get('PATH')
-
-genrule(
-  name = 'buck',
-  cmd = 'echo buck=`which buck`>$OUT;' +
-    ("echo PATH=\''%s'\' >>$OUT;" % shquote(os_path())),
-  out = 'buck.properties',
-  visibility = ['PUBLIC'],
-)
-
-export_file(
-  name = 'yang-registrator',
-  src = 'yang-registrator',
-  visibility = [ 'PUBLIC' ],
-)
-
-export_file(
-  name = 'yang-schema',
-  src = 'yang-schema',
-  visibility = [ 'PUBLIC' ],
-)
-
-export_file(
-  name = 'grpc',
-  src = 'grpc',
-  visibility = [ 'PUBLIC' ],
-)
diff --git a/buck-tools/default.defs b/buck-tools/default.defs
deleted file mode 100644
index 0e3ff13..0000000
--- a/buck-tools/default.defs
+++ /dev/null
@@ -1,15 +0,0 @@
-include_defs('//onos.defs')
-include_defs('//bucklets/maven_jar.bucklet')
-include_defs('//bucklets/onos.bucklet')
-include_defs('//bucklets/onos_app.bucklet')
-include_defs('//bucklets/yang.bucklet')
-include_defs('//bucklets/remote_jar.bucklet')
-include_defs('//bucklets/grpc.bucklet')
-include_defs('//bucklets/jaxb2.bucklet')
-
-BASE_DEPS = [
-    '//lib:junit',
-    '//lib:hamcrest-all',
-    '//lib:slf4j-api',
-    '//lib:guava-testlib',
-]
diff --git a/buck-tools/grpc b/buck-tools/grpc
deleted file mode 100755
index 9a8fa27..0000000
--- a/buck-tools/grpc
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/bash -e
-# -----------------------------------------------------------------------------
-# Generates the gRPC java artifacts from protobuf models.
-# -----------------------------------------------------------------------------
-out=$1
-shift
-proto_paths=$1
-shift
-protoc=$1
-shift
-plugin=$1
-shift
-
-#set -x
-
-dir=$(dirname $out)
-mkdir -p $dir
-
-$protoc \
-    --plugin=protoc-gen-grpc-java=$plugin \
-    --grpc-java_out=$dir \
-    --java_out=$dir \
-    $proto_paths \
-    $*
-
-cd $dir
-jar -cf $out *
diff --git a/buck-tools/java_sources.defs b/buck-tools/java_sources.defs
deleted file mode 100644
index 0b3974e..0000000
--- a/buck-tools/java_sources.defs
+++ /dev/null
@@ -1,10 +0,0 @@
-def java_sources(
-    name,
-    srcs,
-    visibility = []
-  ):
-  java_library(
-    name = name,
-    resources = srcs,
-    visibility = visibility,
-  )
diff --git a/buck-tools/onos_app.py b/buck-tools/onos_app.py
deleted file mode 100755
index bbb053c..0000000
--- a/buck-tools/onos_app.py
+++ /dev/null
@@ -1,219 +0,0 @@
-#!/usr/bin/env python
-#FIXME Add license
-
-##### Templates for features.xml
-FEATURES_HEADER = '''\
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<features xmlns="http://karaf.apache.org/xmlns/features/v1.2.0"
-          name="%(feature_repo_name)s">
-'''
-FEATURE_HEADER= '''\
-    <feature name="%(feature_name)s" version="%(version)s"
-             description="%(title)s">
-'''
-EXISTING_FEATURE = '        <feature>%s</feature>\n'
-BUNDLE = '        <bundle>%s</bundle>\n'
-FEATURE_FOOTER = '    </feature>\n'
-FEATURES_FOOTER = '</features>'
-
-##### Templates for app.xml
-APP_HEADER = '''\
-<?xml version="1.0" encoding="UTF-8"?>
-<app name="%(app_name)s" origin="%(origin)s" version="%(version)s"
-        title="%(title)s" category="%(category)s" url="%(url)s"
-        featuresRepo="%(feature_repo_name)s"
-        features="%(feature_name)s" apps="%(apps)s">
-    <description>%(description)s</description>
-'''
-ARTIFACT = '    <artifact>%s</artifact>\n'
-SECURITY = '''\
-    <security>
-%s
-    </security>\n'''
-APP_FOOTER = '</app>'
-
-NON_OSGI_TAG = 'NON-OSGI'
-
-def mvnUrl(bundle):
-    #mvn-uri := 'mvn:' [ repository-url '!' ] group-id '/' artifact-id [ '/' [version] [ '/' [type] [ '/' classifier ] ] ] ]
-    parts = bundle.split(':')
-    prefix = 'mvn:'
-    suffix = ''
-    if len(parts) > 3:
-        parts.insert(2, parts.pop()) # move version to the 3rd position
-    if len(parts) >= 5:
-        # check classifier for special non-OSGi tag
-        i = parts[4].find(NON_OSGI_TAG)
-        if i == 0:
-            prefix = 'wrap:' + prefix
-            suffix = '$Bundle-SymbolicName=%s.%s&amp;Bundle-Version=%s' % tuple(parts[0:3])
-            if len(parts[4]) == len(NON_OSGI_TAG):
-                parts.pop() # pop off empty classifier
-                if parts[3].lower() == 'jar':
-                    parts.pop() # pop off default extension: jar
-            else:
-                parts[4] = parts[4][len(NON_OSGI_TAG):]
-    return prefix + '/'.join(parts) + suffix
-
-def generateFeatureFile(feature_repo_name,
-                        features = [],
-                        **kwargs):
-    values = {
-        'feature_repo_name' : '-'.join(feature_repo_name.split(':')[1:3]),
-    }
-
-    output = FEATURES_HEADER % values
-
-    for feature in features:
-        output += feature
-
-    output += FEATURES_FOOTER
-    return output
-
-def generateFeature(feature_name,
-                    version,
-                    title,
-                    features = [],
-                    bundles = [],
-                    **kwargs):
-    values = {
-        'feature_name' : feature_name,
-        'version' : version,
-        'title' : title,
-    }
-
-    output = FEATURE_HEADER % values
-
-    if features:
-        for feature in features:
-            output += EXISTING_FEATURE % feature
-
-    if bundles:
-        for bundle in bundles:
-            output += BUNDLE % mvnUrl(bundle)
-
-    output += FEATURE_FOOTER
-    return output
-
-
-def generateAppFile(app_name,
-                    origin,
-                    version,
-                    title,
-                    category,
-                    url,
-                    feature_repo_name,
-                    feature_name,
-                    description = None,
-                    apps = [],
-                    artifacts = [],
-                    security= None,
-                    **kwargs):
-    values = {
-        'app_name' : app_name,
-        'origin' : origin,
-        'version' : version,
-        'title' : title,
-        'category' : category,
-        'url' : url,
-        'feature_repo_name' : mvnUrl(feature_repo_name) + '/xml/features',
-        'feature_name' : feature_name,
-    }
-
-    values['description'] = description if description else title
-    values['apps'] = ','.join(apps) if apps else ''
-
-    output = APP_HEADER % values
-
-    for artifact in artifacts:
-        output += ARTIFACT % mvnUrl(artifact)
-
-    if security is not None:
-        output += SECURITY % security
-
-    output += APP_FOOTER
-    return output
-
-
-if __name__ == '__main__':
-    import sys, optparse
-
-    parser = optparse.OptionParser()
-    parser.add_option("-n", "--name",     dest="feature_coords", help="Feature MVN Coords")
-    parser.add_option("-a", "--app",      dest="app_name",     help="App Name")
-    parser.add_option("-o", "--origin",   dest="origin",       help="Origin")
-    parser.add_option("-c", "--category", dest="category",     help="Category")
-    parser.add_option("-u", "--url",      dest="url",          help="URL")
-    parser.add_option("-v", "--version",  dest="version",      help="Version")
-    parser.add_option("-t", "--title",    dest="title",        help="Title")
-    parser.add_option("-r", "--repo",     dest="repo_name",    help="Repo Name")
-    parser.add_option('-D', '--desc',     dest='desc',         help='Application description')
-    parser.add_option('-s', '--security', dest='security',     help='Application security')
-
-    parser.add_option('-b', '--bundle',
-                      action="append", dest='included_bundles',
-                      metavar="BUNDLE", help='Included Bundle (multiple allowed)')
-    parser.add_option('-e', '--excluded-bundle',
-                      action="append", dest='excluded_bundles',
-                      metavar="BUNDLE", help='Excluded Bundle (multiple allowed)')
-    parser.add_option('-f', '--feature',
-                      action="append", dest='features',
-                      metavar="FEATURE", help='Existing Feature (multiple allowed)')
-    parser.add_option('-d', '--apps',
-                      action="append", dest='apps',
-                      metavar="FEATURE", help='Required App (multiple allowed)')
-
-    parser.add_option("-A", "--write-app", dest="write_app", action="store_true")
-    parser.add_option("-F", "--write-features", dest="write_features", action="store_true")
-    parser.add_option("-E", "--write-feature", dest="write_feature", action="store_true")
-
-    (options, args) = parser.parse_args()
-
-    values = {}
-    if options.feature_coords and options.version and options.title:
-        parts = options.feature_coords.split(':')
-        values['feature_name'] = parts[1] if len(parts) > 1 else parts[0]
-        values['version'] = options.version
-        values['title'] = options.title
-    else:
-        sys.stderr.write('ERROR: Feature Name, Version, and Title are required\n')
-        sys.stderr.flush()
-        sys.exit(1)
-
-    if options.app_name and options.origin and options.category and options.url:
-        values['app_name'] = options.app_name
-        values['origin'] = options.origin
-        values['category'] = options.category
-        values['url'] = options.url
-    elif options.write_app:
-        sys.stderr.write('ERROR: Feature Name, Version, and Title are required\n')
-        sys.stderr.flush()
-        sys.exit(1)
-
-    values['feature_repo_name'] = options.repo_name if options.repo_name \
-                                    else options.feature_coords
-
-    bundles = []
-    if options.included_bundles:
-        bundles += options.included_bundles
-    if options.excluded_bundles:
-        bundles += options.excluded_bundles
-    if options.desc:
-        values['description'] = options.desc
-
-    feature = generateFeature(bundles=bundles,
-                              features=options.features,
-                              **values)
-
-    if options.write_feature:
-        print feature
-
-    if options.write_features:
-        print generateFeatureFile(features=[ feature ],
-                                  **values)
-
-    if options.write_app:
-        print generateAppFile(artifacts=options.included_bundles,
-                              apps=options.apps,
-                              security=options.security,
-                              **values)
\ No newline at end of file
diff --git a/buck-tools/onos_feature.py b/buck-tools/onos_feature.py
deleted file mode 100755
index 731ce71..0000000
--- a/buck-tools/onos_feature.py
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/env python
-#FIXME Add license
-
-from zipfile import ZipFile
-
-def generateOar(output, files=[]):
-    # Note this is not a compressed zip
-    with ZipFile(output, 'w') as zip:
-        for file, mvnCoords in files:
-            filename = file.split('/')[-1]
-            if mvnCoords == 'NONE':
-                dest = filename
-            else:
-                parts = mvnCoords.split(':')
-                if len(parts) > 3:
-                    parts.insert(2, parts.pop()) # move version to the 3rd position
-                groupId, artifactId, version = parts[0:3]
-                groupId = groupId.replace('.', '/')
-                extension = filename.split('.')[-1]
-                if extension == 'jar':
-                    filename = '%s-%s.jar' % ( artifactId, version )
-                elif 'features.xml' in filename:
-                    filename = '%s-%s-features.xml' % ( artifactId, version )
-                dest = '%s/%s/%s/%s' % ( groupId, artifactId, version, filename )
-            zip.write(file, dest)
-
-if __name__ == '__main__':
-    import sys
-
-    if len(sys.argv) < 2:
-        print 'USAGE'
-        sys.exit(1)
-
-    output = sys.argv[1]
-    args = sys.argv[2:]
-
-    if len(args) % 2 != 0:
-        print 'There must be an even number of args: file mvn_coords'
-        sys.exit(2)
-
-    files = zip(*[iter(args)]*2)
-    generateOar(output, files)
diff --git a/buck-tools/onos_oar.py b/buck-tools/onos_oar.py
deleted file mode 100755
index 30f70f5..0000000
--- a/buck-tools/onos_oar.py
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/env python
-#FIXME Add license
-
-from zipfile import ZipFile
-
-def generateOar(output, files=[]):
-    # Note this is not a compressed zip
-    with ZipFile(output, 'w') as zip:
-        for file, mvnCoords in files:
-            filename = file.split('/')[-1]
-            if mvnCoords == 'NONE':
-                dest = filename
-            else:
-                parts = mvnCoords.split(':')
-                if len(parts) > 3:
-                    parts.insert(2, parts.pop()) # move version to the 3rd position
-                groupId, artifactId, version = parts[0:3]
-                groupId = groupId.replace('.', '/')
-                extension = filename.split('.')[-1]
-                if extension == 'jar':
-                    filename = '%s-%s.jar' % ( artifactId, version )
-                elif 'features.xml' in filename:
-                    filename = '%s-%s-features.xml' % ( artifactId, version )
-                dest = 'm2/%s/%s/%s/%s' % ( groupId, artifactId, version, filename )
-            zip.write(file, dest)
-
-if __name__ == '__main__':
-    import sys
-
-    if len(sys.argv) < 2:
-        print 'USAGE'
-        sys.exit(1)
-
-    output = sys.argv[1]
-    args = sys.argv[2:]
-
-    if len(args) % 2 != 0:
-        print 'There must be an even number of args: file mvn_coords'
-        sys.exit(2)
-
-    files = zip(*[iter(args)]*2)
-    generateOar(output, files)
diff --git a/buck-tools/onos_stage.py b/buck-tools/onos_stage.py
deleted file mode 100755
index 8991dfa..0000000
--- a/buck-tools/onos_stage.py
+++ /dev/null
@@ -1,94 +0,0 @@
-#!/usr/bin/env python
-#FIXME Add license
-
-import re
-import os
-from zipfile import ZipFile
-from tarfile import TarFile, TarInfo
-import tarfile
-import time
-from cStringIO import StringIO
-import subprocess
-
-
-written_files = set()
-now = time.time()
-
-def addFile(tar, dest, file, file_size):
-    if dest not in written_files:
-        info = TarInfo(dest)
-        info.size = file_size
-        info.mtime = now
-        info.mode = 0777
-        tar.addfile(info, fileobj=file)
-        written_files.add(dest)
-
-def addString(tar, dest, string):
-    if dest not in written_files:
-        print dest, string
-        info = TarInfo(dest)
-        info.size = len(string)
-        info.mtime = now
-        info.mode = 0777
-        file = StringIO(string)
-        tar.addfile(info, fileobj=file)
-        file.close()
-        written_files.add(dest)
-
-def getHash():
-    p = subprocess.Popen('git rev-parse --verify HEAD --short', stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
-    (output, err) = p.communicate()
-    return output if p.wait() == 0 else '0000000000'
-
-def stageOnos(output, version, files=[]):
-    base = 'onos-%s/' % version
-
-    runtimeVersion = version
-    if version.endswith('-SNAPSHOT'):
-        runtimeVersion = version.replace('-SNAPSHOT', '.%s' % getHash())
-
-    # Note this is not a compressed zip
-    with tarfile.open(output, 'w:gz') as output:
-        for file in files:
-            if '.zip' in file:
-                with ZipFile(file, 'r') as zip_part:
-                    for f in zip_part.infolist():
-                        dest = f.filename
-                        if base not in dest:
-                            dest = base + 'apache-karaf-3.0.8/system/' + f.filename
-                        addFile(output, dest, zip_part.open(f), f.file_size)
-            elif '.oar' in file:
-                with ZipFile(file, 'r') as oar:
-                    app_xml = oar.open('app.xml').read()
-                    app_name = re.search('name="([^"]+)"', app_xml).group(1)
-                    dest = base + 'apps/%(name)s/%(name)s.oar' % { 'name': app_name}
-                    addFile(output, dest, open(file), os.stat(file).st_size)
-                    dest = base + 'apps/%s/app.xml' % app_name
-                    addString(output, dest, app_xml)
-                    for f in oar.infolist():
-                        filename = f.filename
-                        if 'm2' in filename:
-                            dest = base + 'apache-karaf-3.0.8/system/' + filename[3:]
-                            if dest not in written_files:
-                                addFile(output, dest, oar.open(f), f.file_size)
-                                written_files.add(dest)
-            elif 'features.xml' in file:
-                dest = base + 'apache-karaf-3.0.8/system/org/onosproject/onos-features/%s/' % version
-                dest += 'onos-features-%s-features.xml' % version
-                with open(file) as f:
-                    addFile(output, dest, f, os.stat(file).st_size)
-        addString(output, base + 'apps/org.onosproject.drivers/active', '')
-        addString(output, base + 'VERSION', runtimeVersion)
-
-if __name__ == '__main__':
-    import sys
-
-    if len(sys.argv) < 3:
-        print 'USAGE' #FIXME
-        sys.exit(1)
-
-    output = sys.argv[1]
-    version = sys.argv[2]
-    args = sys.argv[3:]
-
-    stageOnos(output, version, args)
diff --git a/buck-tools/yang-registrator b/buck-tools/yang-registrator
deleted file mode 100755
index 76f0cda..0000000
--- a/buck-tools/yang-registrator
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/bash
-# -----------------------------------------------------------------------------
-# Generates YANG Model registrator component.
-# -----------------------------------------------------------------------------
-
-output=$1
-package=$2
-shift 2
-
-aux=/tmp/yr-$$
-
-trap "rm -fr $aux" EXIT
-
-pkgDir=$aux/${package//./\/}
-rm -fr $aux $output
-mkdir -p $pkgDir
-cd $aux
-
-cat <<EOF >$output
-// Auto-generated code
-package $package;
-
-import org.onosproject.yang.AbstractYangModelRegistrator;
-import org.osgi.service.component.annotations.Component;
-
-@Component(immediate = true)
-public class YangModelRegistrator extends AbstractYangModelRegistrator {
-    public YangModelRegistrator() {
-        super(YangModelRegistrator.class);
-    }
-}
-EOF
diff --git a/buck-tools/yang-schema b/buck-tools/yang-schema
deleted file mode 100755
index bcb6e1b..0000000
--- a/buck-tools/yang-schema
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/bash
-# -----------------------------------------------------------------------------
-# Extracts YANG model schema and YANG sources from a YANG model jar.
-# -----------------------------------------------------------------------------
-
-output=$1
-jar=$2
-
-aux=/tmp/ys-$$
-trap "rm -fr $aux" EXIT
-
-rm -fr $aux
-mkdir -p $aux $output
-
-cd $aux
-jar xf $jar
-mv yang/* $output
\ No newline at end of file
diff --git a/bucklets/grpc.bucklet b/bucklets/grpc.bucklet
deleted file mode 100644
index 53ab5ef..0000000
--- a/bucklets/grpc.bucklet
+++ /dev/null
@@ -1,134 +0,0 @@
-include_defs('//onos.defs')
-include_defs('//bucklets/onos.bucklet')
-
-
-DEFAULT_PROTOC_VERSION = '3.2.0'
-DEFAULT_GRPC_PLUGIN_VERSION = '1.3.1'
-
-PROTOC_RELEASE_BASE_URL = "https://github.com/google/protobuf/releases/download"
-GRPC_PLUGIN_BASE_URL = "https://repo1.maven.org/maven2/io/grpc/protoc-gen-grpc-java"
-
-PROTOC_SHA1S = {
-    "protoc-3.0.2-linux-x86_64.zip":"779ed606f524eb2c8c116b0fce7a3bc6507769e7",
-    "protoc-3.0.2-osx-x86_64.zip":"f71d97affca4ffe32747772539c0bcbf76c9dc9b",
-    "protoc-3.2.0-linux-x86_64.zip":"f418d246d183a534d9bd749e614f639a55f6829b",
-    "protoc-3.2.0-osx-x86_64.zip":"81f4fac3200ba2cb12a98df0a9ee4d1c584e9210",
-}
-
-GRPC_JAVA_SHA1S = {
-    "protoc-gen-grpc-java-1.3.1-linux-x86_64.exe":"9598b00ad0f41a6bd6aeb01f647903dbc62792cc",
-    "protoc-gen-grpc-java-1.3.1-osx-x86_64.exe":"f4eccb96524b8b9f152024890550d9b88398b8cd"
-}
-
-#Returns the string for the OS and architecture of the system of the form 'OS-ARCH'
-def get_system_arch():
-    import platform
-    os = platform.system().lower()
-    arch = platform.machine()
-    if os == "darwin":
-        os = "osx"
-    return "%s-%s" % ( os, arch)
-
-def fetch_protoc(
-        version
-    ):
-    file_name = "protoc-%s-%s.zip" % (version, get_system_arch())
-    if file_name not in PROTOC_SHA1S:
-        raise Exception('Cannot download %s, architecture or version not supported' % file_name)
-    remote_file(
-        name = 'protoc-release-' + version,
-        url = PROTOC_RELEASE_BASE_URL + '/v' + version + '/' + file_name,
-        sha1 = PROTOC_SHA1S[file_name],
-    )
-    genrule(
-        name = 'protoc-exe-' + version,
-        bash = 'jar xf $(location :protoc-release-' + version + ') bin/protoc && ' +
-                'mv bin/protoc $OUT && ' +
-                'chmod +x $OUT',
-        out = 'protoc.exe',
-        executable = True,
-        visibility = [ "PUBLIC" ],
-    )
-    genrule(
-        name = 'protoc-lib-' + version,
-        bash = 'jar xf $(location :protoc-release-' + version + ') include && mv include $OUT',
-        out = 'include',
-        visibility = [ "PUBLIC" ],
-    )
-
-def fetch_grpc_plugin(
-        version
-):
-    file_name = "protoc-gen-grpc-java-%s-%s.exe" % (version, get_system_arch())
-    if file_name not in GRPC_JAVA_SHA1S:
-        raise Exception('Cannot download %s, architecture or version not supported' % file_name)
-    remote_file(
-        name = 'grpc-plugin-binary-' + version,
-        url = GRPC_PLUGIN_BASE_URL + '/' + version + '/' + file_name,
-        sha1 = GRPC_JAVA_SHA1S[file_name],
-    )
-    genrule(
-        name = 'grpc-plugin-exe-' + version,
-        bash = 'cp $(location :grpc-plugin-binary-' + version + ') $OUT && chmod +x $OUT',
-        executable = True,
-        visibility = [ "PUBLIC" ],
-        out = 'grpc-plugin.exe',
-    )
-
-def _get_name():
-    base_path = get_base_path()
-    return ONOS_ARTIFACT_BASE + base_path.replace('/', '-') #TODO Unix-separator
-
-def grpc_jar(
-    name = None,
-    deps = [],
-    #NOTE: if targeting a directory also built with maven this path MUST end in
-    # /proto because maven plugin interprets imports relative to the proto
-    # directory and BUCK interprets imports relative to the last directory
-    # listed in the first listed proto_path which contains the specified
-    # file
-    proto_paths = [],
-    srcs = [],
-    src_string = '', # Useful to build proto files external to the ONOS sources, using BUCK's environment variables.
-    proto_match_patterns = [ "src/main/proto/**/*.proto" ],
-    protoc_version = DEFAULT_PROTOC_VERSION,
-    plugin_version = DEFAULT_GRPC_PLUGIN_VERSION,
-    include_std_lib = False,
-    **kwargs
-    ):
-
-    #Get the correct name for the protoc compilation call
-    if name is None:
-        name = _get_name()
-
-    # Create the string for the proto_path arguments (order matters, similar to classpath)
-
-    if include_std_lib:
-        # Add protoc standard lib to the includes
-        proto_paths = ['$(location //incubator/protobuf-dependencies:protoc-lib-' + protoc_version + ')'] + proto_paths
-
-    if len(proto_paths) != 0:
-        proto_paths_string = "-I=" + reduce(lambda a,b:  a +" -I=" + b, proto_paths)
-    else:
-        proto_paths_string = ""
-    protoc = name + '-protoc'
-
-    genrule(
-        name = protoc,
-        srcs = glob(proto_match_patterns),
-        out = 'grpc.src.zip',
-        cmd = '$(location //buck-tools:grpc) $OUT '
-              + '\"' + proto_paths_string + '\" '
-              + '$(location //incubator/protobuf-dependencies:protoc-exe-'+ protoc_version + ') '
-              + '$(location //incubator/grpc-dependencies:grpc-plugin-exe-' + plugin_version + ') '
-              + '$SRCS' + src_string,
-    )
-
-    osgi_jar(
-        name = name,
-        srcs = [ ':' + protoc ],
-        deps = deps + [ ':' + protoc ],
-        do_javadocs = False,
-        do_checkstyle = False,
-        **kwargs
-    )
diff --git a/bucklets/jaxb2.bucklet b/bucklets/jaxb2.bucklet
deleted file mode 100644
index f3bb9fb..0000000
--- a/bucklets/jaxb2.bucklet
+++ /dev/null
@@ -1,64 +0,0 @@
-#
-# Copyright 2017-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.
-#
-# Bucklet to create Java Code from XSD using the 'xjc' tool from the JAXB API v2.
-# The genrule() creates the Java code, zips it and puts it in the output of jaxb2-xjc
-# The osgi_jar_with_tests() takes the sources in this ZIP and adds them to what ever
-# sources were used in the call to this method, and compiles all of them and adds
-# them to a JAR file in the output folder
-
-include_defs('//onos.defs')
-include_defs('//bucklets/onos.bucklet')
-
-def _get_name():
-    base_path = get_base_path()
-    return ONOS_ARTIFACT_BASE + base_path.replace('/', '-') #TODO Unix-separator
-
-def jaxb2_xjc_osgi_jar(
-    name,
-    srcs,
-    xsd,
-    bindinfo=None,
-    destdir='.',
-    deps=[],
-    test_deps=[],
-    visibility = [],
-    **kwargs
-    ):
-    if name is None:
-          name = _get_name()
-
-    cmd = 'xjc '+xsd
-    if bindinfo is not None:
-        cmd=cmd+' -b '+bindinfo
-        cmd=cmd+' -d '+destdir
-
-    genrule(
-        name = 'jaxb2-xjc',
-        srcs = glob(['src/main/resources/*.xsd','src/main/resources/*.xjb']),
-        bash = cmd + ' && zip $OUT -r *',
-        out = name+'.src.zip',
-        visibility = [ ],
-    )
-
-    osgi_jar_with_tests (
-        deps = [":jaxb2-xjc"] + deps,
-        srcs = [':jaxb2-xjc'] + srcs,
-        test_deps = test_deps,
-        do_javadocs = False,
-        do_checkstyle = False,
-        **kwargs
-    )
-
diff --git a/bucklets/maven_jar.bucklet b/bucklets/maven_jar.bucklet
deleted file mode 100644
index 35af13d..0000000
--- a/bucklets/maven_jar.bucklet
+++ /dev/null
@@ -1,202 +0,0 @@
-# Copyright (C) 2013 The Android Open Source Project
-#
-# 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.
-
-GERRIT = 'GERRIT:'
-GERRIT_API = 'GERRIT_API:'
-MAVEN_CENTRAL = 'MAVEN_CENTRAL:'
-MAVEN_LOCAL = 'MAVEN_LOCAL:'
-
-def define_license(name):
-  n = 'LICENSE-' + name
-  genrule(
-    name = n,
-    cmd = 'ln -s $SRCS $OUT',
-    srcs = [n],
-    out = n,
-    visibility = ['PUBLIC'],
-  )
-
-def maven_jar(
-    name,
-    id,
-    license,
-    exclude = [],
-    exclude_java_sources = False,
-    unsign = False,
-    deps = [],
-    exported_deps = [],
-    sha1 = '', bin_sha1 = '', src_sha1 = '',
-    repository = MAVEN_CENTRAL,
-    attach_source = True,
-    visibility = ['PUBLIC'],
-    local_license = False,
-    full_url = ''):
-
-  if not full_url:
-    groupId, artifactId, version = id.split(':')
-
-    prebuilt_jar(
-            name = name,
-            binary_jar = ':%s-jar' % name,
-            maven_coords = id,
-            visibility = [ 'PUBLIC' ]
-    )
-
-    remote_file(
-            name = name + '-jar',
-            out = '%s-%s.jar' % (artifactId, version),
-            url = 'mvn:%s:%s:%s:%s' % (groupId, artifactId, 'jar', version),
-            sha1 = sha1
-    )
-    return
-
-  from os import path
-
-  parts = id.split(':')
-  if len(parts) not in [3, 4]:
-    raise NameError('%s:\nexpected id="groupId:artifactId:version[:classifier]"'
-                    % id)
-  if len(parts) == 4:
-    group, artifact, version, classifier = parts
-  else:
-    group, artifact, version = parts
-    classifier = None
-
-  # SNAPSHOT artifacts are handled differently on Google storage bucket:
-  # 'SNAPSHOT' is discarded from the directory name. However on other
-  # Maven repositories, most notable local repository located in
-  # ~/.m2/repository (and is supported through MAVEN_LOCAL repository)
-  # it must be preserved, otherwise the artifact wouldn't be found.
-  # Atm the SNAPSHOT part is only discarded for Google storage bucket.
-  if 'SNAPSHOT' in version and repository.startswith(GERRIT):
-    file_version = version.replace('-SNAPSHOT', '')
-    version = version.split('-SNAPSHOT')[0] + '-SNAPSHOT'
-  else:
-    file_version = version
-
-  if classifier is not None:
-    file_version += '-' + classifier
-
-  jar = path.join(name, artifact.lower() + '-' + file_version)
-
-  url = '/'.join([
-    repository,
-    group.replace('.', '/'), artifact, version,
-    artifact + '-' + file_version])
-
-  if full_url != '':
-    url = full_url
-
-  binjar = jar + '.jar'
-  binurl = url + '.jar'
-
-  srcjar = jar + '-src.jar'
-  srcurl = url + '-sources.jar'
-
-  cmd = ['$(exe //buck-tools:download_file)', '-o', '$OUT', '-u', binurl]
-  if sha1:
-    cmd.extend(['-v', sha1])
-  elif bin_sha1:
-    cmd.extend(['-v', bin_sha1])
-  for x in exclude:
-    cmd.extend(['-x', x])
-  if exclude_java_sources:
-    cmd.append('--exclude_java_sources')
-  if unsign:
-    cmd.append('--unsign')
-
-  genrule(
-    name = '%s__download_bin' % name,
-    cmd = ' '.join(cmd),
-    out = binjar,
-  )
-  license = ':LICENSE-' + license
-  if not local_license:
-    license = '//lib' + license
-  license = [license]
-
-  if src_sha1 or attach_source:
-    cmd = ['$(exe //buck-tools:download_file)', '-o', '$OUT', '-u', srcurl]
-    if src_sha1:
-      cmd.extend(['-v', src_sha1])
-    genrule(
-      name = '%s__download_src' % name,
-      cmd = ' '.join(cmd),
-      out = srcjar,
-    )
-    prebuilt_jar(
-      name = '%s_src' % name,
-      binary_jar = ':%s__download_src' % name,
-      maven_coords = id,
-      deps = license,
-      visibility = visibility,
-    )
-  else:
-    srcjar = None
-    genrule(
-      name = '%s_src' % name,
-      cmd = ':>$OUT',
-      out = '__%s__no_src' % name,
-    )
-
-  if exported_deps:
-    prebuilt_jar(
-      name = '%s__jar' % name,
-      deps = deps + license,
-      binary_jar = ':%s__download_bin' % name,
-      source_jar = ':%s__download_src' % name if srcjar else None,
-      maven_coords = id,
-    )
-    java_library(
-      name = name,
-      exported_deps = exported_deps + [':' + name + '__jar'],
-      visibility = visibility,
-    )
-  else:
-    prebuilt_jar(
-      name = name,
-      deps = deps + license,
-      binary_jar = ':%s__download_bin' % name,
-      source_jar = ':%s__download_src' % name if srcjar else None,
-      visibility = visibility,
-      maven_coords = id,
-    )
-
-
-def merge_maven_jars(
-    name,
-    srcs,
-    visibility = []):
-
-  def cmd(jars):
-    return ('$(location //buck-tools:merge_jars) $OUT '
-            + ' '.join(['$(location %s)' % j for j in jars]))
-
-  genrule(
-    name = '%s__merged_bin' % name,
-    cmd = cmd(['%s__download_bin' % s for s in srcs]),
-    out = '%s__merged.jar' % name,
-  )
-  genrule(
-    name = '%s__merged_src' % name,
-    cmd = cmd(['%s__download_src' % s for s in srcs]),
-    # buck-tools/eclipse/project.py requires -src.jar suffix.
-    out = '%s__merged-src.jar' % name,
-  )
-  prebuilt_jar(
-    name = name,
-    binary_jar = ':%s__merged_bin' % name,
-    source_jar = ':%s__merged_src' % name,
-    visibility = visibility,
-  )
diff --git a/bucklets/node.bucklet b/bucklets/node.bucklet
deleted file mode 100644
index 15dfeb2..0000000
--- a/bucklets/node.bucklet
+++ /dev/null
@@ -1,35 +0,0 @@
-NODE_RELEASE_BASE_URL = "https://nodejs.org/dist/"
-
-NODE_SHA1S = {
-    "node-v8.1.2-linux-x64.tar.gz":"61a609c83e2d3458cc2301a63b212a97e6b9f809",
-    "node-v8.1.2-darwin-x64.tar.gz":"a8b31fd645480661a8a777d9b4466dca0e6deb33",
-    "node-v8.11.1-linux-x64.tar.gz":"ee0213f62185c36121c2daf8dcacd34ade90b10c",
-    "node-v8.11.1-darwin-x64.tar.gz":"01effb57fa711aa258d7aab26c6615e1f8a64b1a"
-}
-
-def get_system_arch():
-    import platform
-    os = platform.system().lower()
-    return os
-
-def fetch_node(version):
-    file_name = "node-%s-%s-x64" % (version, get_system_arch())
-    file_fullname = "node-%s-%s-x64.tar.gz" % (version, get_system_arch())
-    if file_fullname not in NODE_SHA1S:
-        raise Exception("Cannot download %s, architecture or version not supported" % file_name)
-
-    remote_file(
-        name = 'node-release-' + version,
-        url = NODE_RELEASE_BASE_URL + version + '/' + file_fullname,
-        sha1 = NODE_SHA1S[file_fullname],
-    )
-
-    genrule(
-        name = 'node-bin-' + version,
-        bash = 'tar --no-same-owner -xf $(location :node-release-' + version + ') && ' +
-               'mv ' + file_name + ' $OUT && ' +
-               'chmod +x $OUT',
-        out = 'node-binaries',
-        executable = False,
-        visibility = [ "PUBLIC" ],
-    )
diff --git a/bucklets/onos.bucklet b/bucklets/onos.bucklet
deleted file mode 100644
index f711d6f..0000000
--- a/bucklets/onos.bucklet
+++ /dev/null
@@ -1,390 +0,0 @@
-import random
-
-DEBUG_ARG='JAVA_TOOL_OPTIONS="-Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=5005,suspend=y"'
-FORCE_INSTALL=True
-NONE='NONE'
-
-SRC = 'src/main/java/**/'
-TEST = 'src/test/java/**/'
-RESOURCES_ROOT = 'src/main/resources/'
-TEST_RESOURCES_ROOT = 'src/test/resources/'
-
-include_defs('//onos.defs')
-
-def _get_name():
-    base_path = get_base_path()
-    return ONOS_ARTIFACT_BASE + base_path.replace('/', '-') #TODO Unix-separator
-
-def checkstyle(
-    name,
-    srcs = None,
-    jar_target = None,
-    ):
-
-    if srcs:
-        base = get_base_path()
-        # module name; base filepath; files (line-separated); empty line (to signify end of stream)
-        files = '%s\n%s\n' % (name, base) + '\n'.join(['%s/%s' % (base, s) for s in srcs]) + '\n\n'
-
-        genrule(
-                name = name + '-checkstyle-files',
-                bash = "echo '%s' > $OUT" % files,
-                srcs = srcs,
-                out = 'checkstyle-files.txt',
-        )
-
-        sh_test(
-                name = name + '-checkstyle',
-                test = '//tools/build/conf:start-buck-daemon',
-                deps = [ ':' + name + '-checkstyle-files',
-                         '//tools/build/conf:onos-java-header',
-                         '//tools/build/conf:onos-build-conf', ],
-                args = [
-                    '$(location //tools/build/conf:buck-daemon-jar)',
-                    'checkstyle',
-                    '$(location :' + name + '-checkstyle-files)',
-                    '$(location //tools/build/conf:checkstyle-xml)',
-                    '$(location //tools/build/conf:suppressions-xml)',
-                    ],
-                #TODO test_rule_timeout_ms seems to be ignored on Linux
-                test_rule_timeout_ms = 45000,
-                labels = [ 'checkstyle' ],
-        )
-
-def java_doc(
-    name,
-    title,
-    pkgs,
-    paths,
-    srcs = [],
-    deps = [],
-    visibility = [],
-    do_it_wrong = False,
-  ):
-  if do_it_wrong:
-    sourcepath = paths
-  else:
-    sourcepath = ['$SRCDIR/' + n for n in paths]
-
-  if len(srcs) != 0:
-    cmd = ' '.join([
-        'while ! test -f .buckconfig; do cd ..; done;',
-        'javadoc',
-        '-tag onos.rsModel:a:"onos model"',
-        '-quiet',
-        '-protected',
-        '-encoding UTF-8',
-        '-charset UTF-8',
-        '-notimestamp',
-        '-windowtitle "' + title + '"',
-        '-link http://docs.oracle.com/javase/8/docs/api',
-        '-subpackages ',
-        ':'.join(pkgs),
-        '-sourcepath ',
-        ':'.join(sourcepath),
-        ' -classpath ',
-        ':'.join(['$(classpath %s)' % n for n in deps]),
-        '-d $TMP',
-      ]) + ';jar cf $OUT -C $TMP .'
-
-    genrule(
-      name = name,
-      cmd = cmd,
-      srcs = srcs,
-      out = name + '.jar',
-      visibility = visibility,
-    )
-
-def sonar(
-    name,
-    test = False
-    ):
-
-  cmd = '; '.join([ 'rm -f $OUT',
-          'printf "%(src_base)s = " >> $OUT',
-          '%(srcs)s >> $OUT',
-          'echo "%(binary_base)s = %(classes)s" >> $OUT',
-          'printf "%(lib_base)s = " >> $OUT',
-          '%(libraries)s >> $OUT'
-        ]) % {
-          'srcs' : "echo $(srcs :%s) | sed 's/ /,/g'" % name,
-          'classes' : ("$(bin_dir :%s#non-osgi)" if not test else "$(bin_dir :%s)") % name,
-          'libraries' : "echo $(classpath :%s) | sed 's/:/,/g'" % name,
-          'src_base' : 'sonar.sources' if not test else 'sonar.tests',
-          'binary_base' : 'sonar.java.binaries' if not test else 'sonar.java.test.binaries',
-          'lib_base' : 'sonar.java.libraries' if not test else 'sonar.java.test.libraries'
-        }
-  # FIXME do we need to specify dep here or with the expander cover it?
-  genrule(
-      name = name + "-sonar",
-      cmd = cmd,
-      out = 'sonar-project.properties'
-  )
-
-def osgi_jar(
-    name = None,
-    srcs = None,
-    group_id = ONOS_GROUP_ID,
-    version = ONOS_VERSION,
-    deps = [],
-    visibility = ['PUBLIC'],
-    license = 'NONE',
-    description = '',
-    debug = False,
-    import_packages = '*',
-    dynamicimport_packages = '',
-    embedded_dependencies = '',
-    bundle_classpath = '',
-    export_packages = '!.,!*.impl.*,!*.internal.*,*',
-    package_name_root = 'org.onosproject',
-    include_resources = {},
-    web_context = NONE,
-    api_title = None,
-    api_version = NONE,
-    api_package = NONE,
-    api_description = NONE,
-    resources = NONE,
-    resources_root = None,
-    tests = None,
-    do_javadocs = True,
-    do_checkstyle = True,
-    **kwargs
-    ):
-
-  # if name and _get_name() != name:
-  #     print _get_name(), '!=', name
-  if name is None:
-      name = _get_name()
-
-  if srcs is None:
-      srcs = glob([SRC + '/*.java'])
-
-  if resources == NONE and resources_root is not None:
-      resources = glob([resources_root + '**'])
-  elif resources == NONE:
-      resources = glob([RESOURCES_ROOT + '**'])
-
-  if resources and not resources_root:
-      resources_root = RESOURCES_ROOT
-
-  mvn_coords = group_id + ':' + name + ':' + version
-
-  onos_jar(
-      name = name,
-      # FIXME webapp path hard coded here probably is not right
-      srcs = srcs + glob(['src/main/webapp/**'], excludes = ['src/main/webapp/tests/**']),
-      deps = deps,
-      visibility = visibility,
-      resources = resources,
-      resources_root = resources_root,
-      bundle_name = name,
-      group_id = group_id,
-      bundle_version = version,
-      bundle_license = license,
-      bundle_description = description,
-      import_packages = import_packages,
-      export_packages = export_packages,
-      include_resources = include_resources,
-      dynamicimport_packages = dynamicimport_packages,
-      embedded_dependencies = embedded_dependencies,
-      bundle_classpath = bundle_classpath,
-      web_context = web_context,
-      api_title = api_title,
-      api_version = api_version,
-      api_package = api_package,
-      api_description = api_description,
-      tests = tests,
-      maven_coords = mvn_coords,
-      **kwargs
-  )
-
-  ### Checkstyle
-  if do_checkstyle:
-      checkstyle(
-          name = name,
-          srcs = srcs,
-      )
-
-  if do_javadocs:
-      java_doc(
-           name = name + '-javadoc',
-           title = 'Java Docs',
-           pkgs = [ package_name_root ],
-           paths = [ 'src/main/java' ],
-           srcs = srcs,
-           deps = deps,
-           visibility = visibility,
-           do_it_wrong = False,
-      )
-
-  # TODO add project config for intellij
-  # project_config(
-  #   src_target = ':' + name,
-  #   src_roots = [ 'src/main/java' ],
-  #   test_target = ':' + name + '-tests',
-  #   test_roots = [ 'src/test/java' ],
-  # )
-
-  ### .m2 Install
-  mvn_cmd = ' '.join(( 'mvn install:install-file',
-                       '-Dfile=$(location :%s)' % name,
-                       '-DgroupId=%s' % group_id,
-                       '-DartifactId=%s' % name,
-                       '-Dversion=%s' % version,
-                       '-Dpackaging=jar' ))
-  cmd = mvn_cmd + ' > $OUT'
-  if FORCE_INSTALL:
-    # Add a random number to the command to force this rule to run.
-    # TODO We should make this configurable from CLI, perhaps with a flag.
-    cmd = 'FOO=%s ' % random.random() + cmd
-  genrule(
-    name = name + '-install',
-    bash = cmd,
-    out = 'install.log',
-    visibility = visibility,
-  )
-  sonar(
-    name = name,
-  )
-
-def osgi_jar_with_tests(
-        name = None,
-        deps = [],
-        group_id = ONOS_GROUP_ID,
-        version = ONOS_VERSION,
-        test_srcs = None,
-        test_deps = [ '//lib:TEST' ],
-        test_resources = None,
-        test_resources_root = None,
-        visibility = [ 'PUBLIC' ],
-        **kwargs
-    ):
-
-  if name is None:
-      name = _get_name()
-
-  if test_resources and not test_resources_root:
-      test_resources_root = TEST_RESOURCES_ROOT
-  if test_resources_root and not test_resources:
-      test_resources = glob([test_resources_root + '**'])
-  if not test_resources and not test_resources_root:
-      test_resources = glob([TEST_RESOURCES_ROOT + '**'])
-      if test_resources:
-        test_resources_root = TEST_RESOURCES_ROOT
-
-  if test_srcs is None:
-      test_srcs = glob([TEST + '/*.java'])
-
-  mvn_coords = group_id + ':' + name + ':jar:tests:' + version
-
-  if test_srcs:
-      java_test(
-        name = name + '-tests',
-        srcs = test_srcs,
-        deps = deps +
-               test_deps +
-               [':' + name + '#non-osgi'],
-        resources = test_resources,
-        resources_root = test_resources_root,
-        maven_coords = mvn_coords,
-        visibility = visibility,
-      )
-
-      checkstyle(
-          name = name + '-tests',
-          srcs = test_srcs,
-      )
-
-      sonar(
-          name = name + '-tests',
-          test = True
-      )
-
-      osgi_jar(name = name,
-               deps = deps,
-               group_id = group_id,
-               version = version,
-               visibility = visibility,
-               tests = [':' + name + '-tests'],
-               **kwargs)
-  else:
-      osgi_jar(name = name,
-               deps = deps,
-               group_id = group_id,
-               version = version,
-               visibility = visibility,
-               **kwargs)
-
-def tar_file(
-   name,
-   srcs,
-   other_tars = [],
-   flat = False,
-   root = None,
-   out = None,
-   visibility = [ 'PUBLIC' ],
-   ):
-
-   cmds = [ 'mkdir -p $TMP/%(root_dir)s',
-            'cp -R -L $SRCDIR/* $TMP/%(root_dir)s' ]
-   for t in other_tars:
-       cmds += [ 'tar -zxf $(location %s)' % t + ' -C $TMP/%(root_dir)s' ]
-
-   if flat:
-       cmds += [ 'find $TMP/%(root_dir)s -type f -exec mv {} $TMP/%(root_dir)s \;',
-                 'find $TMP/%(root_dir)s/* -type d -d -exec rmdir {} \;' ]
-
-   cmds += [ 'tar -C $TMP -zcf $OUT %(root_dir)s' ]
-
-   cmd = ' && '.join(cmds) % {
-           'root_dir': root if root is not None else name
-         }
-
-   genrule(
-       name = name,
-       srcs = srcs,
-       bash = cmd,
-       out = out if out is not None else ( root if root is not None else name ) + '.tar.gz',
-       visibility = visibility,
-   )
-
-def only_lib_dep_pom(
-    name,
-    src,
-    out,
-    version = ONOS_VERSION,
-    onosGroupId = ONOS_GROUP_ID,
-    visibility = [ 'PUBLIC' ],
-    ):
-
-    cmd = 'grep -v \<module\> ' + src + ' | sed "s#<modules>#<modules><module>lib</module>#" >$OUT'
-
-    genrule(
-        name = name,
-        srcs = [ src ],
-        bash = cmd,
-        out = out,
-        visibility = visibility,
-        maven_coords = onosGroupId + ':onos:pom:' + version,
-    )
-
-def pass_thru_pom(
-    name,
-    src,
-    out,
-    artifactId,
-    version = ONOS_VERSION,
-    onosGroupId = ONOS_GROUP_ID,
-    visibility = [ 'PUBLIC' ],
-    ):
-
-    cmd = 'cp ' + src + ' $OUT'
-
-    genrule(
-        name = name,
-        srcs = [ src ],
-        bash = cmd,
-        out = out,
-        visibility = visibility,
-        maven_coords = onosGroupId + ':' + artifactId + ':pom:' + version,
-    )
diff --git a/bucklets/onos_app.bucklet b/bucklets/onos_app.bucklet
deleted file mode 100644
index d0a0028..0000000
--- a/bucklets/onos_app.bucklet
+++ /dev/null
@@ -1,221 +0,0 @@
-include_defs('//onos.defs')
-
-DEFAULT_APP_CATEGORY = 'Utility'
-
-import os.path
-
-# FIXME Factor this into common place
-def _get_name():
-    base_path = get_base_path()
-    return ONOS_ARTIFACT_BASE + base_path.replace('/', '-') #TODO Unix-separator
-
-def _get_app_name():
-    base_path = get_base_path()
-    return APP_PREFIX + os.path.basename(base_path)
-
-def osgi_feature(
-        name,
-        title,
-        feature_coords = None,
-        version = ONOS_VERSION,
-        required_features = [ 'onos-api' ],
-        required_apps = [],
-        included_bundles = None,
-        excluded_bundles = [],
-        generate_file = False,
-        visibility = [ 'PUBLIC' ],
-        stage_repo = True,
-        maven_coords = None,
-    ):
-
-    if not feature_coords:
-        feature_coords = name
-    args = [ '-n %s' % feature_coords,
-             '-v %s' % version,
-             '-t "%s"' % title,
-             ]
-    args += [ '-f %s' % f for f in required_features ]
-    args += [ '-b $(maven_coords %s)' % b for b in included_bundles ]
-    args += [ '-e $(maven_coords %s)' % b for b in excluded_bundles ]
-    args += [ '-d %s' % a for a in required_apps ]
-
-    feature_cmd = '-F' if generate_file else '-E'
-
-    cmd = '$(exe //buck-tools:onos-app-writer) %s ' % feature_cmd
-    cmd += ' '.join(args) + ' > $OUT'
-    genrule(
-            name = name + '-feature',
-            bash = cmd,
-            out = 'features.xml',
-            visibility = visibility,
-            maven_coords = maven_coords,
-    )
-
-    if stage_repo:
-        sources = ['$(location %s) $(maven_coords %s)' % (i, i) for i in included_bundles]
-        genrule(
-                name = name + '-repo',
-                out = name + '-repo.zip.part',
-                bash = '$(exe //buck-tools:onos-feature) $OUT ' + ' '.join(sources),
-                visibility = visibility,
-        )
-
-FEATURES_HEADER = '''\
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<features xmlns="http://karaf.apache.org/xmlns/features/v1.2.0"
-          name="onos-%s">
-    <repository>mvn:org.apache.karaf.features/standard/3.0.8/xml/features</repository>
-
-''' % ONOS_VERSION
-
-FEATURES_FOOTER = '</features>'
-
-def compile_features(
-        name,
-        features = [],
-        maven_coords = None,
-        visibility = [ 'PUBLIC' ],
-    ):
-
-    cmd = "(echo '%s'; " % FEATURES_HEADER
-    cmd += ''.join(['cat $(location %s-feature); ' % s for s in features])
-    cmd += "echo '%s') > $OUT" % FEATURES_FOOTER
-
-    genrule(
-            name = name,
-            bash = cmd,
-            visibility = visibility,
-            out = 'features.xml',
-            maven_coords = maven_coords,
-    )
-
-
-#TODO rename this
-def osgi_feature_group(
-        name,
-        description = 'TEST',
-        version = ONOS_VERSION,
-        exported_deps = [],
-        visibility = ['PUBLIC'],
-        maven_coords = None,
-        **kwargs
-    ):
-    java_library(
-            name = name,
-            exported_deps = exported_deps, #compile only
-            visibility = visibility,
-    )
-
-    osgi_feature(
-            name = name,
-            feature_coords = name,
-            version = version,
-            title = description,
-            required_features = [],
-            included_bundles = exported_deps,
-            generate_file = False,
-            visibility = visibility,
-            maven_coords = maven_coords,
-    )
-
-
-
-def onos_app(
-        app_name = None,
-        name = None,
-        title = None,
-        version = ONOS_VERSION,
-        origin = ONOS_ORIGIN,
-        category = DEFAULT_APP_CATEGORY,
-        url = None,
-        description = None, #TODO make this a file
-        #TODO icon,
-        feature_coords = None,
-        required_features = [ 'onos-api' ],
-        required_apps = [],
-        included_bundles = None,
-        excluded_bundles = [],
-        visibility = [ 'PUBLIC' ],
-        security = None,
-        **kwargs):
-    if name is None:
-        name = _get_name()
-
-    if app_name is None:
-        app_name = _get_app_name()
-
-    maven_coords = '%s:%s:oar:%s' % ( ONOS_GROUP_ID, name, ONOS_VERSION )
-    feature_xml_coords = '%s:%s:xml:features:%s' % ( ONOS_GROUP_ID, name, ONOS_VERSION )
-
-    if title is None:
-        print "Missing title for %s" % _get_name()
-        title = _get_app_name()
-
-    if included_bundles is None:
-        target = ':' + name
-        included_bundles = [ target ]
-
-    if not feature_coords and len(included_bundles) == 1:
-        feature_coords = '$(maven_coords %s)' % included_bundles[0]
-
-    if not feature_coords:
-        feature_coords = '%s:%s:%s' % ( ONOS_GROUP_ID, name, ONOS_VERSION )
-
-    args = [ '-n %s' % feature_coords,
-             '-v %s' % version,
-             '-t "%s"' % title,
-             '-o "%s"' % origin,
-             '-c "%s"' % category,
-             '-a "%s"' % app_name,
-             '-u %s' % url,
-             ]
-    args += [ '-f %s' % f for f in required_features ]
-    args += [ '-b $(maven_coords %s)' % b for b in included_bundles ]
-    args += [ '-e $(maven_coords %s)' % b for b in excluded_bundles ]
-    args += [ '-d %s' % a for a in required_apps ]
-    if description is not None:
-        args += [ '-D "%s"' % description ]
-    if security is not None:
-        args += [ '-s "%s"' % security ]
-
-    # cmd = '$(exe //buck-tools:onos-app-writer) -F ' + ' '.join(args) + ' > $OUT'
-    # genrule(
-    #     name = name + '-feature',
-    #     bash = cmd,
-    #     out = 'features.xml',
-    #     visibility = [],
-    # )
-    osgi_feature(
-        name = name,
-        feature_coords = feature_coords,
-        version = version,
-        title = title,
-        required_features = required_features,
-        included_bundles = included_bundles,
-        excluded_bundles = excluded_bundles,
-        generate_file = True,
-        visibility = [],
-        stage_repo = False,
-        maven_coords = feature_xml_coords,
-    )
-
-    cmd = '$(exe //buck-tools:onos-app-writer) -A ' + ' '.join(args) + ' > $OUT'
-    genrule(
-        name = name + '-app-xml',
-        bash = cmd,
-        out = 'app.xml',
-        visibility = [],
-    )
-
-    sources = [
-        '$(location :%s-feature) %s' % (name, feature_coords),
-        '$(location :%s-app-xml) NONE' % name,
-    ]
-    sources += ['$(location %s) $(maven_coords %s)' % (i, i) for i in included_bundles]
-    genrule(
-        name = name + '-oar',
-        out = 'app.oar',
-        bash = '$(exe //buck-tools:onos-app-oar) $OUT ' + ' '.join(sources),
-        maven_coords = maven_coords,
-        visibility = visibility,
-    )
diff --git a/bucklets/remote_jar.bucklet b/bucklets/remote_jar.bucklet
deleted file mode 100644
index e45045a..0000000
--- a/bucklets/remote_jar.bucklet
+++ /dev/null
@@ -1,23 +0,0 @@
-def remote_jar (
-        name,
-        out,
-        url,
-        sha1,
-        maven_coords = None,
-        visibility = [ 'PUBLIC' ],
-    ):
-
-    prebuilt_jar(
-        name = name,
-        binary_jar = ':' + out,
-        maven_coords = maven_coords,
-        visibility = visibility,
-    )
-
-    remote_file(
-        name = out,
-        out = out,
-        url = url,
-        sha1 = sha1,
-        visibility = []
-    )
diff --git a/bucklets/yang.bucklet b/bucklets/yang.bucklet
deleted file mode 100644
index 8d5d83f..0000000
--- a/bucklets/yang.bucklet
+++ /dev/null
@@ -1,148 +0,0 @@
-include_defs('//onos.defs')
-include_defs('//bucklets/onos.bucklet')
-include_defs('//bucklets/onos_app.bucklet')
-
-def _get_name():
-    base_path = get_base_path()
-    return ONOS_ARTIFACT_BASE + base_path.replace('/', '-') #TODO Unix-separator
-
-YANG_TOOLS = [
-    '//lib:onos-yang-model',
-    '//lib:onos-yang-compiler-api',
-    '//lib:onos-yang-runtime',
-    '//lib:org.apache.felix.scr.annotations',
-    '//apps/yang:onos-apps-yang',
-]
-
-def yang_model(
-    name = None,
-    app_name = None,
-    model_id = None,
-    title = 'YANG Model',
-    url = 'http://onosproject.org',
-    description = None,
-    deps = [],
-    required_apps = [],
-    custom_registrator = False,
-    yang_src = None,
-    custom_src = None,
-    **kwargs
-    ):
-
-    if name is None:
-        name = _get_name()
-
-    if model_id is None:
-        model_id = app_name
-
-    if yang_src is None:
-        yang_src = glob(['src/main/yang/**/*.yang'])
-
-    if custom_src is None:
-        custom_src = glob(['src/main/java/**/*.java'])
-
-    yang = name + '-yang'
-    yangSrcs = yang + '#srcs'
-    schema = name + '-schema'
-    registrator = name + '-registrator'
-
-    yang_library(
-      deps = deps,
-      name = yang,
-      srcs = yang_src,
-      model_id = model_id
-    )
-
-    genrule(
-      name = schema,
-      srcs = [ ':' + yangSrcs ],
-      cmd = '$(location //buck-tools:yang-schema) $OUT $SRCS',
-      out = 'yang'
-    )
-
-    if custom_registrator:
-        osgi_jar(
-          name = name,
-          srcs = [ ':' + yangSrcs ] + custom_src,
-          deps = deps + YANG_TOOLS,
-          resources = [ ':' + schema ],
-          resources_root = ".",
-          do_checkstyle = True,
-          do_javadocs = False,
-        )
-    else:
-        genrule(
-          name = registrator,
-          srcs = [ ':' + yangSrcs ],
-          cmd = '$(location //buck-tools:yang-registrator) $OUT ' + app_name.replace('-', '_') + ' $SRCS',
-          out = 'YangModelRegistrator.java'
-        )
-        osgi_jar(
-          name = name,
-          srcs = [ ':' + yangSrcs, ':' + registrator ],
-          deps = deps + YANG_TOOLS,
-          resources = [ ':' + schema ],
-          resources_root = ".",
-          do_checkstyle = False,
-          do_javadocs = False,
-        )
-
-    onos_app (
-      name = name,
-      app_name = app_name,
-      title = title,
-      category = 'Models',
-      url = url,
-      description = description,
-      required_apps = required_apps + [ 'org.onosproject.yang' ],
-    )
-
-def yang_osgi_jar(
-    name = None,
-    srcs = None,
-    model_id = None,
-    group_id = ONOS_GROUP_ID,
-    version = ONOS_VERSION,
-    deps = [],
-    visibility = ['PUBLIC'],
-    license = 'NONE',
-    **kwargs
-    ):
-
-    if name is None:
-        name = _get_name()
-
-    if model_id is None:
-        model_id = name
-    yang_jar = name + '-yang'
-    bnd_jar = name + '-bnd'
-
-    args = { 'group':group_id, 'artifact':name, 'version':version }
-
-    yang_library(
-      deps = deps,
-      name = yang_jar,
-      srcs = srcs,
-      model_id = model_id,
-      visibility = [ ],
-    )
-
-    cmd = 'java -jar $(location //lib:bndexe) wrap -o $OUT '
-    cmd += '-b %(group)s.%(artifact)s ' % args
-    cmd += '-v ' + version.replace('-', '.') + ' '
-    cmd += '$(location :%s) ' % yang_jar
-    cmd += ' >/dev/null 2>&1'
-
-    genrule(
-         name = bnd_jar,
-         bash = cmd,
-         out = name + '.jar',
-         visibility = [],
-    )
-
-    prebuilt_jar(
-        name = name,
-        binary_jar = ':' + bnd_jar,
-        maven_coords = '%(group)s:%(artifact)s:%(version)s'%args,
-        visibility = visibility,
-    )
diff --git a/cli/BUCK b/cli/BUCK
deleted file mode 100644
index 3fedcf4..0000000
--- a/cli/BUCK
+++ /dev/null
@@ -1,16 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:METRICS',
-    '//lib:org.apache.karaf.shell.console',
-    '//incubator/api:onos-incubator-api',
-    '//incubator/net:onos-incubator-net',
-    '//utils/rest:onlab-rest',
-    '//core/common:onos-core-common',
-]
-
-osgi_jar (
-    deps = COMPILE_DEPS,
-    visibility = ['PUBLIC'],
-)
-
diff --git a/core/api/BUCK b/core/api/BUCK
deleted file mode 100644
index d4cdf8a..0000000
--- a/core/api/BUCK
+++ /dev/null
@@ -1,19 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:COMPILE',
-    '//lib:NETTY',
-    '//lib:JACKSON',
-    '//lib:METRICS',
-    '//lib:KRYO',
-    '//utils/misc:onlab-misc',
-    '//utils/osgi:onlab-osgi',
-    '//utils/rest:onlab-rest',
-    '//lib:joda-time',
-    '//lib:io_netty_netty',
-]
-
-osgi_jar_with_tests (
-    name = 'onos-api',
-    deps = COMPILE_DEPS,
-    javadoc_files = glob(['src/main/javadoc/**/*']),
-    javadoc_files_root = 'src/main/javadoc',
-)
diff --git a/core/common/BUCK b/core/common/BUCK
deleted file mode 100644
index 56c6970..0000000
--- a/core/common/BUCK
+++ /dev/null
@@ -1,19 +0,0 @@
-SRC_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:METRICS',
-    '//incubator/api:onos-incubator-api',
-    '//core/api:onos-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST',
-    '//core/api:onos-api-tests',
-]
-
-osgi_jar_with_tests (
-    name = 'onos-core-common',
-    deps = SRC_DEPS,
-    test_deps = TEST_DEPS,
-    visibility = ['PUBLIC'],
-)
diff --git a/core/net/BUCK b/core/net/BUCK
deleted file mode 100644
index 8a6bad8..0000000
--- a/core/net/BUCK
+++ /dev/null
@@ -1,29 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:METRICS',
-    '//lib:KRYO',
-    '//core/common:onos-core-common',
-    '//incubator/api:onos-incubator-api',
-    '//utils/rest:onlab-rest',
-    '//incubator/net:onos-incubator-net',
-    '//incubator/store:onos-incubator-store',
-    '//core/store/serializers:onos-core-serializers',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_REST',
-    '//lib:TEST_ADAPTERS',
-    '//core/store/dist:onos-core-dist',
-    '//core/store/dist:onos-core-dist-tests',
-    '//utils/osgi:onlab-osgi-tests',
-    '//pipelines/basic:onos-pipelines-basic',
-    '//lib:minimal-json',
-]
-
-osgi_jar_with_tests (
-    name = 'onos-core-net',
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    visibility = ['PUBLIC'],
-)
diff --git a/core/security/BUCK b/core/security/BUCK
deleted file mode 100644
index f6b0da3..0000000
--- a/core/security/BUCK
+++ /dev/null
@@ -1,33 +0,0 @@
-SRC = 'src/main/java/org/onosproject/security/**/'
-TEST = 'src/test/java/org/onosproject/security/**/'
-CURRENT_NAME = 'onos-security'
-CURRENT_TARGET = ':' + CURRENT_NAME
-
-
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//core/store/serializers:onos-core-serializers',
-    '//lib:org.apache.felix.framework.security',
-    '//core/api:onos-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST',
-]
-
-osgi_jar_with_tests (
-    name = 'onos-security',
-    srcs = glob([SRC + '/*.java']),
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    visibility = ['PUBLIC'],
-)
-
-java_test(
-    name = 'tests',
-    srcs = glob([TEST + '/*.java']),
-    deps = COMPILE_DEPS +
-           TEST_DEPS +
-           [CURRENT_TARGET],
-)
\ No newline at end of file
diff --git a/core/store/dist/BUCK b/core/store/dist/BUCK
deleted file mode 100644
index 608bfc9..0000000
--- a/core/store/dist/BUCK
+++ /dev/null
@@ -1,31 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:KRYO',
-    '//core/common:onos-core-common',
-    '//utils/rest:onlab-rest',
-    '//core/store/serializers:onos-core-serializers',
-    '//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',
-]
-
-TEST_DEPS = [
-    '//lib:TEST',
-    '//core/api:onos-api-tests',
-    '//core/common:onos-core-common-tests',
-]
-
-osgi_jar_with_tests (
-    name = 'onos-core-dist',
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    visibility = ['PUBLIC'],
-)
diff --git a/core/store/persistence/BUCK b/core/store/persistence/BUCK
deleted file mode 100644
index 01cfff7..0000000
--- a/core/store/persistence/BUCK
+++ /dev/null
@@ -1,15 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:mapdb',
-]
-
-TEST_DEPS = [
-    '//lib:TEST',
-]
-
-osgi_jar_with_tests (
-    name = 'onos-core-persistence',
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    visibility = ['PUBLIC'],
-)
diff --git a/core/store/primitives/BUCK b/core/store/primitives/BUCK
deleted file mode 100644
index ffe4fae..0000000
--- a/core/store/primitives/BUCK
+++ /dev/null
@@ -1,28 +0,0 @@
-include_defs('//core/store/primitives/primitives.bucklet')
-
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//lib:ATOMIX',
-    '//core/common:onos-core-common',
-    '//incubator/api:onos-incubator-api',
-    '//core/store/serializers:onos-core-serializers',
-]
-
-TEST_DEPS = [
-    '//lib:TEST',
-    '//core/api:onos-api-tests',
-    '//lib:io_netty_netty_handler',
-    '//lib:io_netty_netty_buffer',
-    '//lib:io_netty_netty_codec',
-    '//lib:io_netty_netty_resolver',
-    '//lib:commons-math3',
-]
-
-osgi_jar_with_tests (
-    name = 'onos-core-primitives',
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    visibility = ['PUBLIC'],
-    import_packages = INCLUDE_PACKAGES + ',' + ALL_PACKAGES,
-)
diff --git a/core/store/primitives/primitives.bucklet b/core/store/primitives/primitives.bucklet
deleted file mode 100644
index c9c2fc7..0000000
--- a/core/store/primitives/primitives.bucklet
+++ /dev/null
@@ -1,41 +0,0 @@
-# Base package names for core Atomix primitives
-_primitive_package_names = (
-    'barrier',
-    'collection',
-    'counter',
-    'election',
-    'idgenerator',
-    'iterator',
-    'list',
-    'lock',
-    'map',
-    'multimap',
-    'multiset',
-    'queue',
-    'semaphore',
-    'set',
-    'transaction',
-    'tree',
-    'value',
-    'workqueue',
-)
-
-# A list of all core primitive packages for dynamic class loading
-PRIMITIVE_PACKAGES = ','.join(['io.atomix.primitive.session.impl'] + ['io.atomix.core.{primitive},io.atomix.core.{primitive}.impl'.format(primitive=primitive) for primitive in _primitive_package_names])
-
-# Base package names for core Atomix protocols
-_protocol_package_names = (
-    'raft',
-    'backup'
-)
-
-# A list of all core protocol packages for dynamic class loading
-PROTOCOL_PACKAGES = ','.join(['io.atomix.primitive.partition.impl'] + ['io.atomix.protocols.{protocol},io.atomix.protocols.{protocol}.partition'.format(protocol=protocol) for protocol in _protocol_package_names] + ['io.atomix.protocols.gossip'])
-
-# A list of all additional core packages used in dynamic class loading
-CORE_PACKAGES = ','.join(['io.atomix.core.profile', 'io.atomix.core.profile.impl'])
-
-# A list of all dynamically loadable Atomix packages
-INCLUDE_PACKAGES = ','.join([PRIMITIVE_PACKAGES, PROTOCOL_PACKAGES, CORE_PACKAGES])
-
-ALL_PACKAGES = '*'
diff --git a/core/store/serializers/BUCK b/core/store/serializers/BUCK
deleted file mode 100644
index c1c66da..0000000
--- a/core/store/serializers/BUCK
+++ /dev/null
@@ -1,16 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//incubator/api:onos-incubator-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST',
-]
-
-osgi_jar_with_tests (
-    name = 'onos-core-serializers',
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    visibility = ['PUBLIC'],
-)
diff --git a/docs/BUCK b/docs/BUCK
deleted file mode 100644
index 8269150..0000000
--- a/docs/BUCK
+++ /dev/null
@@ -1,198 +0,0 @@
-external_deps = UTILS + API + [
-  '//apps/cpman/api:onos-apps-cpman-api',
-  '//apps/routing-api:onos-apps-routing-api',
-  '//apps/dhcp/api:onos-apps-dhcp-api',
-]
-
-external_groups = [
-  ( 'Network Model &amp; Services', [ 'org.onosproject.*' ]),
-  ( 'Incubator for Network Model &amp; Services',  [ 'org.onosproject.incubator.*' ]),
-  ( 'Utilities', [ 'org.onlab.*' ]),
-  ( 'App &amp; Extensions', [
-      'org.onosproject.dhcp',
-      'org.onosproject.cpman',
-      'org.onosproject.routing',
-  ]),
-]
-
-internal_groups = [
-  ( 'Network Model &amp; Services', [ 'org.onosproject.*' ]),
-  ( 'Incubator for Network Model &amp; Services', [ 'org.onosproject.incubator.*' ]),
-  ( 'Core Subsystems', [
-  'org.onosproject.cfg.impl',
-  'org.onosproject.cluster.impl',
-  'org.onosproject.core.impl',
-  'org.onosproject.event.impl',
-  'org.onosproject.net.config.impl',
-  'org.onosproject.net.device.impl',
-  'org.onosproject.net.driver.impl',
-  'org.onosproject.net.edgeservice.impl',
-  'org.onosproject.net.flow.impl',
-  'org.onosproject.net.flowobjective.impl',
-  'org.onosproject.net.flowobjective.impl.composition',
-  'org.onosproject.net.group.impl',
-  'org.onosproject.net.host.impl',
-  'org.onosproject.net.intent.impl',
-  'org.onosproject.net.intent.impl.compiler',
-  'org.onosproject.net.intent.impl.phase',
-  'org.onosproject.net.intf.impl',
-  'org.onosproject.net.link.impl',
-  'org.onosproject.net.newresource.impl',
-  'org.onosproject.net.packet.impl',
-  'org.onosproject.net.proxyarp.impl',
-  'org.onosproject.net.resource.impl',
-  'org.onosproject.net.statistic.impl',
-  'org.onosproject.net.topology.impl',
-  'org.onosproject.json',
-  'org.onosproject.json.*',
-  'org.onosproject.common.*',
-  'org.onosproject.security.impl',
-  'org.onosproject.security.store',
-  ]),
-  ( 'Distributed Stores', [
-  'org.onosproject.store.*',
-  'org.onosproject.persistence.impl',
-  ]),
-  ( 'Incubator for Core Subsystems &amp; Distributed Stores', [
-  'org.onosproject.incubator.net.impl',
-  'org.onosproject.incubator.store.impl',
-  'org.onosproject.incubator.net.resource.label.impl',
-  'org.onosproject.incubator.store.resource.impl',
-  'org.onosproject.incubator.net.tunnel.impl',
-  'org.onosproject.incubator.store.tunnel.impl',
-  'org.onosproject.incubator.net.config.impl',
-  'org.onosproject.incubator.net.domain.impl',
-  'org.onosproject.incubator.store.config.impl',
-  'org.onosproject.incubator.net.meter.impl',
-  'org.onosproject.incubator.net.resource.label',
-  'org.onosproject.incubator.store.meter.impl',
-  ]),
-  ( 'Utilities', [ 'org.onlab.*' ]),
-  ( 'GUI, REST &amp; Command-Line', [
-  'org.onosproject.ui.impl*',
-  'org.onosproject.rest.*',
-  'org.onosproject.cli*',
-  'org.onosproject.codec.impl',
-  ]),
-  ( 'Builtin Applications', [
-  'org.onosproject.app.*',
-  'org.onosproject.acl*',
-  'org.onosproject.aaa',
-  'org.onosproject.fwd',
-  'org.onosproject.dhcp*',
-  'org.onosproject.flowanalyzer',
-  'org.onosproject.cpman*',
-  'org.onosproject.mobility',
-  'org.onosproject.proxyarp',
-  'org.onosproject.calendar',
-  'org.onosproject.olt*',
-  'org.onosproject.optical*',
-  'org.onosproject.newoptical*',
-  'org.onosproject.sdnip',
-  'org.onosproject.sdnip.*',
-  'org.onosproject.config',
-  'org.onosproject.routing',
-  'org.onosproject.routing*',
-  'org.onosproject.bgprouter',
-  'org.onosproject.segmentrouting*',
-  'org.onosproject.reactive.routing*',
-  'org.onosproject.messagingperf',
-  'org.onosproject.virtualbng*',
-  'org.onosproject.cordfabric*',
-  'org.onosproject.xosintegration*',
-  'org.onosproject.cip*',
-  'org.onosproject.vtn*',
-  'org.onosproject.cord*',
-  'org.onosproject.mcast*',
-  'org.onosproject.mfwd*',
-  'org.onosproject.mlb*',
-  'org.onosproject.igmp*',
-  'org.onosproject.pim*',
-  'org.onosproject.vpls*',
-  'org.onosproject.vrouter*',
-  'org.onosproject.faultmanagement*',
-  'org.onosproject.iptopology*',
-  'org.onosproject.drivermatrix*',
-  'org.onosproject.pathpainter*',
-  'org.onosproject.openstack*',
-  'org.onosproject.scalablegateway*',
-  'org.onosproject.forwarder*',
-  'org.onosproject.sfc*',
-  'org.onosproject.netcfgmonitor*',
-  'org.onosproject.flowperf',
-  'org.onosproject.loadtest',
-  'org.onosproject.events',
-  'org.onosproject.bmv2*',
-  'org.onosproject.xosclient*',
-  'org.onosproject.kafkaintegration*',
-  'org.onosproject.gangliametrics*',
-  'org.onosproject.graphitemetrics*',
-  'org.onosproject.influxdbmetrics*',
-  'org.onosproject.yms*',
-  ]),
-  ( 'Test Instrumentation &amp; Applications', [
-  'org.onosproject.metrics.*',
-  'org.onosproject.demo*',
-  'org.onosproject.election*',
-  'org.onosproject.distributedprimitives*',
-  'org.onosproject.intentperf*',
-  'org.onosproject.messagingperf*',
-  'org.onosproject.optical.testapp*',
-  ]),
-  ( 'OpenFlow Providers &amp; Controller', [
-  'org.onosproject.openflow.*',
-  'org.onosproject.provider.of.*',
-  ]),
-  ( 'NetConf Protocol &amp; Providers', [
-  'org.onosproject.netconf*',
-  'org.onosproject.provider.netconf*',
-  ]),
-  ( 'OVSDB Protocol &amp; Providers', [
-  'org.onosproject.provider.ovsdb*',
-  'org.onosproject.ovsdb*',
-  ]),
-  ( 'PCEP Protocol &amp; Providers', [
-  'org.onosproject.pce.*',
-  'org.onosproject.pcerest*',
-  'org.onosproject.pceweb*',
-  'org.onosproject.pcep*',
-  'org.onosproject.pcepio*',
-  'org.onosproject.provider.pcep*',
-  ]),
-  ( 'BGP-LS Protocol &amp; Providers', [
-  'org.onosproject.bgp.controller*',
-  'org.onosproject.bgp*',
-  'org.onosproject.provider.bgp*',
-  ]),
-  ( 'OSPF Protocol &amp; Providers', [ 'org.onosproject.ospf*' ]),
-  ( 'ISIS Protocol &amp; Providers', [ 'org.onosproject.isis*' ]),
-  ( 'LISP Protocol &amp; Providers', [ 'org.onosproject.lisp*' ]),
-  ( 'SNMP Protocol &amp; Providers', [ 'org.onosproject.snmp*' ]),
-  ( 'REST Protocol &amp; Providers', [
-  'org.onosproject.protocol.rest*',
-  'org.onosproject.provider.rest*',
-  ]),
-  ( 'Other Providers', [
-  'org.onosproject.provider.*',
-  'org.onosproject.protocol.*',
-  ]),
-  ( 'Device Drivers', [ 'org.onosproject.driver*' ]),
-]
-
-project_javadoc(
-  name = 'external',
-  project_title = 'ONOS Java API (%s)' % ONOS_VERSION,
-  javadoc_files = glob(['src/main/javadoc/doc-files/*']),
-  overview = 'src/main/javadoc/overview.html',
-  deps = external_deps,
-  groups = external_groups,
-)
-
-project_javadoc(
-  name = 'internal',
-  project_title = 'ONOS Java API (%s)' % ONOS_VERSION,
-  javadoc_files = glob(['src/main/javadoc/doc-files/*']),
-  overview = 'src/main/javadoc/overview.html',
-  deps = CORE,
-  groups = internal_groups,
-)
diff --git a/drivers/arista/BUCK b/drivers/arista/BUCK
deleted file mode 100644
index 0434807..0000000
--- a/drivers/arista/BUCK
+++ /dev/null
@@ -1,36 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:javax.ws.rs-api',
-    '//incubator/api:onos-incubator-api',
-    '//utils/rest:onlab-rest',
-    '//drivers/utilities:onos-drivers-utilities',
-    '//protocols/rest/api:onos-protocols-rest-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-]
-
-BUNDLES = [
-    ':onos-drivers-arista',
-    '//drivers/utilities:onos-drivers-utilities',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app (
-    app_name = 'org.onosproject.drivers.arista',
-    title = 'Arista Drivers',
-    category = 'Drivers',
-    url = 'http://onosproject.org',
-    description = 'Adds support for Arista devices.',
-    included_bundles = BUNDLES,
-    required_apps = [ 'org.onosproject.restsb' ],
-)
diff --git a/drivers/barefoot/BUCK b/drivers/barefoot/BUCK
deleted file mode 100644
index 8bcefde..0000000
--- a/drivers/barefoot/BUCK
+++ /dev/null
@@ -1,30 +0,0 @@
-GRPC_VER = '1.3.1'
-
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:minimal-json',
-    '//protocols/p4runtime/api:onos-protocols-p4runtime-api',
-    '//drivers/p4runtime:onos-drivers-p4runtime',
-    '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER,
-    '//lib:grpc-netty-' + GRPC_VER,
-]
-
-BUNDLES = [
-    ':onos-drivers-barefoot',
-]
-
-osgi_jar(
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    app_name = 'org.onosproject.drivers.barefoot',
-    title = 'Barefoot Drivers',
-    category = 'Drivers',
-    url = 'http://onosproject.org',
-    description = 'Adds support for Barefoot-based devices',
-    included_bundles = BUNDLES,
-    required_apps = [
-        'org.onosproject.drivers.p4runtime',
-    ],
-)
diff --git a/drivers/bmv2/BUCK b/drivers/bmv2/BUCK
deleted file mode 100644
index 312020f..0000000
--- a/drivers/bmv2/BUCK
+++ /dev/null
@@ -1,44 +0,0 @@
-# Buck build of P4-related modules is no longer supported, please use Bazel
-# GRPC_VER = '1.3.1'
-#
-# COMPILE_DEPS = [
-#     '//lib:CORE_DEPS',
-#     '//lib:minimal-json',
-#     '//lib:KRYO',
-#     '//lib:JACKSON',
-#     '//lib:libthrift',
-#     '//protocols/p4runtime/api:onos-protocols-p4runtime-api',
-#     '//protocols/p4runtime/model:onos-protocols-p4runtime-model',
-#     '//protocols/bmv2/thrift-api:onos-protocols-bmv2-thrift-api',
-#     '//drivers/p4runtime:onos-drivers-p4runtime',
-#     '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER,
-#     '//lib:grpc-netty-' + GRPC_VER,
-#     '//pipelines/basic:onos-pipelines-basic',
-#     '//core/store/serializers:onos-core-serializers',
-# ]
-#
-# BUNDLES = [
-#     ':onos-drivers-bmv2',
-#     '//lib:libthrift',
-#     '//protocols/bmv2/thrift-api:onos-protocols-bmv2-thrift-api',
-# ]
-#
-# osgi_jar(
-#     deps = COMPILE_DEPS,
-#     resources_root = 'src/main/resources',
-#     resources = glob(['src/main/resources/**']),
-# )
-#
-# onos_app (
-#     app_name = 'org.onosproject.drivers.bmv2',
-#     title = 'BMv2 Drivers',
-#     category = 'Drivers',
-#     url = 'http://onosproject.org',
-#     description = 'Adds support for BMv2 P4 devices.',
-#     included_bundles = BUNDLES,
-#     required_apps = [
-#         'org.onosproject.drivers.p4runtime',
-#         'org.onosproject.drivers.gnmi',
-#         'org.onosproject.pipelines.basic',
-#     ],
-# )
diff --git a/drivers/ciena/c5162/BUCK b/drivers/ciena/c5162/BUCK
deleted file mode 100644
index 1f3584b..0000000
--- a/drivers/ciena/c5162/BUCK
+++ /dev/null
@@ -1,47 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:javax.ws.rs-api',
-    '//incubator/api:onos-incubator-api',
-    '//utils/rest:onlab-rest',
-    '//drivers/utilities:onos-drivers-utilities',
-    '//drivers/netconf:onos-drivers-netconf',
-    '//protocols/netconf/api:onos-protocols-netconf-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-    '//drivers/netconf:onos-drivers-netconf-tests',
-    '//lib:slf4j-jdk14',
-]
-
-BUNDLES = [
-    ':onos-drivers-ciena-c5162',
-    '//drivers/utilities:onos-drivers-utilities',
-    '//drivers/netconf:onos-drivers-netconf',
-]
-
-REQUIRED_APPS = [
-    'org.onosproject.linkdiscovery',
-    'org.onosproject.netconf',
-    'org.onosproject.netconfsb',
-    'org.onosproject.drivers.netconf'
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/*/resources/**']),
-)
-
-onos_app (
-    app_name = 'org.onosproject.drivers.ciena.c5162',
-    title = 'Ciena 5162 Drivers',
-    category = 'Drivers',
-    url = 'http://onosproject.org',
-    description = 'Adds support for Ciena 5162 devices.',
-    included_bundles = BUNDLES,
-    required_apps = REQUIRED_APPS,
-)
diff --git a/drivers/ciena/c5170/BUCK b/drivers/ciena/c5170/BUCK
deleted file mode 100644
index 8c4ea6e..0000000
--- a/drivers/ciena/c5170/BUCK
+++ /dev/null
@@ -1,46 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:javax.ws.rs-api',
-    '//incubator/api:onos-incubator-api',
-    '//utils/rest:onlab-rest',
-    '//drivers/utilities:onos-drivers-utilities',
-    '//drivers/netconf:onos-drivers-netconf',
-    '//protocols/netconf/api:onos-protocols-netconf-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-    '//drivers/netconf:onos-drivers-netconf-tests',
-]
-
-BUNDLES = [
-    ':onos-drivers-ciena-c5170',
-    '//drivers/utilities:onos-drivers-utilities',
-    '//drivers/netconf:onos-drivers-netconf',
-]
-
-REQUIRED_APPS = [
-    'org.onosproject.linkdiscovery',
-    'org.onosproject.netconf',
-    'org.onosproject.netconfsb',
-    'org.onosproject.drivers.netconf'
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app (
-    app_name = 'org.onosproject.drivers.ciena.c5170',
-    title = 'Ciena 5170 Drivers',
-    category = 'Drivers',
-    url = 'http://onosproject.org',
-    description = 'Adds support for Ciena 5170 devices.',
-    included_bundles = BUNDLES,
-    required_apps = REQUIRED_APPS,
-)
diff --git a/drivers/ciena/waveserver/BUCK b/drivers/ciena/waveserver/BUCK
deleted file mode 100644
index 095ec04..0000000
--- a/drivers/ciena/waveserver/BUCK
+++ /dev/null
@@ -1,44 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:javax.ws.rs-api',
-    '//incubator/api:onos-incubator-api',
-    '//utils/rest:onlab-rest',
-    '//drivers/utilities:onos-drivers-utilities',
-    '//protocols/rest/api:onos-protocols-rest-api',
-    '//apps/optical-model:onos-apps-optical-model',
-    '//drivers/optical:onos-drivers-optical',
-]
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-    '//utils/osgi:onlab-osgi-tests',
-]
-
-BUNDLES = [
-    ':onos-drivers-ciena-waveserver',
-    '//drivers/utilities:onos-drivers-utilities',
-]
-
-REQUIRED_APPS = [
-    'org.onosproject.restsb',
-    'org.onosproject.optical-model',
-    'org.onosproject.drivers.optical',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app (
-    app_name = 'org.onosproject.drivers.ciena.waveserver',
-    title = 'Ciena Waveserver Drivers',
-    category = 'Drivers',
-    url = 'http://onosproject.org',
-    description = 'Adds support for Ciena Waveserver devices.',
-    included_bundles = BUNDLES,
-    required_apps = REQUIRED_APPS,
-)
diff --git a/drivers/ciena/waveserverai/BUCK b/drivers/ciena/waveserverai/BUCK
deleted file mode 100644
index 26f7b9f..0000000
--- a/drivers/ciena/waveserverai/BUCK
+++ /dev/null
@@ -1,53 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:ONOS_YANG',
-    '//lib:javax.ws.rs-api',
-    '//drivers/utilities:onos-drivers-utilities',
-    '//drivers/netconf:onos-drivers-netconf',
-    '//protocols/netconf/api:onos-protocols-netconf-api',
-    '//protocols/netconf/ctl:onos-protocols-netconf-ctl',
-    '//models/common:onos-models-common',
-    '//models/ciena/waveserverai:onos-models-ciena-waveserverai',
-    '//apps/optical-model:onos-apps-optical-model',
-    '//drivers/optical:onos-drivers-optical',
-]
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-    '//drivers/netconf:onos-drivers-netconf-tests',
-    '//utils/osgi:onlab-osgi-tests',
-]
-
-BUNDLES = [
-    ':onos-drivers-ciena-waveserverai',
-    '//drivers/utilities:onos-drivers-utilities',
-    '//drivers/netconf:onos-drivers-netconf',
-]
-
-REQUIRED_APPS = [
-    'org.onosproject.yang',
-    'org.onosproject.optical-model',
-    'org.onosproject.drivers.optical',
-    'org.onosproject.models.ciena.waveserverai',
-    'org.onosproject.netconf',
-    'org.onosproject.netconfsb',
-    'org.onosproject.drivers.netconf',
-    'org.onosproject.linkdiscovery',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app (
-    app_name = 'org.onosproject.drivers.ciena.waveserverai',
-    title = 'Ciena Waveserver Ai Drivers',
-    category = 'Drivers',
-    url = 'http://onosproject.org',
-    description = 'Adds support for Ciena Waveserver Ai devices.',
-    required_apps = REQUIRED_APPS,
-    included_bundles = BUNDLES,
-)
diff --git a/drivers/cisco/netconf/BUCK b/drivers/cisco/netconf/BUCK
deleted file mode 100644
index 6975a52..0000000
--- a/drivers/cisco/netconf/BUCK
+++ /dev/null
@@ -1,32 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//drivers/utilities:onos-drivers-utilities',
-    '//protocols/netconf/api:onos-protocols-netconf-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-]
-
-BUNDLES = [
-    ':onos-drivers-cisco-netconf',
-    '//drivers/utilities:onos-drivers-utilities',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app (
-    app_name = 'org.onosproject.drivers.cisco.netconf',
-    title = 'Cisco NETCONF Drivers',
-    category = 'Drivers',
-    url = 'http://onosproject.org',
-    description = 'Adds support for Cisco devices using NETCONF protocol.',
-    included_bundles = BUNDLES,
-    required_apps = [ 'org.onosproject.netconf', 'org.onosproject.drivers.netconf' ],
-)
diff --git a/drivers/cisco/rest/BUCK b/drivers/cisco/rest/BUCK
deleted file mode 100644
index 73acb67..0000000
--- a/drivers/cisco/rest/BUCK
+++ /dev/null
@@ -1,36 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:javax.ws.rs-api',
-    '//incubator/api:onos-incubator-api',
-    '//utils/rest:onlab-rest',
-    '//drivers/utilities:onos-drivers-utilities',
-    '//protocols/rest/api:onos-protocols-rest-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-]
-
-BUNDLES = [
-    ':onos-drivers-cisco-rest',
-    '//drivers/utilities:onos-drivers-utilities',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app (
-    app_name = 'org.onosproject.drivers.cisco.rest',
-    title = 'Cisco REST Drivers',
-    category = 'Drivers',
-    url = 'http://onosproject.org',
-    description = 'Adds support for Cisco devices using REST.',
-    included_bundles = BUNDLES,
-    required_apps = [ 'org.onosproject.restsb' ],
-)
diff --git a/drivers/corsa/BUCK b/drivers/corsa/BUCK
deleted file mode 100644
index 10eaf82..0000000
--- a/drivers/corsa/BUCK
+++ /dev/null
@@ -1,29 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//lib:openflowj',
-    '//drivers/default:onos-drivers-default',
-    '//drivers/utilities:onos-drivers-utilities',
-    '//protocols/openflow/api:onos-protocols-openflow-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app (
-    app_name = 'org.onosproject.drivers.corsa',
-    title = 'Corsa Drivers',
-    category = 'Drivers',
-    url = 'http://onosproject.org',
-    description = 'Adds support for Corsa devices.',
-    required_apps = [ 'org.onosproject.openflow' ],
-)
diff --git a/drivers/default/BUCK b/drivers/default/BUCK
deleted file mode 100644
index d8b95de..0000000
--- a/drivers/default/BUCK
+++ /dev/null
@@ -1,33 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:KRYO',
-    '//lib:openflowj',
-    '//protocols/openflow/api:onos-protocols-openflow-api',
-    '//core/store/serializers:onos-core-serializers',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app (
-    app_name = 'org.onosproject.drivers',
-    title = 'Default Drivers',
-    category = 'Drivers',
-    url = 'http://onosproject.org',
-    description = 'Suite of default drivers.',
-    included_bundles = [
-        ':onos-drivers-default',
-        '//lib:openflowj',
-        '//protocols/openflow/api:onos-protocols-openflow-api',
-    ]
-)
diff --git a/drivers/flowspec/BUCK b/drivers/flowspec/BUCK
deleted file mode 100644
index 7590eb2..0000000
--- a/drivers/flowspec/BUCK
+++ /dev/null
@@ -1,27 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//drivers/default:onos-drivers-default',
-    '//apps/flowspec-api/flowapi:onos-apps-flowspec-api-flowapi',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app (
-    app_name = 'org.onosproject.drivers.flowspec',
-    title = 'Generic Flow Spec Drivers',
-    category = 'Drivers',
-    url = 'http://onosproject.org',
-    description = 'Adds support for devices using flow specs.',
-    required_apps = [ 'org.onosproject.drivers'],
-)
diff --git a/drivers/fujitsu/BUCK b/drivers/fujitsu/BUCK
deleted file mode 100644
index 71bc9b6..0000000
--- a/drivers/fujitsu/BUCK
+++ /dev/null
@@ -1,37 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//drivers/utilities:onos-drivers-utilities',
-    '//protocols/netconf/api:onos-protocols-netconf-api',
-    '//protocols/netconf/ctl:onos-protocols-netconf-ctl',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//apps/optical-model:onos-apps-optical-model',
-    '//incubator/api:onos-incubator-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-]
-
-BUNDLES = [
-    ':onos-drivers-fujitsu',
-    '//drivers/utilities:onos-drivers-utilities',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app (
-    app_name = 'org.onosproject.drivers.fujitsu',
-    title = 'Fujitsu Drivers',
-    category = 'Drivers',
-    url = 'http://onosproject.org',
-    description = 'Adds support for Fujitsu devices.',
-    included_bundles = BUNDLES,
-    required_apps = [ 'org.onosproject.netconf', 'org.onosproject.optical-model', 'org.onosproject.drivers.optical' ],
-)
diff --git a/drivers/gnmi/BUCK b/drivers/gnmi/BUCK
deleted file mode 100644
index 0fe379e..0000000
--- a/drivers/gnmi/BUCK
+++ /dev/null
@@ -1,38 +0,0 @@
-PROTOBUF_VER = '3.2.0'
-GRPC_VER = '1.3.1'
-
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//protocols/grpc/api:onos-protocols-grpc-api',
-    '//protocols/grpc/proto:onos-protocols-grpc-proto',
-    '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER,
-    '//lib:grpc-netty-' + GRPC_VER,
-    '//lib:protobuf-java-' + PROTOBUF_VER,
-    '//lib:grpc-stub-' + GRPC_VER,
-    '//core/store/serializers:onos-core-serializers',
-    '//protocols/gnmi/stub:onos-protocols-gnmi-stub',
-]
-
-BUNDLES = [
-    ':onos-drivers-gnmi',
-]
-
-osgi_jar (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    app_name = 'org.onosproject.drivers.gnmi',
-    title = 'gNMI Drivers',
-    category = 'Drivers',
-    url = 'http://onosproject.org',
-    description = 'Adds support for devices using gNMI protocol based on ' +
-    ' openconfig models: http://openconfig.net/ .',
-    included_bundles = BUNDLES,
-    required_apps = [
-        'org.onosproject.generaldeviceprovider',
-        'org.onosproject.protocols.grpc',
-        'org.onosproject.protocols.gnmi'
-    ],
-)
\ No newline at end of file
diff --git a/drivers/hp/BUCK b/drivers/hp/BUCK
deleted file mode 100644
index a403221..0000000
--- a/drivers/hp/BUCK
+++ /dev/null
@@ -1,29 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//lib:openflowj',
-    '//drivers/default:onos-drivers-default',
-    '//drivers/utilities:onos-drivers-utilities',
-    '//protocols/openflow/api:onos-protocols-openflow-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app (
-    app_name = 'org.onosproject.drivers.hp',
-    title = 'HP Drivers',
-    category = 'Drivers',
-    url = 'http://onosproject.org',
-    description = 'Adds support for HP devices.',
-    required_apps = [ 'org.onosproject.openflow' ],
-)
diff --git a/drivers/huawei/BUCK b/drivers/huawei/BUCK
deleted file mode 100644
index e8689ea..0000000
--- a/drivers/huawei/BUCK
+++ /dev/null
@@ -1,49 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:org.apache.servicemix.bundles.dom4j',
-    '//models/l3vpn:onos-models-l3vpn',
-    '//models/huawei:onos-models-huawei',
-    '//drivers/utilities:onos-drivers-utilities',
-    '//protocols/netconf/api:onos-protocols-netconf-api',
-    '//apps/l3vpn:onos-apps-l3vpn',
-    '//apps/config:onos-apps-config',
-    '//lib:onos-yang-model',
-    '//lib:onos-yang-runtime',
-    '//apps/yang:onos-apps-yang',
-    '//models/common:onos-models-common',
-]
-
-APPS = [
-    'org.onosproject.yang',
-    'org.onosproject.yang-gui',
-    'org.onosproject.config',
-    'org.onosproject.restconf',
-    'org.onosproject.protocols.restconfserver',
-    'org.onosproject.netconf',
-    'org.onosproject.netconfsb',
-    'org.onosproject.models.common',
-    'org.onosproject.models.l3vpn',
-    'org.onosproject.l3vpn',
-    'org.onosproject.models.huawei',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//utils/osgi:onlab-osgi-tests',
-]
-
-osgi_jar_with_tests(
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app(
-    app_name = 'org.onosproject.drivers.huawei',
-    title = 'Huawei Drivers',
-    category = 'Drivers',
-    url = 'http://onosproject.org',
-    description = 'Adds support for Huawei devices.',
-    required_apps = APPS
-)
\ No newline at end of file
diff --git a/drivers/juniper/BUCK b/drivers/juniper/BUCK
deleted file mode 100644
index 1339200..0000000
--- a/drivers/juniper/BUCK
+++ /dev/null
@@ -1,26 +0,0 @@
-COMPILE_DEPS = [
-  '//lib:CORE_DEPS',
-  '//drivers/utilities:onos-drivers-utilities',
-  '//protocols/netconf/api:onos-protocols-netconf-api',
-]
-
-BUNDLES = [
-  ':onos-drivers-juniper',
-  '//drivers/utilities:onos-drivers-utilities',
-]
-
-osgi_jar_with_tests (
-  deps = COMPILE_DEPS,
-  resources_root = 'src/main/resources',
-  resources = glob(['src/main/resources/**']),
-)
-
-onos_app (
-  app_name = 'org.onosproject.drivers.juniper',
-  title = 'Juniper Drivers',
-  category = 'Drivers',
-  url = 'http://onosproject.org',
-  description = 'Adds support for Juniper devices.',
-  included_bundles = BUNDLES,
-  required_apps = [ 'org.onosproject.netconf' ],
-)
\ No newline at end of file
diff --git a/drivers/lisp/BUCK b/drivers/lisp/BUCK
deleted file mode 100644
index 18b053a..0000000
--- a/drivers/lisp/BUCK
+++ /dev/null
@@ -1,40 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:KRYO',
-    '//protocols/lisp/api:onos-protocols-lisp-api',
-    '//protocols/lisp/msg:onos-protocols-lisp-msg',
-    '//apps/mappingmanagement/api:onos-apps-mappingmanagement-api',
-    '//core/store/serializers:onos-core-serializers'
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//apps/mappingmanagement/api:onos-apps-mappingmanagement-api-tests',
-    '//core/api:onos-api-tests',
-    '//lib:jersey-test-framework-core',
-    '//lib:jersey-test-framework-jetty',
-    '//utils/osgi:onlab-osgi-tests',
-    '//web/api:onos-rest-tests',
-]
-
-BUNDLES = [
-    ':onos-drivers-lisp',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app (
-    app_name = 'org.onosproject.drivers.lisp',
-    title = 'Generic LISP Drivers',
-    category = 'Drivers',
-    url = 'https://wiki.onosproject.org/display/ONOS/LISP+as+SBI',
-    description = 'Adds support for devices using LISP.',
-    included_bundles = BUNDLES,
-    required_apps = [ 'org.onosproject.lisp' ],
-)
diff --git a/drivers/lumentum/BUCK b/drivers/lumentum/BUCK
deleted file mode 100644
index 1699870..0000000
--- a/drivers/lumentum/BUCK
+++ /dev/null
@@ -1,41 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:org.apache.servicemix.bundles.snmp4j',
-    '//drivers/utilities:onos-drivers-utilities',
-    '//protocols/snmp/api:onos-protocols-snmp-api',
-    '//protocols/tl1/api:onos-protocols-tl1-api',
-    '//protocols/netconf/api:onos-protocols-netconf-api',
-    '//incubator/api:onos-incubator-api',
-    '//apps/optical-model:onos-apps-optical-model',
-    '//drivers/optical:onos-drivers-optical',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-]
-
-BUNDLES = [
-    ':onos-drivers-lumentum',
-    '//drivers/utilities:onos-drivers-utilities',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app (
-    app_name = 'org.onosproject.drivers.lumentum',
-    title = 'Lumentum Drivers',
-    category = 'Drivers',
-    url = 'http://onosproject.org',
-
-    description = 'ONOS Lumentum Device Drivers application.',
-    included_bundles = BUNDLES,
-    required_apps = [ 'org.onosproject.snmp', 'org.onosproject.faultmanagement', 'org.onosproject.optical-model',
-     'org.onosproject.tl1', 'org.onosproject.netconf', 'org.onosproject.drivers.optical'],
-
-)
diff --git a/drivers/mellanox/BUCK b/drivers/mellanox/BUCK
deleted file mode 100644
index bb9bfbc..0000000
--- a/drivers/mellanox/BUCK
+++ /dev/null
@@ -1,25 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//drivers/p4runtime:onos-drivers-p4runtime',
-]
-
-BUNDLES = [
-    ':onos-drivers-mellanox',
-]
-
-osgi_jar(
-    deps = COMPILE_DEPS,
-)
-
-onos_app(
-    app_name = 'org.onosproject.drivers.mellanox',
-    title = 'Mellanox Drivers',
-    category = 'Drivers',
-    url = 'https://wiki.onosproject.org/x/aAZkAQ',
-    description = 'Adds support for Mellanox Spectrum-based devices using P4Runtime',
-    included_bundles = BUNDLES,
-    required_apps = [
-        'org.onosproject.drivers.p4runtime',
-        'org.onosproject.pipelines.fabric',
-    ],
-)
diff --git a/drivers/microsemi/ea1000/BUCK b/drivers/microsemi/ea1000/BUCK
deleted file mode 100644
index 940903e..0000000
--- a/drivers/microsemi/ea1000/BUCK
+++ /dev/null
@@ -1,48 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:ONOS_YANG',
-    '//drivers/utilities:onos-drivers-utilities',
-    '//protocols/netconf/api:onos-protocols-netconf-api',
-    '//protocols/netconf/ctl:onos-protocols-netconf-ctl',
-    '//models/common:onos-models-common',
-    '//models/microsemi:onos-models-microsemi',
-    '//lib:org.apache.karaf.shell.console',
-    '//apps/cfm/api:onos-apps-cfm-api',
-] + YANG_TOOLS
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-    '//drivers/netconf:onos-drivers-netconf-tests',
-    '//utils/osgi:onlab-osgi-tests',
-    '//apps/cfm/app:onos-apps-cfm-app',
-    '//apps/cfm/app:onos-apps-cfm-app-tests',
-]
-
-APPS = [
-    'org.onosproject.yang',
-#     'org.onosproject.yang-gui',
-    'org.onosproject.config',
-    'org.onosproject.netconf',
-    'org.onosproject.netconfsb',
-    'org.onosproject.drivers.netconf',
-    'org.onosproject.models.common',
-    'org.onosproject.models.microsemi',
-    'org.onosproject.cfm',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app (
-    app_name = 'org.onosproject.drivers.microsemi.ea1000',
-    title = 'Microsemi Drivers EA1000',
-    category = 'Drivers',
-    url = 'http://onosproject.org',
-    description = 'Adds support for Microsemi EA1000 devices.',
-    required_apps = APPS,
-)
diff --git a/drivers/netconf/BUCK b/drivers/netconf/BUCK
deleted file mode 100644
index 560d7b5..0000000
--- a/drivers/netconf/BUCK
+++ /dev/null
@@ -1,33 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//drivers/utilities:onos-drivers-utilities',
-    '//protocols/netconf/api:onos-protocols-netconf-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//lib:slf4j-jdk14',
-    '//core/api:onos-api-tests',
-]
-
-BUNDLES = [
-    ':onos-drivers-netconf',
-    '//drivers/utilities:onos-drivers-utilities',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app (
-    app_name = 'org.onosproject.drivers.netconf',
-    title = 'Generic NETCONF Drivers',
-    category = 'Drivers',
-    url = 'http://onosproject.org',
-    description = 'Adds support for devices using NETCONF.',
-    included_bundles = BUNDLES,
-    required_apps = [ 'org.onosproject.netconf' ],
-)
diff --git a/drivers/odtn-driver/BUCK b/drivers/odtn-driver/BUCK
deleted file mode 100644
index 86d34bd..0000000
--- a/drivers/odtn-driver/BUCK
+++ /dev/null
@@ -1,42 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//drivers/utilities:onos-drivers-utilities',
-    '//protocols/netconf/api:onos-protocols-netconf-api',
-    '//lib:commons-jxpath',
-    '//apps/odtn/api:onos-apps-odtn-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-    '//lib:slf4j-jdk14',
-]
-
-BUNDLES = [
-    ':onos-drivers-odtn-driver',
-    '//drivers/utilities:onos-drivers-utilities',
-#     '//lib:commons-jxpath',
-#     '//lib:commons-beanutils', # jxpath dependency
-#     '//lib:jdom',  # jxpath dependency
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app (
-    app_name = 'org.onosproject.drivers.odtn-driver',
-    title = 'ODTN Driver',
-    category = 'Drivers',
-    url = 'https://wiki.onosproject.org/display/ODTN/ODTN',
-    description = 'Drivers related to ODTN',
-    included_bundles = BUNDLES,
-    required_apps = [
-        'org.onosproject.netconf',
-        'org.onosproject.config',
-        'org.onosproject.odtn-api',
-    ],
-)
diff --git a/drivers/oplink/BUCK b/drivers/oplink/BUCK
deleted file mode 100644
index 43b0826..0000000
--- a/drivers/oplink/BUCK
+++ /dev/null
@@ -1,36 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//drivers/default:onos-drivers-default',
-    '//drivers/utilities:onos-drivers-utilities',
-    '//protocols/netconf/api:onos-protocols-netconf-api',
-    '//apps/optical-model:onos-apps-optical-model',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-]
-
-BUNDLES = [
-    ':onos-drivers-oplink',
-    '//drivers/utilities:onos-drivers-utilities',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app(
-    app_name = 'org.onosproject.drivers.oplink',
-    title = 'Oplink Drivers',
-    category = 'Drivers',
-    url = 'http://onosproject.org',
-    description = 'Adds support for Oplink devices.',
-    included_bundles = BUNDLES,
-    required_apps = [
-        'org.onosproject.netconf', 'org.onosproject.optical-model'
-    ],
-)
\ No newline at end of file
diff --git a/drivers/optical/BUCK b/drivers/optical/BUCK
deleted file mode 100644
index f9eef16..0000000
--- a/drivers/optical/BUCK
+++ /dev/null
@@ -1,31 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-    '//lib:JACKSON',
-    '//lib:openflowj',
-    '//protocols/openflow/api:onos-protocols-openflow-api',
-    '//drivers/default:onos-drivers-default',
-    '//apps/optical-model:onos-apps-optical-model',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-    '//utils/osgi:onlab-osgi-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app (
-    app_name = 'org.onosproject.drivers.optical',
-    title = 'Basic Optical Drivers',
-    category = 'Drivers',
-    url = 'http://onosproject.org',
-    description = 'Suite of basic optical device drivers.',
-    required_apps = [ 'org.onosproject.drivers', 'org.onosproject.optical-model' ],
-)
diff --git a/drivers/ovsdb/BUCK b/drivers/ovsdb/BUCK
deleted file mode 100644
index 3446bd2..0000000
--- a/drivers/ovsdb/BUCK
+++ /dev/null
@@ -1,27 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//drivers/utilities:onos-drivers-utilities',
-    '//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-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app (
-    app_name = 'org.onosproject.drivers.ovsdb',
-    title = 'Generic OVSDB Drivers',
-    category = 'Drivers',
-    url = 'http://onosproject.org',
-    description = 'Adds support for devices using OVSDB.',
-    required_apps = [ 'org.onosproject.ovsdb-base' ],
-)
diff --git a/drivers/p4runtime/BUCK b/drivers/p4runtime/BUCK
deleted file mode 100644
index ea135ef..0000000
--- a/drivers/p4runtime/BUCK
+++ /dev/null
@@ -1,32 +0,0 @@
-GRPC_VER = '1.3.1'
-
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//protocols/p4runtime/api:onos-protocols-p4runtime-api',
-    '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER,
-    '//core/store/serializers:onos-core-serializers',
-]
-
-BUNDLES = [
-    ':onos-drivers-p4runtime',
-]
-
-osgi_jar (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    app_name = 'org.onosproject.drivers.p4runtime',
-    title = 'P4Runtime Drivers',
-    category = 'Drivers',
-    url = 'http://onosproject.org',
-    description = 'Adds support for devices using P4 Runtime protocol.',
-    included_bundles = BUNDLES,
-    required_apps = [
-        'org.onosproject.generaldeviceprovider',
-        'org.onosproject.protocols.p4runtime',
-        'org.onosproject.p4runtime',
-        'org.onosproject.drivers',
-    ],
-)
diff --git a/drivers/polatis/netconf/BUCK b/drivers/polatis/netconf/BUCK
deleted file mode 100644
index 061ae0d..0000000
--- a/drivers/polatis/netconf/BUCK
+++ /dev/null
@@ -1,44 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//models/polatis:onos-models-polatis',
-    '//drivers/utilities:onos-drivers-utilities',
-    '//protocols/netconf/api:onos-protocols-netconf-api',
-    '//lib:onos-yang-model',
-    '//apps/optical-model:onos-apps-optical-model',
-    '//incubator/api:onos-incubator-api',
-]
-
-APPS = [
-    'org.onosproject.netconf',
-    'org.onosproject.models.common',
-    'org.onosproject.models.polatis',
-    'org.onosproject.optical-model',
-    'org.onosproject.faultmanagement',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//utils/osgi:onlab-osgi-tests',
-]
-
-BUNDLES = [
-    ':onos-drivers-polatis-netconf',
-    '//drivers/utilities:onos-drivers-utilities',
-]
-
-osgi_jar_with_tests(
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app(
-    app_name = 'org.onosproject.drivers.polatis.netconf',
-    title = 'Polatis Device Drivers',
-    category = 'Drivers',
-    url = 'http://www.polatis.com',
-    description = 'ONOS Polatis Device Drivers application.',
-    included_bundles = BUNDLES,
-    required_apps = APPS
-)
diff --git a/drivers/polatis/openflow/BUCK b/drivers/polatis/openflow/BUCK
deleted file mode 100644
index 704ad3d..0000000
--- a/drivers/polatis/openflow/BUCK
+++ /dev/null
@@ -1,34 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:openflowj',
-    '//protocols/openflow/api:onos-protocols-openflow-api',
-    '//apps/optical-model:onos-apps-optical-model',
-]
-
-APPS = [
-    'org.onosproject.drivers.optical',
-    'org.onosproject.optical-model',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-    '//utils/osgi:onlab-osgi-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app (
-    app_name = 'org.onosproject.drivers.polatis.openflow',
-    title = 'Polatis OpenFlow Device Drivers',
-    category = 'Drivers',
-    url = 'http://www.polatis.com',
-    description = 'ONOS Polatis OpenFlow Device Drivers application.',
-    required_apps = APPS
-)
-
diff --git a/drivers/polatis/snmp/BUCK b/drivers/polatis/snmp/BUCK
deleted file mode 100644
index 5ff6cdf..0000000
--- a/drivers/polatis/snmp/BUCK
+++ /dev/null
@@ -1,35 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:org.apache.servicemix.bundles.snmp4j',
-    '//drivers/utilities:onos-drivers-utilities',
-    '//protocols/snmp/api:onos-protocols-snmp-api',
-    '//apps/optical-model:onos-apps-optical-model',
-    '//incubator/api:onos-incubator-api',
-]
-
-APPS = [
-    'org.onosproject.snmp',
-    'org.onosproject.optical-model',
-    'org.onosproject.faultmanagement',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-]
-
-osgi_jar_with_tests(
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app(
-    app_name = 'org.onosproject.drivers.polatis.snmp',
-    title = 'Polatis SNMP Device Drivers',
-    category = 'Drivers',
-    url = 'http://www.polatis.com',
-    description = 'ONOS Polatis SNMP Device Drivers application.',
-    required_apps = APPS
-)
diff --git a/drivers/server/BUCK b/drivers/server/BUCK
deleted file mode 100644
index cfb6acd..0000000
--- a/drivers/server/BUCK
+++ /dev/null
@@ -1,40 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:javax.ws.rs-api',
-    '//lib:joda-time',
-    '//incubator/api:onos-incubator-api',
-    '//utils/rest:onlab-rest',
-    '//protocols/rest/api:onos-protocols-rest-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-]
-
-BUNDLES = [
-    ':onos-drivers-server',
-]
-
-REQUIRED_APPS = [
-    'org.onosproject.restsb',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
-onos_app (
-    app_name = 'org.onosproject.drivers.server',
-    title = 'Server Device Drivers',
-    category = 'Drivers',
-    origin = 'KTH Royal Institute of Technology &amp; RISE SICS',
-    url = 'https://github.com/gkatsikas/onos/tree/metron-driver',
-    description = 'ONOS southbound drivers for commodity servers',
-    included_bundles = BUNDLES,
-    required_apps = REQUIRED_APPS,
-)
diff --git a/drivers/utilities/BUCK b/drivers/utilities/BUCK
deleted file mode 100644
index 731ad13..0000000
--- a/drivers/utilities/BUCK
+++ /dev/null
@@ -1,11 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//core/net:onos-core-net',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-)
-
diff --git a/incubator/api/BUCK b/incubator/api/BUCK
deleted file mode 100644
index eb7b036..0000000
--- a/incubator/api/BUCK
+++ /dev/null
@@ -1,15 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    name = 'onos-incubator-api',
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    visibility = ['PUBLIC'],
-)
diff --git a/incubator/grpc-dependencies/BUCK b/incubator/grpc-dependencies/BUCK
deleted file mode 100644
index 99d74cc..0000000
--- a/incubator/grpc-dependencies/BUCK
+++ /dev/null
@@ -1,41 +0,0 @@
-include_defs('//bucklets/grpc.bucklet')
-
-fetch_grpc_plugin(version = '1.3.1')
-
-# Repackaging of gRPC 1.3.* to solve the OSGI split package issue.
-# If bumping the gRPC version, please write a new rule.
-
-def grpc_core_repkg_131():
-    repkg_deps = [
-        '//lib:COMPILE',
-        '//lib:google-instrumentation-0.3.0',
-        '//lib:google-errorprone-2.0.19'
-    ]
-    remote_file(
-        name = "grpc-src-zip-131",
-        url = "https://github.com/grpc/grpc-java/archive/v1.3.1.zip",
-        sha1 = "03dc21440fdfa920aa0e905da17df35b0d6c9a44",
-    )
-    srcs = []
-    for pkg in ['core', 'context']:
-        name = 'grpc-' + pkg + '-130'
-        genrule(
-            name = name,
-            bash = 'jar xf $(location :grpc-src-zip-131) grpc-java-1.3.1/' + pkg + '/src/main/java '
-            + '&& cd grpc-java-1.3.1/' + pkg + '/src/main/java '
-            + '&& jar -cf $OUT *',
-            out = pkg + '.src.zip',
-        )
-        srcs.append(':' + name)
-    osgi_jar(
-        name = 'grpc-core-repkg-1.3.1',
-        srcs = srcs,
-        deps = repkg_deps,
-        package_name_root = 'io.grpc',
-        import_packages = '!javax.annotation,!com.google.errorprone.annotations,*',
-        export_packages = '*',
-        do_javadocs = False,
-        do_checkstyle = False,
-    )
-
-grpc_core_repkg_131()
diff --git a/incubator/net/BUCK b/incubator/net/BUCK
deleted file mode 100644
index 902434a..0000000
--- a/incubator/net/BUCK
+++ /dev/null
@@ -1,25 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:METRICS',
-    '//lib:KRYO',
-    '//core/common:onos-core-common',
-    '//incubator/api:onos-incubator-api',
-    '//incubator/store:onos-incubator-store',
-    '//utils/rest:onlab-rest',
-    '//lib:concurrent-trees',
-    '//core/store/serializers:onos-core-serializers',
-]
-
-TEST_DEPS = [
-    '//incubator/api:onos-incubator-api-tests',
-    '//lib:TEST_REST',
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-    '//core/common:onos-core-common-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/incubator/protobuf-dependencies/BUCK b/incubator/protobuf-dependencies/BUCK
deleted file mode 100644
index b7705de..0000000
--- a/incubator/protobuf-dependencies/BUCK
+++ /dev/null
@@ -1,4 +0,0 @@
-include_defs('//bucklets/grpc.bucklet')
-
-fetch_protoc(version = '3.0.2')
-fetch_protoc(version = '3.2.0')
\ No newline at end of file
diff --git a/incubator/protobuf/api/BUCK b/incubator/protobuf/api/BUCK
deleted file mode 100644
index 13a04d4..0000000
--- a/incubator/protobuf/api/BUCK
+++ /dev/null
@@ -1,15 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//incubator/grpc-dependencies:grpc-core-repkg-1.3.1'
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    name = 'onos-grpc-api',
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    visibility = ['PUBLIC'],
-)
diff --git a/incubator/protobuf/models/BUCK b/incubator/protobuf/models/BUCK
deleted file mode 100644
index 04f71b0..0000000
--- a/incubator/protobuf/models/BUCK
+++ /dev/null
@@ -1,35 +0,0 @@
-GRPC_VER = '1.3.1'
-
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    ':onos-incubator-protobuf-models-proto',
-    '//lib:protobuf-java-3.2.0',
-    '//lib:GRPC_1.3',
-    '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER
-]
-
-GRPC_DEPS = [
-    '//lib:GRPC_1.3',
-    '//lib:protobuf-java-3.2.0',
-    '//lib:com_google_guava_guava',
-    '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER
-]
-
-BUNDLES = [
-    ':onos-incubator-protobuf-models',
-    ':onos-incubator-protobuf-models-proto',
-    '//lib:protobuf-java-3.2.0',
-]
-
-grpc_jar(
-    name = 'onos-incubator-protobuf-models-proto',
-    deps = GRPC_DEPS,
-    # FIXME should not be manually building absolute path.
-    # Come up with glob(..) equivalent in BUCK which can handle directory.
-    proto_paths = ["$ONOS_ROOT/incubator/protobuf/models/src/main/proto"]
-)
-
-osgi_jar_with_tests(
-    deps = COMPILE_DEPS,
-    visibility = ['PUBLIC'],
-)
diff --git a/incubator/protobuf/registry/BUCK b/incubator/protobuf/registry/BUCK
deleted file mode 100644
index ff95260..0000000
--- a/incubator/protobuf/registry/BUCK
+++ /dev/null
@@ -1,23 +0,0 @@
-GRPC_VER = '1.3.1'
-
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-    '//lib:GRPC_1.3',
-    '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER,
-    '//incubator/protobuf/api:onos-grpc-api'
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    title = 'Grpc Service Registry',
-    app_name = "org.onosproject.grpc.registry",
-    included_bundles = ['//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER,
-        '//lib:google-instrumentation-0.3.0'],
-    category = 'Utility',
-    url = 'http://onosproject.org',
-    description = 'Service providing connections for remote apps communicating with the ONOS core via gRPC.',
-)
diff --git a/incubator/protobuf/services/nb/BUCK b/incubator/protobuf/services/nb/BUCK
deleted file mode 100644
index f05f448..0000000
--- a/incubator/protobuf/services/nb/BUCK
+++ /dev/null
@@ -1,78 +0,0 @@
-GRPC_VER = '1.3.1'
-
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    ':onos-incubator-protobuf-services-nb-proto',
-    '//incubator/protobuf/models:onos-incubator-protobuf-models-proto',
-    '//incubator/protobuf/models:onos-incubator-protobuf-models',
-    '//lib:protobuf-java-3.2.0',
-    '//lib:GRPC_1.3',
-    '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER,
-    '//lib:grpc-protobuf-lite-' + GRPC_VER,
-    '//incubator/protobuf/api:onos-grpc-api'
-]
-
-TEST_DEPS = [
-    '//lib:TEST',
-    '//lib:TEST_ADAPTERS',
-]
-
-GRPC_DEPS = [
-    '//lib:GRPC_1.3',
-    '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER,
-    '//incubator/protobuf/models:onos-incubator-protobuf-models-proto',
-    '//lib:protobuf-java-3.2.0',
-    '//lib:com_google_guava_guava',
-]
-
-BUNDLES = [
-    '//incubator/protobuf/models:onos-incubator-protobuf-models',
-    '//incubator/protobuf/models:onos-incubator-protobuf-models-proto',
-    ':onos-incubator-protobuf-services-nb',
-    ':onos-incubator-protobuf-services-nb-proto',
-    '//lib:protobuf-java-3.2.0',
-    '//lib:com_google_guava_guava',
-    '//lib:grpc-core-' + GRPC_VER,
-    '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER,
-    '//lib:grpc-protobuf-' + GRPC_VER,
-    '//lib:grpc-stub-' + GRPC_VER,
-    '//lib:grpc-netty-' + GRPC_VER,
-    '//lib:grpc-auth-' + GRPC_VER,
-    '//lib:grpc-context-' + GRPC_VER,
-    '//lib:google-truth-0.28',
-    '//core/api:onos-api',
-    '//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",
-]
-
-grpc_jar(
-    name = 'onos-incubator-protobuf-services-nb-proto',
-    deps = GRPC_DEPS,
-    # FIXME should not be manually building absolute path
-    # come up with glob(..) equivalent in BUCK which can handle directory
-    proto_paths = ["$ONOS_ROOT/incubator/protobuf/services/nb/src/main/proto",
-        "$ONOS_ROOT/incubator/protobuf/models/src/main/proto"]
-)
-
-osgi_jar_with_tests(
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    visibility = ['PUBLIC'],
-)
-
-onos_app (
-    title = 'Grpc Northbound Service',
-    app_name = "org.onosproject.grpc.nb.service",
-    category = 'Utility',
-    url = 'http://onosproject.org',
-    included_bundles = ['//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER,
-            '//lib:google-instrumentation-0.3.0'],
-    description = 'gRPC northbound services used to provide fine-grained access to ONOS native northbound interface from off-platform applications',
-)
diff --git a/incubator/rpc/BUCK b/incubator/rpc/BUCK
deleted file mode 100644
index 068a43b..0000000
--- a/incubator/rpc/BUCK
+++ /dev/null
@@ -1,14 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//incubator/api:onos-incubator-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    visibility = ['PUBLIC'],
-)
diff --git a/incubator/store/BUCK b/incubator/store/BUCK
deleted file mode 100644
index e3fa120..0000000
--- a/incubator/store/BUCK
+++ /dev/null
@@ -1,20 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//lib:concurrent-trees',
-    '//incubator/api:onos-incubator-api',
-    '//core/store/dist:onos-core-dist',
-    '//core/store/serializers:onos-core-serializers',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//core/api:onos-api-tests',
-    '//core/common:onos-core-common-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    visibility = ['PUBLIC'],
-)
diff --git a/lib/BUCK b/lib/BUCK
deleted file mode 100644
index 7c56626..0000000
--- a/lib/BUCK
+++ /dev/null
@@ -1,2070 +0,0 @@
-<<<<<<< HEAD
-<<<<<<< HEAD
-<<<<<<< HEAD
-# ***** This file was auto-generated at Tue, 18 Sep 2018 20:31:36 GMT. Do not edit this file manually. *****
-=======
-# ***** This file was auto-generated at Thu, 27 Sep 2018 15:25:26 GMT. Do not edit this file manually. *****
->>>>>>> origin/master
-=======
-# ***** This file was auto-generated at Fri, 5 Oct 2018 20:40:12 GMT. Do not edit this file manually. *****
->>>>>>> master
-=======
-# ***** This file was auto-generated at Fri, 12 Oct 2018 17:49:41 GMT. Do not edit this file manually. *****
->>>>>>> f4f54a1be000d2aaae7299ed6d26468c7e0e0763
-# ***** Use onos-lib-gen *****
-
-pass_thru_pom(
-    name = 'onos-dependencies-pom',
-    src = 'pom.xml',
-    out = 'onos-dependencies.pom',
-    artifactId = 'onos-dependencies',
-)
-
-osgi_feature_group(
-  name = 'COMPILE',
-  visibility = ['PUBLIC'],
-  exported_deps = [
-    ':commons-configuration',
-    ':commons-logging',
-    ':commons-collections',
-    ':commons-lang',
-    ':commons-lang3',
-    ':commons-io',
-    ':commons-pool',
-    ':com_google_guava_guava',
-    ':slf4j-api',
-    ':osgi-core',
-    ':org.osgi.service.component',
-    ':org.osgi.service.component.annotations',
-    ':org.osgi.service.metatype.annotations',
-    ':org.apache.karaf.features.core',
-    ':org.apache.karaf.system.core',
-    ':com_google_code_findbugs_jsr305',
-    ':org.apache.servicemix.bundles.dom4j',
-  ],
-)
-
-osgi_feature_group(
-  name = 'CORE_DEPS',
-  visibility = ['PUBLIC'],
-  exported_deps = [
-    ':COMPILE',
-    '//core/api:onos-api',
-    '//utils/misc:onlab-misc',
-    '//utils/osgi:onlab-osgi',
-  ],
-)
-
-osgi_feature_group(
-  name = 'TEST',
-  visibility = ['PUBLIC'],
-  exported_deps = [
-    ':junit',
-    ':easymock',
-    ':hamcrest-all',
-    ':hamcrest-optional',
-    ':com_google_guava_guava_testlib',
-    '//utils/junit:onlab-junit',
-  ],
-)
-
-osgi_feature_group(
-  name = 'TEST_ADAPTERS',
-  visibility = ['PUBLIC'],
-  exported_deps = [
-    ':TEST',
-    '//core/common:onos-core-common',
-    '//core/api:onos-api-tests',
-    '//core/common:onos-core-common-tests',
-  ],
-)
-
-osgi_feature_group(
-  name = 'TEST_REST',
-  visibility = ['PUBLIC'],
-  exported_deps = [
-    ':TEST_ADAPTERS',
-    ':jersey-client',
-    ':jersey-server',
-    ':jersey-common',
-    ':jersey-hk2',
-    ':jersey-test-framework-core',
-    ':jersey-test-framework-jetty',
-    ':jersey-container-jetty-http',
-    ':jetty-continuation',
-    ':jetty-http',
-    ':jetty-server',
-    ':jetty-io',
-    ':jetty-util',
-    ':javax.servlet-api',
-    ':hk2-api',
-    ':hk2-locator',
-    ':hk2-utils',
-    ':javax.inject',
-    ':hk2-osgi-resource-locator',
-    ':javax.annotation-api-mvn',
-    ':validation-api',
-    '//core/common:onos-core-common',
-    '//core/api:onos-api-tests',
-    '//core/common:onos-core-common-tests',
-    '//utils/osgi:onlab-osgi-tests',
-  ],
-)
-
-osgi_feature_group(
-  name = 'NETTY',
-  visibility = ['PUBLIC'],
-  exported_deps = [
-    ':io_netty_netty_buffer',
-    ':io_netty_netty_common',
-  ],
-)
-
-osgi_feature_group(
-  name = 'ONOS_YANG',
-  visibility = ['PUBLIC'],
-  exported_deps = [
-    ':onos-yang-model',
-    ':onos-yang-compiler-api',
-    ':onos-yang-serializers-json',
-    ':onos-yang-serializers-xml',
-    ':onos-yang-serializers-utils',
-  ],
-)
-
-osgi_feature_group(
-  name = 'JACKSON',
-  visibility = ['PUBLIC'],
-  exported_deps = [
-    ':jackson-annotations',
-    ':jackson-core',
-    ':jackson-databind',
-  ],
-)
-
-osgi_feature_group(
-  name = 'METRICS',
-  visibility = ['PUBLIC'],
-  exported_deps = [
-    ':metrics-core',
-    ':metrics-json',
-  ],
-)
-
-osgi_feature_group(
-  name = 'KRYO',
-  visibility = ['PUBLIC'],
-  exported_deps = [
-    ':kryo',
-    ':reflectasm',
-    ':asm',
-    ':minlog',
-    ':objenesis',
-  ],
-)
-
-osgi_feature_group(
-  name = 'CLI',
-  visibility = ['PUBLIC'],
-  exported_deps = [
-    ':org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-  ],
-)
-
-osgi_feature_group(
-  name = 'REST',
-  visibility = ['PUBLIC'],
-  exported_deps = [
-    ':javax.ws.rs-api',
-    '//utils/rest:onlab-rest',
-  ],
-)
-
-osgi_feature_group(
-  name = 'ATOMIX',
-  visibility = ['PUBLIC'],
-  exported_deps = [
-    ':atomix',
-    ':atomix-cluster',
-    ':atomix-gossip',
-    ':atomix-primary-backup',
-    ':atomix-primitive',
-    ':atomix-raft',
-    ':atomix-storage',
-    ':atomix-utils',
-    ':typesafe-config',
-    ':classgraph',
-  ],
-)
-
-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',
-  url = 'mvn:org.glassfish.hk2.external:aopalliance-repackaged:jar:2.5.0-b42',
-  sha1 = 'e74beab6ca12e9e745eb47ca61729d9452b96f0c',
-  maven_coords = 'org.glassfish.hk2.external:aopalliance-repackaged:2.5.0-b42',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'amqp-client',
-  out = 'amqp-client-3.6.1.jar',
-  url = 'mvn:com.rabbitmq:amqp-client:jar:3.6.1',
-  sha1 = '089be4acfa8a0fa48a775a82d20632f90aecf10b',
-  maven_coords = 'com.rabbitmq:amqp-client:3.6.1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'asm',
-  out = 'asm-6.2.jar',
-  url = 'mvn:org.ow2.asm:asm:jar:6.2',
-  sha1 = '1b6c4ff09ce03f3052429139c2a68e295cae6604',
-  maven_coords = 'org.ow2.asm:asm:6.2',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'atomix',
-  out = 'atomix-3.0.7.jar',
-  url = 'mvn:io.atomix:atomix:jar:3.0.7',
-  sha1 = 'd2c0cdbdc4e7c242d1fe476892fdbc31a1468d43',
-  maven_coords = 'io.atomix:atomix:3.0.7',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'atomix-cluster',
-  out = 'atomix-cluster-3.0.7.jar',
-  url = 'mvn:io.atomix:atomix-cluster:jar:3.0.7',
-  sha1 = '1bf4ca3d10f8be0c87588b531a200d982ef6f1a3',
-  maven_coords = 'io.atomix:atomix-cluster:3.0.7',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'atomix-gossip',
-  out = 'atomix-gossip-3.0.7.jar',
-  url = 'mvn:io.atomix:atomix-gossip:jar:3.0.7',
-  sha1 = 'c702172c4d77cea0fb95ad953ee36c2bae73db34',
-  maven_coords = 'io.atomix:atomix-gossip:3.0.7',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'atomix-primary-backup',
-  out = 'atomix-primary-backup-3.0.7.jar',
-  url = 'mvn:io.atomix:atomix-primary-backup:jar:3.0.7',
-  sha1 = 'b5269c7bc1172966928ec14af098f02c65c78c97',
-  maven_coords = 'io.atomix:atomix-primary-backup:3.0.7',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'atomix-primitive',
-  out = 'atomix-primitive-3.0.7.jar',
-  url = 'mvn:io.atomix:atomix-primitive:jar:3.0.7',
-  sha1 = '41c55b48913ceffecaa846395e19dbe2e959d145',
-  maven_coords = 'io.atomix:atomix-primitive:3.0.7',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'atomix-raft',
-  out = 'atomix-raft-3.0.7.jar',
-  url = 'mvn:io.atomix:atomix-raft:jar:3.0.7',
-  sha1 = '9b294e0568df35d1a58971b2748426da7d13e849',
-  maven_coords = 'io.atomix:atomix-raft:3.0.7',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'atomix-storage',
-  out = 'atomix-storage-3.0.7.jar',
-  url = 'mvn:io.atomix:atomix-storage:jar:3.0.7',
-  sha1 = '451575082ad5bd0257372bd34c29ac0bf1120133',
-  maven_coords = 'io.atomix:atomix-storage:3.0.7',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'atomix-utils',
-  out = 'atomix-utils-3.0.7.jar',
-  url = 'mvn:io.atomix:atomix-utils:jar:3.0.7',
-  sha1 = '647aee1cab71c3b816c8a205d0d55bdae9047434',
-  maven_coords = 'io.atomix:atomix-utils:3.0.7',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'classgraph',
-  out = 'classgraph-4.2.3.jar',
-  url = 'mvn:io.github.classgraph:classgraph:jar:4.2.3',
-  sha1 = '5c9bfb002097a6cf6c7134821954e24326db3a7b',
-  maven_coords = 'io.github.classgraph:classgraph:4.2.3',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'commons-codec',
-  out = 'commons-codec-1.10.jar',
-  url = 'mvn:commons-codec:commons-codec:jar:1.10',
-  sha1 = '4b95f4897fa13f2cd904aee711aeafc0c5295cd8',
-  maven_coords = 'commons-codec:commons-codec:1.10',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'commons-cli',
-  out = 'commons-cli-1.3.jar',
-  url = 'mvn:commons-cli:commons-cli:jar:1.3',
-  sha1 = 'a48653b6bcd06b5e61ed63739ca601701fcb6a6c',
-  maven_coords = 'commons-cli:commons-cli:1.3',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'commons-collections',
-  out = 'commons-collections-3.2.2.jar',
-  url = 'mvn:commons-collections:commons-collections:jar:3.2.2',
-  sha1 = '8ad72fe39fa8c91eaaf12aadb21e0c3661fe26d5',
-  maven_coords = 'commons-collections:commons-collections:3.2.2',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'commons-configuration',
-  out = 'commons-configuration-1.10.jar',
-  url = 'mvn:commons-configuration:commons-configuration:jar:1.10',
-  sha1 = '2b36e4adfb66d966c5aef2d73deb6be716389dc9',
-  maven_coords = 'commons-configuration:commons-configuration:1.10',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'commons-io',
-  out = 'commons-io-2.6.jar',
-  url = 'mvn:commons-io:commons-io:jar:2.6',
-  sha1 = '815893df5f31da2ece4040fe0a12fd44b577afaf',
-  maven_coords = 'commons-io:commons-io:2.6',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'commons-beanutils',
-  out = 'commons-beanutils-1.9.3.jar',
-  url = 'mvn:commons-beanutils:commons-beanutils:jar:1.9.3',
-  sha1 = 'c845703de334ddc6b4b3cd26835458cb1cba1f3d',
-  maven_coords = 'commons-beanutils:commons-beanutils:1.9.3',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'fast-classpath-scanner',
-  out = 'fast-classpath-scanner-2.21.jar',
-  url = 'mvn:io.github.lukehutch:fast-classpath-scanner:jar:2.21',
-  sha1 = '0cc8e22b412521480c89ac79194e82bd4471dd75',
-  maven_coords = 'io.github.lukehutch:fast-classpath-scanner:2.21',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'jdom',
-  out = 'jdom-1.0.jar',
-  url = 'mvn:jdom:jdom:jar:1.0',
-  sha1 = 'a2ac1cd690ab4c80defe7f9bce14d35934c35cec',
-  maven_coords = 'jdom:jdom:jar:NON-OSGI:1.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'commons-lang',
-  out = 'commons-lang-2.6.jar',
-  url = 'mvn:commons-lang:commons-lang:jar:2.6',
-  sha1 = '0ce1edb914c94ebc388f086c6827e8bdeec71ac2',
-  maven_coords = 'commons-lang:commons-lang:2.6',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'commons-lang3',
-  out = 'commons-lang3-3.7.jar',
-  url = 'mvn:org.apache.commons:commons-lang3:jar:3.7',
-  sha1 = '557edd918fd41f9260963583ebf5a61a43a6b423',
-  maven_coords = 'org.apache.commons:commons-lang3:3.7',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'commons-logging',
-  out = 'commons-logging-1.2.jar',
-  url = 'mvn:commons-logging:commons-logging:jar:1.2',
-  sha1 = '4bfc12adfe4842bf07b657f0369c4cb522955686',
-  maven_coords = 'commons-logging:commons-logging:1.2',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'commons-math3',
-  out = 'commons-math3-3.6.1.jar',
-  url = 'mvn:org.apache.commons:commons-math3:jar:3.6.1',
-  sha1 = 'e4ba98f1d4b3c80ec46392f25e094a6a2e58fcbf',
-  maven_coords = 'org.apache.commons:commons-math3:3.6.1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'commons-net',
-  out = 'commons-net-3.5.jar',
-  url = 'mvn:commons-net:commons-net:jar:3.5',
-  sha1 = '342fc284019f590e1308056990fdb24a08f06318',
-  maven_coords = 'commons-net:commons-net:3.5',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'commons-pool',
-  out = 'commons-pool-1.6.jar',
-  url = 'mvn:commons-pool:commons-pool:jar:1.6',
-  sha1 = '4572d589699f09d866a226a14b7f4323c6d8f040',
-  maven_coords = 'commons-pool:commons-pool:1.6',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'commons-text',
-  out = 'commons-text-1.3.jar',
-  url = 'mvn:org.apache.commons:commons-text:jar:1.3',
-  sha1 = '9abf61708a66ab5e55f6169a200dbfc584b546d9',
-  maven_coords = 'org.apache.commons:commons-text:1.3',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'concurrent-trees',
-  out = 'concurrent-trees-2.6.1.jar',
-  url = 'mvn:com.googlecode.concurrent-trees:concurrent-trees:jar:2.6.1',
-  sha1 = '9b647240522ab67c003de9b6702ca81ac0c15efc',
-  maven_coords = 'com.googlecode.concurrent-trees:concurrent-trees:2.6.1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'easymock',
-  out = 'easymock-3.6.jar',
-  url = 'mvn:org.easymock:easymock:jar:3.6',
-  sha1 = '276883daaf2230e6f1e07c78ad695d2a18c7170b',
-  maven_coords = 'org.easymock:easymock:3.6',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'antlr',
-  out = 'antlr-2.7.7.jar',
-  url = 'mvn:antlr:antlr:jar:2.7.7',
-  sha1 = '83cd2cd674a217ade95a4bb83a8a14f351f48bd0',
-  maven_coords = 'antlr:antlr:jar:NON-OSGI:2.7.7',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'ganymed-ssh2',
-  out = 'ganymed-ssh2-262.jar',
-  url = 'mvn:ch.ethz.ganymed:ganymed-ssh2:jar:262',
-  sha1 = '7761dc665d0f6993dc846d914214fb93291e2bdf',
-  maven_coords = 'ch.ethz.ganymed:ganymed-ssh2:jar:NON-OSGI:262',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'gmetric4j',
-  out = 'gmetric4j-1.0.10.jar',
-  url = 'mvn:info.ganglia.gmetric4j:gmetric4j:jar:1.0.10',
-  sha1 = '3d62003123b586adb86cb028cc0f8a8c3a701d81',
-  maven_coords = 'info.ganglia.gmetric4j:gmetric4j:1.0.10',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'com_google_code_gson_gson',
-  out = 'gson-2.7.jar',
-  url = 'mvn:com.google.code.gson:gson:jar:2.7',
-  sha1 = '751f548c85fa49f330cecbb1875893f971b33c4e',
-  maven_coords = 'com.google.code.gson:gson:2.7',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'com_google_guava_guava',
-  out = 'guava-22.0.jar',
-  url = 'mvn:com.google.guava:guava:jar:22.0',
-  sha1 = '3564ef3803de51fb0530a8377ec6100b33b0d073',
-  maven_coords = 'com.google.guava:guava:22.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'com_google_guava_guava_testlib',
-  out = 'guava-testlib-22.0.jar',
-  url = 'mvn:com.google.guava:guava-testlib:jar:22.0',
-  sha1 = '3be1b88f1cfc6592acbcbfe1f3a420f79eb2b146',
-  maven_coords = 'com.google.guava:guava-testlib:jar:NON-OSGI:22.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'hamcrest-all',
-  out = 'hamcrest-all-1.3.jar',
-  url = 'mvn:org.hamcrest:hamcrest-all:jar:1.3',
-  sha1 = '63a21ebc981131004ad02e0434e799fd7f3a8d5a',
-  maven_coords = 'org.hamcrest:hamcrest-all:jar:NON-OSGI:1.3',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'hk2-api',
-  out = 'hk2-api-2.5.0-b42.jar',
-  url = 'mvn:org.glassfish.hk2:hk2-api:jar:2.5.0-b42',
-  sha1 = '7fd4e3d0f2cb37c80ad0dedee3f5ee69503eaf52',
-  maven_coords = 'org.glassfish.hk2:hk2-api:2.5.0-b42',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'hk2-locator',
-  out = 'hk2-locator-2.5.0-b42.jar',
-  url = 'mvn:org.glassfish.hk2:hk2-locator:jar:2.5.0-b42',
-  sha1 = '9d6edc0cb226401a8316e67d81bfc37cb626ef91',
-  maven_coords = 'org.glassfish.hk2:hk2-locator:2.5.0-b42',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'hk2-osgi-resource-locator',
-  out = 'osgi-resource-locator-1.0.1.jar',
-  url = 'mvn:org.glassfish.hk2:osgi-resource-locator:jar:1.0.1',
-  sha1 = '4ed2b2d4738aed5786cfa64cba5a332779c4c708',
-  maven_coords = 'org.glassfish.hk2:osgi-resource-locator:1.0.1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'hk2-utils',
-  out = 'hk2-utils-2.5.0-b42.jar',
-  url = 'mvn:org.glassfish.hk2:hk2-utils:jar:2.5.0-b42',
-  sha1 = '102a344e1728825e865a8986d7605602aba3c3b6',
-  maven_coords = 'org.glassfish.hk2:hk2-utils:2.5.0-b42',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'httpclient-osgi',
-  out = 'httpclient-osgi-4.5.1.jar',
-  url = 'mvn:org.apache.httpcomponents:httpclient-osgi:jar:4.5.1',
-  sha1 = '0220a68ff36e5b0fa71b5dc0b1dc1d4ad2dcf524',
-  maven_coords = 'org.apache.httpcomponents:httpclient-osgi:4.5.1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'httpcore-osgi',
-  out = 'httpcore-osgi-4.4.4.jar',
-  url = 'mvn:org.apache.httpcomponents:httpcore-osgi:jar:4.4.4',
-  sha1 = 'd5c14055e569afca96f4603d6f9d467bc72ccba8',
-  maven_coords = 'org.apache.httpcomponents:httpcore-osgi:4.4.4',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'influxdb-java',
-  out = 'influxdb-java-2.9.jar',
-  url = 'mvn:org.influxdb:influxdb-java:jar:2.9',
-  sha1 = '3c1c2b9b977d4ee67b2877eb89943add248a50db',
-  maven_coords = 'org.influxdb:influxdb-java:jar:NON-OSGI:2.9',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'simpleclient',
-  out = 'simpleclient-0.5.0.jar',
-  url = 'mvn:io.prometheus:simpleclient:jar:0.5.0',
-  sha1 = 'fbbfe2300098798e3d23f93b7b14befeceacf512',
-  maven_coords = 'io.prometheus:simpleclient:0.5.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'simpleclient_common',
-  out = 'simpleclient_common-0.5.0.jar',
-  url = 'mvn:io.prometheus:simpleclient_common:jar:0.5.0',
-  sha1 = 'bfd93082d7cf85c0543c2ccc286b96c817d1090c',
-  maven_coords = 'io.prometheus:simpleclient_common:0.5.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'simpleclient_hotspot',
-  out = 'simpleclient_hotspot-0.5.0.jar',
-  url = 'mvn:io.prometheus:simpleclient_hotspot:jar:0.5.0',
-  sha1 = '0f341cb84d6713255b1ce46c7593eee50a35d414',
-  maven_coords = 'io.prometheus:simpleclient_hotspot:0.5.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'simpleclient_servlet',
-  out = 'simpleclient_servlet-0.5.0.jar',
-  url = 'mvn:io.prometheus:simpleclient_servlet:jar:0.5.0',
-  sha1 = '28d75ee90a5c2ac70eeebb0864b15885116207a4',
-  maven_coords = 'io.prometheus:simpleclient_servlet:0.5.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'retrofit',
-  out = 'retrofit-2.3.0.jar',
-  url = 'mvn:com.squareup.retrofit2:retrofit:jar:2.3.0',
-  sha1 = 'bcacde6a8ccedcc56c127403d26b76072fe6214d',
-  maven_coords = 'com.squareup.retrofit2:retrofit:jar:NON-OSGI:2.3.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'converter-moshi',
-  out = 'converter-moshi-2.3.0.jar',
-  url = 'mvn:com.squareup.retrofit2:converter-moshi:jar:2.3.0',
-  sha1 = '6ad87c2038269d2574fcd90765ce15c74d6bb993',
-  maven_coords = 'com.squareup.retrofit2:converter-moshi:jar:NON-OSGI:2.3.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'okhttp',
-  out = 'okhttp-3.9.1.jar',
-  url = 'mvn:com.squareup.okhttp3:okhttp:jar:3.9.1',
-  sha1 = '84b4b7d1c4a238e7899972b7446c250691e65f1f',
-  maven_coords = 'com.squareup.okhttp3:okhttp:jar:NON-OSGI:3.9.1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'logging-interceptor',
-  out = 'logging-interceptor-3.9.1.jar',
-  url = 'mvn:com.squareup.okhttp3:logging-interceptor:jar:3.9.1',
-  sha1 = '36e71ab9e903fc4d1b4a58d80572a91d9fd60caf',
-  maven_coords = 'com.squareup.okhttp3:logging-interceptor:jar:NON-OSGI:3.9.1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'moshi',
-  out = 'moshi-1.4.0.jar',
-  url = 'mvn:com.squareup.moshi:moshi:jar:1.4.0',
-  sha1 = 'd67ad038adfd55dc276488a54f4944dfae5ff8ec',
-  maven_coords = 'com.squareup.moshi:moshi:jar:NON-OSGI:1.4.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'okio',
-  out = 'okio-1.14.0.jar',
-  url = 'mvn:com.squareup.okio:okio:jar:1.14.0',
-  sha1 = '102d7be47241d781ef95f1581d414b0943053130',
-  maven_coords = 'com.squareup.okio:okio:jar:NON-OSGI:1.14.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'jackson-annotations',
-  out = 'jackson-annotations-2.9.5.jar',
-  url = 'mvn:com.fasterxml.jackson.core:jackson-annotations:jar:2.9.5',
-  sha1 = '9056ec9db21c57d43219a84bb18c129ae51c6a5d',
-  maven_coords = 'com.fasterxml.jackson.core:jackson-annotations:2.9.5',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'jackson-core',
-  out = 'jackson-core-2.9.5.jar',
-  url = 'mvn:com.fasterxml.jackson.core:jackson-core:jar:2.9.5',
-  sha1 = 'a22ac51016944b06fd9ffbc9541c6e7ce5eea117',
-  maven_coords = 'com.fasterxml.jackson.core:jackson-core:2.9.5',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'jackson-databind',
-  out = 'jackson-databind-2.9.5.jar',
-  url = 'mvn:com.fasterxml.jackson.core:jackson-databind:jar:2.9.5',
-  sha1 = '3490508379d065fe3fcb80042b62f630f7588606',
-  maven_coords = 'com.fasterxml.jackson.core:jackson-databind:2.9.5',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'javax.annotation-api-mvn',
-  out = 'javax.annotation-api-1.2.jar',
-  url = 'mvn:javax.annotation:javax.annotation-api:jar:1.2',
-  sha1 = '479c1e06db31c432330183f5cae684163f186146',
-  maven_coords = 'javax.annotation:javax.annotation-api:1.2',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'javax.inject',
-  out = 'javax.inject-2.5.0-b42.jar',
-  url = 'mvn:org.glassfish.hk2.external:javax.inject:jar:2.5.0-b42',
-  sha1 = '98e0b7dcef77dc04809f0603868140a1c60bea71',
-  maven_coords = 'org.glassfish.hk2.external:javax.inject:2.5.0-b42',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'javax.ws.rs-api',
-  out = 'javax.ws.rs-api-2.1.jar',
-  url = 'mvn:javax.ws.rs:javax.ws.rs-api:jar:2.1',
-  sha1 = '426a0862406536e690c7caa8bb6ed32191986fac',
-  maven_coords = 'javax.ws.rs:javax.ws.rs-api:2.1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'jersey-client',
-  out = 'jersey-client-2.26.jar',
-  url = 'mvn:org.glassfish.jersey.core:jersey-client:jar:2.26',
-  sha1 = '125b8d1040d121a5dc4ce6858e21a6160bed7afa',
-  maven_coords = 'org.glassfish.jersey.core:jersey-client:2.26',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'jersey-security',
-  out = 'oauth2-client-2.26.jar',
-  url = 'mvn:org.glassfish.jersey.security:oauth2-client:jar:2.26',
-  sha1 = '968e1d99c9460e29bdb447114fa8440c3dbafb14',
-  maven_coords = 'org.glassfish.jersey.security:oauth2-client:jar:NON-OSGI:2.26',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'jersey-common',
-  out = 'jersey-common-2.26.jar',
-  url = 'mvn:org.glassfish.jersey.core:jersey-common:jar:2.26',
-  sha1 = 'd96475745c5e72cafcbc4dc9e2e725f4d9683f21',
-  maven_coords = 'org.glassfish.jersey.core:jersey-common:2.26',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'jersey-container-jetty-http',
-  out = 'jersey-container-jetty-http-2.26.jar',
-  url = 'mvn:org.glassfish.jersey.containers:jersey-container-jetty-http:jar:2.26',
-  sha1 = 'c20d58ceb1a5d98aad2b2032ca200403622fe9d6',
-  maven_coords = 'org.glassfish.jersey.containers:jersey-container-jetty-http:2.26',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'jersey-container-servlet',
-  out = 'jersey-container-servlet-2.26.jar',
-  url = 'mvn:org.glassfish.jersey.containers:jersey-container-servlet:jar:2.26',
-  sha1 = '8723d05d1fe2fdda54d0921836ea5daa5abe5f00',
-  maven_coords = 'org.glassfish.jersey.containers:jersey-container-servlet:2.26',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'jersey-container-servlet-core',
-  out = 'jersey-container-servlet-core-2.26.jar',
-  url = 'mvn:org.glassfish.jersey.containers:jersey-container-servlet-core:jar:2.26',
-  sha1 = '66a0d51facf1e49e2353ff0d2a2d4a9e2fa3f836',
-  maven_coords = 'org.glassfish.jersey.containers:jersey-container-servlet-core:2.26',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'jersey-media-multipart',
-  out = 'jersey-media-multipart-2.26.jar',
-  url = 'mvn:org.glassfish.jersey.media:jersey-media-multipart:jar:2.26',
-  sha1 = 'c7ea0a5819e4688317024c9f4b6e3de54f9d0f3d',
-  maven_coords = 'org.glassfish.jersey.media:jersey-media-multipart:2.26',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'jersey-media-sse',
-  out = 'jersey-media-sse-2.26.jar',
-  url = 'mvn:org.glassfish.jersey.media:jersey-media-sse:jar:2.26',
-  sha1 = '61cfeb0df911585140f64f3369eb524e0e02f534',
-  maven_coords = 'org.glassfish.jersey.media:jersey-media-sse:2.26',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'jersey-server',
-  out = 'jersey-server-2.26.jar',
-  url = 'mvn:org.glassfish.jersey.core:jersey-server:jar:2.26',
-  sha1 = 'aa8eff3d591641dadd7c9880bb73b59bf46d4c82',
-  maven_coords = 'org.glassfish.jersey.core:jersey-server:2.26',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'jersey-hk2',
-  out = 'jersey-hk2-2.26.jar',
-  url = 'mvn:org.glassfish.jersey.inject:jersey-hk2:jar:2.26',
-  sha1 = 'df27f7d7577acf4b532684448021632098924dab',
-  maven_coords = 'org.glassfish.jersey.inject:jersey-hk2:2.26',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'jersey-test-framework-core',
-  out = 'jersey-test-framework-core-2.26.jar',
-  url = 'mvn:org.glassfish.jersey.test-framework:jersey-test-framework-core:jar:2.26',
-  sha1 = '92698666ae89db58074001a34f09b8233ef5effa',
-  maven_coords = 'org.glassfish.jersey.test-framework:jersey-test-framework-core:jar:NON-OSGI:2.26',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'jersey-test-framework-jetty',
-  out = 'jersey-test-framework-provider-jetty-2.26.jar',
-  url = 'mvn:org.glassfish.jersey.test-framework.providers:jersey-test-framework-provider-jetty:jar:2.26',
-  sha1 = '6be06684283e7c90036d9e24f7793fd8bbb04f6a',
-  maven_coords = 'org.glassfish.jersey.test-framework.providers:jersey-test-framework-provider-jetty:jar:NON-OSGI:2.26',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'jetty-util',
-  out = 'jetty-util-9.4.11.v20180605.jar',
-  url = 'mvn:org.eclipse.jetty:jetty-util:jar:9.4.11.v20180605',
-  sha1 = 'f0f25aa2f27d618a04bc7356fa247ae4a05245b3',
-  maven_coords = 'org.eclipse.jetty:jetty-util:9.4.11.v20180605',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'jetty-websocket',
-  out = 'websocket-servlet-9.4.11.v20180605.jar',
-  url = 'mvn:org.eclipse.jetty.websocket:websocket-servlet:jar:9.4.11.v20180605',
-  sha1 = '0ba53ba5f749d22ddb87331161c214a21b8aa6c8',
-  maven_coords = 'org.eclipse.jetty.websocket:websocket-servlet:9.4.11.v20180605',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'jetty-server',
-  out = 'jetty-server-9.4.11.v20180605.jar',
-  url = 'mvn:org.eclipse.jetty:jetty-server:jar:9.4.11.v20180605',
-  sha1 = '58353c2f27515b007fc83ae22002feb34fc24714',
-  maven_coords = 'org.eclipse.jetty:jetty-server:9.4.11.v20180605',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'jetty-servlet',
-  out = 'jetty-servlet-9.2.26.v20180806.jar',
-  url = 'mvn:org.eclipse.jetty:jetty-servlet:jar:9.2.26.v20180806',
-  sha1 = '7d54ae4579454d9df2c3324de7eddfbd81ffb8cc',
-  maven_coords = 'org.eclipse.jetty:jetty-servlet:9.2.26.v20180806',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'jetty-security',
-  out = 'jetty-security-9.2.21.v20170120.jar',
-  url = 'mvn:org.eclipse.jetty:jetty-security:jar:9.2.21.v20170120',
-  sha1 = 'ceb39cd058fa22172c6e7ef493af90891e701f23',
-  maven_coords = 'org.eclipse.jetty:jetty-security:9.2.21.v20170120',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'jetty-continuation',
-  out = 'jetty-continuation-9.4.11.v20180605.jar',
-  url = 'mvn:org.eclipse.jetty:jetty-continuation:jar:9.4.11.v20180605',
-  sha1 = '31f1e347d013356317164b86bbbc2a6ce5c5e871',
-  maven_coords = 'org.eclipse.jetty:jetty-continuation:9.4.11.v20180605',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'jetty-http',
-  out = 'jetty-http-9.4.11.v20180605.jar',
-  url = 'mvn:org.eclipse.jetty:jetty-http:jar:9.4.11.v20180605',
-  sha1 = '20c35f5336befe35b0bd5c4a63e07170fe7872d7',
-  maven_coords = 'org.eclipse.jetty:jetty-http:9.4.11.v20180605',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'jetty-io',
-  out = 'jetty-io-9.4.11.v20180605.jar',
-  url = 'mvn:org.eclipse.jetty:jetty-io:jar:9.4.11.v20180605',
-  sha1 = 'd164de1dac18c4ca80a1b783d879c97449909c3b',
-  maven_coords = 'org.eclipse.jetty:jetty-io:9.4.11.v20180605',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'javax.servlet-api',
-  out = 'javax.servlet-api-3.1.0.jar',
-  url = 'mvn:javax.servlet:javax.servlet-api:jar:3.1.0',
-  sha1 = '3cd63d075497751784b2fa84be59432f4905bf7c',
-  maven_coords = 'javax.servlet:javax.servlet-api:3.1.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'joda-time',
-  out = 'joda-time-2.9.3.jar',
-  url = 'mvn:joda-time:joda-time:jar:2.9.3',
-  sha1 = '9e46be514a4ed60bcfbaaba88a3c668cf30476ab',
-  maven_coords = 'joda-time:joda-time:2.9.3',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'jsch',
-  out = 'jsch-0.1.53.jar',
-  url = 'mvn:com.jcraft:jsch:jar:0.1.53',
-  sha1 = '658b682d5c817b27ae795637dfec047c63d29935',
-  maven_coords = 'com.jcraft:jsch:jar:NON-OSGI:0.1.53',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  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',
-  maven_coords = 'com.google.code.findbugs:jsr305:3.0.1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'junit',
-  out = 'junit-4.12.jar',
-  url = 'mvn:junit:junit:jar:4.12',
-  sha1 = '2973d150c0dc1fefe998f834810d68f278ea58ec',
-  maven_coords = 'junit:junit:jar:NON-OSGI:4.12',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'junit-dep',
-  out = 'junit-4.10.jar',
-  url = 'mvn:junit:junit:jar:4.10',
-  sha1 = 'e4f1766ce7404a08f45d859fb9c226fc9e41a861',
-  maven_coords = 'junit:junit:jar:NON-OSGI:4.10',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'kryo',
-  out = 'kryo-4.0.1.jar',
-  url = 'mvn:com.esotericsoftware:kryo:jar:4.0.1',
-  sha1 = '5053899c213a6ce50a800d4902c5a9de49fe0098',
-  maven_coords = 'com.esotericsoftware:kryo:4.0.1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'mapdb',
-  out = 'mapdb-1.0.9.jar',
-  url = 'mvn:org.mapdb:mapdb:jar:1.0.9',
-  sha1 = 'f8df5e15778eb3e88c03b77aca70c318c6b7c9d0',
-  maven_coords = 'org.mapdb:mapdb:1.0.9',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'metrics-core',
-  out = 'metrics-core-3.2.2.jar',
-  url = 'mvn:io.dropwizard.metrics:metrics-core:jar:3.2.2',
-  sha1 = 'cd9886f498ee2ab2d994f0c779e5553b2c450416',
-  maven_coords = 'io.dropwizard.metrics:metrics-core:3.2.2',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'metrics-ganglia',
-  out = 'metrics-ganglia-3.2.2.jar',
-  url = 'mvn:io.dropwizard.metrics:metrics-ganglia:jar:3.2.2',
-  sha1 = 'd5bb1883e9b0daf0e4187e558746f5058f4585c1',
-  maven_coords = 'io.dropwizard.metrics:metrics-ganglia:3.2.2',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'metrics-graphite',
-  out = 'metrics-graphite-3.2.2.jar',
-  url = 'mvn:io.dropwizard.metrics:metrics-graphite:jar:3.2.2',
-  sha1 = '908e8cbec1bbdb2f4023334e424c7de2832a95af',
-  maven_coords = 'io.dropwizard.metrics:metrics-graphite:3.2.2',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'metrics-influxdb',
-  out = 'metrics-influxdb-1.1.1.jar',
-  url = 'mvn:com.izettle:metrics-influxdb:jar:1.1.1',
-  sha1 = 'a911d778c2f8607dd4e7a4cdb9b0cd97adcd0343',
-  maven_coords = 'com.izettle:metrics-influxdb:jar:NON-OSGI:1.1.1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'metrics-json',
-  out = 'metrics-json-3.2.2.jar',
-  url = 'mvn:io.dropwizard.metrics:metrics-json:jar:3.2.2',
-  sha1 = '234612b9739a651eb2b71a8f9e9c4d11d7ccf849',
-  maven_coords = 'io.dropwizard.metrics:metrics-json:3.2.2',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'minimal-json',
-  out = 'minimal-json-0.9.4.jar',
-  url = 'mvn:com.eclipsesource.minimal-json:minimal-json:jar:0.9.4',
-  sha1 = 'd6e7dd22569de97c2697a4af301a623f35028972',
-  maven_coords = 'com.eclipsesource.minimal-json:minimal-json:0.9.4',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'minlog',
-  out = 'minlog-1.3.0.jar',
-  url = 'mvn:com.esotericsoftware:minlog:jar:1.3.0',
-  sha1 = 'ff07b5f1b01d2f92bb00a337f9a94873712f0827',
-  maven_coords = 'com.esotericsoftware:minlog:1.3.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'io_netty_netty',
-  out = 'netty-3.10.5.Final.jar',
-  url = 'mvn:io.netty:netty:jar:3.10.5.Final',
-  sha1 = '9ca7d55d246092bddd29b867706e2f6c7db701a0',
-  maven_coords = 'io.netty:netty:3.10.5.Final',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  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 = '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 = '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 = '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 = '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 = '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 = '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 = '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 = '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' ],
-)
-
-remote_jar (
-  name = 'objenesis',
-  out = 'objenesis-2.6.jar',
-  url = 'mvn:org.objenesis:objenesis:jar:2.6',
-  sha1 = '639033469776fd37c08358c6b92a4761feb2af4b',
-  maven_coords = 'org.objenesis:objenesis:2.6',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'openflowj',
-  out = 'openflowj-3.2.1.onos.jar',
-  url = 'mvn:org.onosproject:openflowj:jar:3.2.1.onos',
-  sha1 = '66544b285cddc8d53485107310f07b7bc90ac63b',
-  maven_coords = 'org.onosproject:openflowj:3.2.1.onos',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'org.osgi.service.component',
-  out = 'org.osgi.service.component-1.4.0.jar',
-  url = 'mvn:org.osgi:org.osgi.service.component:jar:1.4.0',
-  sha1 = '4934dce3e552c172283a4962929c39f9075f4393',
-  maven_coords = 'org.osgi:org.osgi.service.component:1.4.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'org.osgi.service.component.annotations',
-  out = 'org.osgi.service.component.annotations-1.4.0.jar',
-  url = 'mvn:org.osgi:org.osgi.service.component.annotations:jar:1.4.0',
-  sha1 = '18380195e7e657494471cf4cabcafb762f63c9a8',
-  maven_coords = 'org.osgi:org.osgi.service.component.annotations:1.4.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'org.osgi.service.metatype.annotations',
-  out = 'org.osgi.service.metatype.annotations-1.4.0.jar',
-  url = 'mvn:org.osgi:org.osgi.service.metatype.annotations:jar:1.4.0',
-  sha1 = '5475175092f41ff663deea11a31c8229102574c7',
-  maven_coords = 'org.osgi:org.osgi.service.metatype.annotations:1.4.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'org.osgi.service.cm',
-  out = 'org.osgi.service.cm-1.6.0.jar',
-  url = 'mvn:org.osgi:org.osgi.service.cm:jar:1.6.0',
-  sha1 = 'f0c01d6da3799107b17f894ae7920cfd6fa69da6',
-  maven_coords = 'org.osgi:org.osgi.service.cm:1.6.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'org.apache.felix.scr.bnd',
-  out = 'org.apache.felix.scr.bnd-1.9.0.jar',
-  url = 'mvn:org.apache.felix:org.apache.felix.scr.bnd:jar:1.9.0',
-  sha1 = '44354d132f8ce9fc387caf05c9189c4102828a9b',
-  maven_coords = 'org.apache.felix:org.apache.felix.scr.bnd:jar:NON-OSGI:1.9.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'org.apache.karaf.features.core',
-  out = 'org.apache.karaf.features.core-4.2.1.jar',
-  url = 'mvn:org.apache.karaf.features:org.apache.karaf.features.core:jar:4.2.1',
-  sha1 = '329aa987b142470f9f5ddda98a9621ecfbfafedd',
-  maven_coords = 'org.apache.karaf.features:org.apache.karaf.features.core:4.2.1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'org.apache.karaf.shell.console',
-  out = 'org.apache.karaf.shell.console-4.2.1.jar',
-  url = 'mvn:org.apache.karaf.shell:org.apache.karaf.shell.console:jar:4.2.1',
-  sha1 = '9e494eed7a1e46a582e919ab553e0b427b82fa77',
-  maven_coords = 'org.apache.karaf.shell:org.apache.karaf.shell.console:4.2.1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'org.apache.httpcomponents.httpasyncclient-osgi',
-  out = 'httpasyncclient-osgi-4.1.2.jar',
-  url = 'mvn:org.apache.httpcomponents:httpasyncclient-osgi:jar:4.1.2',
-  sha1 = '17eccd8d9f2803ee95e80ee8283155432600e17b',
-  maven_coords = 'org.apache.httpcomponents:httpasyncclient-osgi:4.1.2',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'org.apache.httpcomponents.httpcore-nio',
-  out = 'httpcore-nio-4.4.4.jar',
-  url = 'mvn:org.apache.httpcomponents:httpcore-nio:jar:4.4.4',
-  sha1 = '16badfc2d99db264c486ba8c57ae577301a58bd9',
-  maven_coords = 'org.apache.httpcomponents:httpcore-nio:jar:NON-OSGI:4.4.4',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'org.apache.karaf.jaas',
-  out = 'org.apache.karaf.jaas.modules-4.2.1.jar',
-  url = 'mvn:org.apache.karaf.jaas:org.apache.karaf.jaas.modules:jar:4.2.1',
-  sha1 = 'aff0989e2af701a2294779a7aedd2df689418fa7',
-  maven_coords = 'org.apache.karaf.jaas:org.apache.karaf.jaas.modules:4.2.1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'org.apache.karaf.system.core',
-  out = 'org.apache.karaf.system.core-4.2.1.jar',
-  url = 'mvn:org.apache.karaf.system:org.apache.karaf.system.core:jar:4.2.1',
-  sha1 = '31fdda53480b358b7b8cd16e7c96d7de978467ef',
-  maven_coords = 'org.apache.karaf.system:org.apache.karaf.system.core:4.2.1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'org.apache.servicemix.bundles.snmp4j',
-  out = 'org.apache.servicemix.bundles.snmp4j-2.3.4_1.jar',
-  url = 'mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.snmp4j:jar:2.3.4_1',
-  sha1 = '5134e0b60a6d88b26fe4dec03488efe4f2463e65',
-  maven_coords = 'org.apache.servicemix.bundles:org.apache.servicemix.bundles.snmp4j:2.3.4_1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'org.osgi.compendium',
-  out = 'org.osgi.compendium-5.0.0.jar',
-  url = 'mvn:org.osgi:org.osgi.compendium:jar:5.0.0',
-  sha1 = '9d7a9c35591f6fa1c98ac85af32775c12361aee4',
-  maven_coords = 'org.osgi:org.osgi.compendium:5.0.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'org.osgi.cmpn',
-  out = 'osgi.cmpn-7.0.0.jar',
-  url = 'mvn:org.osgi:osgi.cmpn:jar:7.0.0',
-  sha1 = '4fa9f239a60aeca4a27648df329d112d562a350c',
-  maven_coords = 'org.osgi:osgi.cmpn:7.0.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'osgi-core',
-  out = 'org.osgi.core-5.0.0.jar',
-  url = 'mvn:org.osgi:org.osgi.core:jar:5.0.0',
-  sha1 = '6e5e8cd3c9059c08e1085540442a490b59a7783c',
-  maven_coords = 'org.osgi:org.osgi.core:5.0.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'reflectasm',
-  out = 'reflectasm-1.11.7.jar',
-  url = 'mvn:com.esotericsoftware:reflectasm:jar:1.11.7',
-  sha1 = '572a41b00181e9dd49e327675948b1d6301f9d48',
-  maven_coords = 'com.esotericsoftware:reflectasm:1.11.7',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'remotetea-oncrpc',
-  out = 'remotetea-oncrpc-1.1.3.jar',
-  url = 'mvn:org.acplt.remotetea:remotetea-oncrpc:jar:1.1.3',
-  sha1 = '2f7d94c5179b0267a882259a03a83eaa320cbcce',
-  maven_coords = 'org.acplt.remotetea:remotetea-oncrpc:1.1.3',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'rrd4j',
-  out = 'rrd4j-3.1.jar',
-  url = 'mvn:org.rrd4j:rrd4j:jar:3.1',
-  sha1 = 'e533553fbf52f241dcb0c468b2052a3814dd6722',
-  maven_coords = 'org.rrd4j:rrd4j:jar:NON-OSGI:3.1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'javassist',
-  out = 'javassist-3.22.0-GA.jar',
-  url = 'mvn:org.javassist:javassist:jar:3.22.0-GA',
-  sha1 = '3e83394258ae2089be7219b971ec21a8288528ad',
-  maven_coords = 'org.javassist:javassist:3.22.0-GA',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'mimepull',
-  out = 'mimepull-1.9.6.jar',
-  url = 'mvn:org.jvnet.mimepull:mimepull:jar:1.9.6',
-  sha1 = '41c913d791e16f93bc712a8c8a30bb64daa2e9bd',
-  maven_coords = 'org.jvnet.mimepull:mimepull:1.9.6',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'servlet-api',
-  out = 'servlet-api-2.5.jar',
-  url = 'mvn:javax.servlet:servlet-api:jar:2.5',
-  sha1 = '5959582d97d8b61f4d154ca9e495aafd16726e34',
-  maven_coords = 'javax.servlet:servlet-api:jar:NON-OSGI:2.5',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'slf4j-api',
-  out = 'slf4j-api-1.7.25.jar',
-  url = 'mvn:org.slf4j:slf4j-api:jar:1.7.25',
-  sha1 = 'da76ca59f6a57ee3102f8f9bd9cee742973efa8a',
-  maven_coords = 'org.slf4j:slf4j-api:1.7.25',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'slf4j-jdk14',
-  out = 'slf4j-jdk14-1.7.25.jar',
-  url = 'mvn:org.slf4j:slf4j-jdk14:jar:1.7.25',
-  sha1 = 'bccda40ebc8067491b32a88f49615a747d20082d',
-  maven_coords = 'org.slf4j:slf4j-jdk14:1.7.25',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'slf4j-nop',
-  out = 'slf4j-nop-1.7.25.jar',
-  url = 'mvn:org.slf4j:slf4j-nop:jar:1.7.25',
-  sha1 = '8c7708c79afec923de8957b7d4f90177628b9fcd',
-  maven_coords = 'org.slf4j:slf4j-nop:1.7.25',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'typesafe-config',
-  out = 'config-1.3.2.jar',
-  url = 'mvn:com.typesafe:config:jar:1.3.2',
-  sha1 = 'd6ac0ce079f114adce620f2360c92a70b2cb36dc',
-  maven_coords = 'com.typesafe:config:1.3.2',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'validation-api',
-  out = 'validation-api-1.1.0.Final.jar',
-  url = 'mvn:javax.validation:validation-api:jar:1.1.0.Final',
-  sha1 = '8613ae82954779d518631e05daa73a6a954817d5',
-  maven_coords = 'javax.validation:validation-api:1.1.0.Final',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'checkstyle',
-  out = 'checkstyle-8.10.jar',
-  url = 'mvn:com.puppycrawl.tools:checkstyle:jar:8.10',
-  sha1 = 'd7cd09c4d1240b3acc3041fcb47fd74ae351698b',
-  maven_coords = 'com.puppycrawl.tools:checkstyle:jar:NON-OSGI:8.10',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_file (
-  name = 'apache-karaf',
-  out = 'apache-karaf-offline-3.0.8.tar.gz',
-  url = 'http://repo1.maven.org/maven2/org/onosproject/apache-karaf-offline/3.0.8/apache-karaf-offline-3.0.8.tar.gz',
-  sha1 = '2503c5853285e3414da15aef8d8f3f629747c927',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_file (
-  name = 'apache-karaf-patches',
-  out = 'onos-apache-karaf-patches-3.0.8.tar.gz',
-  url = 'http://repo1.maven.org/maven2/org/onosproject/onos-apache-karaf-patches/3.0.8/onos-apache-karaf-patches-3.0.8.tar.gz',
-  sha1 = 'be5d620a2c4f4c5faa520d2c1b949ad0cc29c84f',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'bndlib',
-  out = 'biz.aQute.bndlib-4.0.0.jar',
-  url = 'mvn:biz.aQute.bnd:biz.aQute.bndlib:jar:4.0.0',
-  sha1 = '21e1d6fd1874d9bc201f2de1d0a48e84bff4149d',
-  maven_coords = 'biz.aQute.bnd:biz.aQute.bndlib:4.0.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'bndexe',
-  out = 'biz.aQute.bnd-4.0.0.jar',
-  url = 'mvn:biz.aQute.bnd:biz.aQute.bnd:jar:4.0.0',
-  sha1 = 'fa7746eb710852498ce1afe5227be3fbfddaf09e',
-  maven_coords = 'biz.aQute.bnd:biz.aQute.bnd:4.0.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'libthrift',
-  out = 'libthrift-0.11.0.jar',
-  url = 'mvn:org.apache.thrift:libthrift:jar:0.11.0',
-  sha1 = '4f4f1c1fbbae63258625dea71007fa41bee7edb3',
-  maven_coords = 'org.apache.thrift:libthrift:0.11.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'qdox',
-  out = 'qdox-2.0-M3.jar',
-  url = 'mvn:com.thoughtworks.qdox:qdox:jar:2.0-M3',
-  sha1 = 'f1e9ac82735dc3f2afc38cc051ae0e405f367434',
-  maven_coords = 'com.thoughtworks.qdox:qdox:jar:NON-OSGI:2.0-M3',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'snmp-core',
-  out = 'snmp-core-1.3-20161021.1.jar',
-  url = 'mvn:org.onosproject:snmp-core:jar:1.3-20161021.1',
-  sha1 = '65e1b71d9d0e2fc60c45f631decdb41da3253778',
-  maven_coords = 'org.onosproject:snmp-core:1.3-20161021.1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'mibs-net-snmp',
-  out = 'mibbler-mibs-net-snmp-1.0-20151221.1.jar',
-  url = 'mvn:org.onosproject:mibbler-mibs-net-snmp:jar:1.0-20151221.1',
-  sha1 = 'd2cb918e46f06d4ee764d4a96b2b6fb0ba9bc60c',
-  maven_coords = 'org.onosproject:mibbler-mibs-net-snmp:1.0-20151221.1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'mibs-rfc',
-  out = 'mibbler-mibs-rfc-1.0-20151221.1.jar',
-  url = 'mvn:org.onosproject:mibbler-mibs-rfc:jar:1.0-20151221.1',
-  sha1 = '06ac2a3bf48c79ab444a9deede9d554ccd355a16',
-  maven_coords = 'org.onosproject:mibbler-mibs-rfc:1.0-20151221.1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'io.socket-client',
-  out = 'socket.io-client-0.8.3.jar',
-  url = 'mvn:io.socket:socket.io-client:jar:0.8.3',
-  sha1 = 'b30500232ff0668a47c9f91f02e6935457a52fb5',
-  maven_coords = 'io.socket:socket.io-client:jar:NON-OSGI:0.8.3',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'json',
-  out = 'json-20090211.jar',
-  url = 'mvn:org.json:json:jar:20090211',
-  sha1 = 'c183aa3a2a6250293808bba12262c8920ce5a51c',
-  maven_coords = 'org.json:json:jar:NON-OSGI:20090211',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'engine.io-client',
-  out = 'engine.io-client-0.8.3.jar',
-  url = 'mvn:io.socket:engine.io-client:jar:0.8.3',
-  sha1 = '854b49396e1e9f9bb0ab025062ddb49c4ed65ca1',
-  maven_coords = 'io.socket:engine.io-client:jar:NON-OSGI:0.8.3',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'com_google_api_grpc_proto_google_common_protos',
-  out = 'proto-google-common-protos-1.0.0.jar',
-  url = 'mvn:com.google.api.grpc:proto-google-common-protos:jar:1.0.0',
-  sha1 = '86f070507e28b930e50d218ee5b6788ef0dd05e6',
-  maven_coords = 'com.google.api.grpc:proto-google-common-protos:jar:NON-OSGI:1.0.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'com_google_errorprone_error_prone_annotations',
-  out = 'error_prone_annotations-2.1.2.jar',
-  url = 'mvn:com.google.errorprone:error_prone_annotations:jar:2.1.2',
-  sha1 = '6dcc08f90f678ac33e5ef78c3c752b6f59e63e0c',
-  maven_coords = 'com.google.errorprone:error_prone_annotations:jar:NON-OSGI:2.1.2',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'com_google_auth_google_auth_library_credentials',
-  out = 'google-auth-library-credentials-0.9.0.jar',
-  url = 'mvn:com.google.auth:google-auth-library-credentials:jar:0.9.0',
-  sha1 = '8e2b181feff6005c9cbc6f5c1c1e2d3ec9138d46',
-  maven_coords = 'com.google.auth:google-auth-library-credentials:jar:NON-OSGI:0.9.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'io_opencensus_opencensus_api',
-  out = 'opencensus-api-0.12.3.jar',
-  url = 'mvn:io.opencensus:opencensus-api:jar:0.12.3',
-  sha1 = '743f074095f29aa985517299545e72cc99c87de0',
-  maven_coords = 'io.opencensus:opencensus-api:jar:NON-OSGI:0.12.3',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'io_opencensus_opencensus_contrib_grpc_metrics',
-  out = 'opencensus-contrib-grpc-metrics-0.12.3.jar',
-  url = 'mvn:io.opencensus:opencensus-contrib-grpc-metrics:jar:0.12.3',
-  sha1 = 'a4c7ff238a91b901c8b459889b6d0d7a9d889b4d',
-  maven_coords = 'io.opencensus:opencensus-contrib-grpc-metrics:jar:NON-OSGI:0.12.3',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'openstack4j-core',
-  out = 'openstack4j-core-3.1.0.jar',
-  url = 'mvn:org.pacesys:openstack4j-core:jar:3.1.0',
-  sha1 = '634c2ad6728bb6e4cd91c950dd654aacb6f107a6',
-  maven_coords = 'org.pacesys:openstack4j-core:3.1.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'openstack4j-http-connector',
-  out = 'openstack4j-http-connector-3.1.0.jar',
-  url = 'mvn:org.pacesys.openstack4j.connectors:openstack4j-http-connector:jar:3.1.0',
-  sha1 = '5bbd558313f13daac819bbbe56ae8432e64409d9',
-  maven_coords = 'org.pacesys.openstack4j.connectors:openstack4j-http-connector:3.1.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'openstack4j-httpclient',
-  out = 'openstack4j-httpclient-3.1.0.jar',
-  url = 'mvn:org.pacesys.openstack4j.connectors:openstack4j-httpclient:jar:3.1.0',
-  sha1 = 'acb413e27cc43f4bbcee99300befffcf667de579',
-  maven_coords = 'org.pacesys.openstack4j.connectors:openstack4j-httpclient:3.1.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'json-patch',
-  out = 'json-patch-1.9.jar',
-  url = 'mvn:com.github.fge:json-patch:jar:1.9',
-  sha1 = '0a4c3c97a0f5965dec15795acf40d3fbc897af4b',
-  maven_coords = 'com.github.fge:json-patch:1.9',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'jackson-coreutils',
-  out = 'jackson-coreutils-1.6.jar',
-  url = 'mvn:com.github.fge:jackson-coreutils:jar:1.6',
-  sha1 = '9e6af56eb7cc2a65700b289abc7ee2bd170fd231',
-  maven_coords = 'com.github.fge:jackson-coreutils:1.6',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'btf',
-  out = 'btf-1.2.jar',
-  url = 'mvn:com.github.fge:btf:jar:1.2',
-  sha1 = '9e66651022eb86301b348d57e6f59459effc343b',
-  maven_coords = 'com.github.fge:btf:1.2',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'msg-simple',
-  out = 'msg-simple-1.1.jar',
-  url = 'mvn:com.github.fge:msg-simple:jar:1.1',
-  sha1 = 'f261263e13dd4cfa93cc6b83f1f58f619097a2c4',
-  maven_coords = 'com.github.fge:msg-simple:1.1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'snakeyaml',
-  out = 'snakeyaml-1.15.jar',
-  url = 'mvn:org.yaml:snakeyaml:jar:1.15',
-  sha1 = '3b132bea69e8ee099f416044970997bde80f4ea6',
-  maven_coords = 'org.yaml:snakeyaml:1.15',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'onos-yang-model',
-  out = 'onos-yang-model-2.5.jar',
-  url = 'mvn:org.onosproject:onos-yang-model:jar:2.5',
-  sha1 = '61339921f42354e499e550c15283e4aa75a03ef7',
-  maven_coords = 'org.onosproject:onos-yang-model:2.5',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'onos-yang-compiler-api',
-  out = 'onos-yang-compiler-api-2.5.jar',
-  url = 'mvn:org.onosproject:onos-yang-compiler-api:jar:2.5',
-  sha1 = 'c504df941d1a1b49e4dd8045c935120f3483504e',
-  maven_coords = 'org.onosproject:onos-yang-compiler-api:2.5',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'onos-yang-compiler-main',
-  out = 'onos-yang-compiler-main-2.5.jar',
-  url = 'mvn:org.onosproject:onos-yang-compiler-main:jar:2.5',
-  sha1 = '8048db59dab2c813cfbc3f7c176eb12b1c8b2548',
-  maven_coords = 'org.onosproject:onos-yang-compiler-main:2.5',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'onos-yang-runtime',
-  out = 'onos-yang-runtime-2.5.jar',
-  url = 'mvn:org.onosproject:onos-yang-runtime:jar:2.5',
-  sha1 = '9d621709f34fd7da4d1954d868ac0eddeba725d2',
-  maven_coords = 'org.onosproject:onos-yang-runtime:2.5',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'onos-yang-serializers-json',
-  out = 'onos-yang-serializers-json-2.5.jar',
-  url = 'mvn:org.onosproject:onos-yang-serializers-json:jar:2.5',
-  sha1 = 'cf442f226b9423c22eb5ec9409e99fe3a0f63a37',
-  maven_coords = 'org.onosproject:onos-yang-serializers-json:2.5',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'onos-yang-serializers-xml',
-  out = 'onos-yang-serializers-xml-2.5.jar',
-  url = 'mvn:org.onosproject:onos-yang-serializers-xml:jar:2.5',
-  sha1 = '7f7231237da9571f79700d2ee0a218cd6253409c',
-  maven_coords = 'org.onosproject:onos-yang-serializers-xml:2.5',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'onos-yang-serializers-utils',
-  out = 'onos-yang-serializers-utils-2.5.jar',
-  url = 'mvn:org.onosproject:onos-yang-serializers-utils:jar:2.5',
-  sha1 = '13f804292e42635fcf28bbadffca8bb72c00b327',
-  maven_coords = 'org.onosproject:onos-yang-serializers-utils:2.5',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'org.apache.servicemix.bundles.dom4j',
-  out = 'org.apache.servicemix.bundles.dom4j-1.6.1_5.jar',
-  url = 'mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.dom4j:jar:1.6.1_5',
-  sha1 = 'f5da21ae9508008f7b28001983adc143cb310ad7',
-  maven_coords = 'org.apache.servicemix.bundles:org.apache.servicemix.bundles.dom4j:1.6.1_5',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'plexus-utils',
-  out = 'plexus-utils-3.0.24.jar',
-  url = 'mvn:org.codehaus.plexus:plexus-utils:jar:3.0.24',
-  sha1 = 'b4ac9780b37cb1b736eae9fbcef27609b7c911ef',
-  maven_coords = 'org.codehaus.plexus:plexus-utils:jar:NON-OSGI:3.0.24',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'sshd-core',
-  out = 'sshd-core-1.4.0.jar',
-  url = 'mvn:org.apache.sshd:sshd-core:jar:1.4.0',
-  sha1 = 'c8f3d7457fc9979d1b9ec319f0229b89793c8e56',
-  maven_coords = 'org.apache.sshd:sshd-core:1.4.0',
-  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' ],
-)
-
-remote_jar (
-  name = 'runtime-grpc-core',
-  out = 'grpc-core-1.14.0.jar',
-  url = 'mvn:io.grpc:grpc-core:jar:1.14.0',
-  sha1 = '526e5be291c96e248789d769c108a084febda07f',
-  maven_coords = 'io.grpc:grpc-core:jar:NON-OSGI:1.14.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'runtime-grpc-context',
-  out = 'grpc-context-1.14.0.jar',
-  url = 'mvn:io.grpc:grpc-context:jar:1.14.0',
-  sha1 = '77252b5f926875891aaae5629e6ab2ef968cd6c6',
-  maven_coords = 'io.grpc:grpc-context:jar:NON-OSGI:1.14.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'runtime-grpc-stub',
-  out = 'grpc-stub-1.14.0.jar',
-  url = 'mvn:io.grpc:grpc-stub:jar:1.14.0',
-  sha1 = '74bfe83c0dc69bf903fff8df3568cbeb8b387d35',
-  maven_coords = 'io.grpc:grpc-stub:jar:NON-OSGI:1.14.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'runtime-grpc-netty',
-  out = 'grpc-netty-1.14.0.jar',
-  url = 'mvn:io.grpc:grpc-netty:jar:1.14.0',
-  sha1 = '21c6edadd45b6869384f8aa0df1663d62c503617',
-  maven_coords = 'io.grpc:grpc-netty:jar:NON-OSGI:1.14.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'runtime-grpc-auth',
-  out = 'grpc-auth-1.14.0.jar',
-  url = 'mvn:io.grpc:grpc-auth:jar:1.14.0',
-  sha1 = '3b88d51b52da96d574f4dfd50ad6d2bc8904a858',
-  maven_coords = 'io.grpc:grpc-auth:jar:NON-OSGI:1.14.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'runtime-grpc-protobuf',
-  out = 'grpc-protobuf-1.14.0.jar',
-  url = 'mvn:io.grpc:grpc-protobuf:jar:1.14.0',
-  sha1 = 'd429fdc2e0d288b34ea7588bb762eb458f385bd5',
-  maven_coords = 'io.grpc:grpc-protobuf:jar:NON-OSGI:1.14.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'runtime-grpc-protobuf-lite',
-  out = 'grpc-protobuf-lite-1.14.0.jar',
-  url = 'mvn:io.grpc:grpc-protobuf-lite:jar:1.14.0',
-  sha1 = '2ac8c28ca927f954eaa228a931d9c163cf3d860f',
-  maven_coords = 'io.grpc:grpc-protobuf-lite:jar:NON-OSGI:1.14.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'runtime-protobuf',
-  out = 'protobuf-java-3.6.1.jar',
-  url = 'mvn:com.google.protobuf:protobuf-java:jar:3.6.1',
-  sha1 = '0d06d46ecfd92ec6d0f3b423b4cd81cb38d8b924',
-  maven_coords = 'com.google.protobuf:protobuf-java:3.6.1',
-  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',
-  sha1 = 'a9b38b4a19af3ef208f4f6bf7871876d959c5eb1',
-  maven_coords = 'io.grpc:grpc-core:jar:NON-OSGI:1.3.1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'grpc-protobuf-1.3.1',
-  out = 'grpc-protobuf-1.3.1.jar',
-  url = 'mvn:io.grpc:grpc-protobuf:jar:1.3.1',
-  sha1 = '9562e977cacd6e128a31686c3e6948d61873c496',
-  maven_coords = 'io.grpc:grpc-protobuf:jar:NON-OSGI:1.3.1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'grpc-protobuf-lite-1.3.1',
-  out = 'grpc-protobuf-lite-1.3.1.jar',
-  url = 'mvn:io.grpc:grpc-protobuf-lite:jar:1.3.1',
-  sha1 = '98d1d3d100fdcf92c4331999a504a1a72a5f6e52',
-  maven_coords = 'io.grpc:grpc-protobuf-lite:jar:NON-OSGI:1.3.1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'grpc-stub-1.3.1',
-  out = 'grpc-stub-1.3.1.jar',
-  url = 'mvn:io.grpc:grpc-stub:jar:1.3.1',
-  sha1 = '60bdfa9d8c664a9d87ae461106eff6eed8da6c54',
-  maven_coords = 'io.grpc:grpc-stub:jar:NON-OSGI:1.3.1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'grpc-netty-1.3.1',
-  out = 'grpc-netty-1.3.1.jar',
-  url = 'mvn:io.grpc:grpc-netty:jar:1.3.1',
-  sha1 = 'cc3831fccb76cfe21445f75cc055b5ffd979dc54',
-  maven_coords = 'io.grpc:grpc-netty:jar:NON-OSGI:1.3.1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'grpc-auth-1.3.1',
-  out = 'grpc-auth-1.3.1.jar',
-  url = 'mvn:io.grpc:grpc-auth:jar:1.3.1',
-  sha1 = '57a0e0b9e474842801521fae76f955dd28ad3ae0',
-  maven_coords = 'io.grpc:grpc-auth:jar:NON-OSGI:1.3.1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'protobuf-java-3.3.0',
-  out = 'protobuf-java-3.3.0.jar',
-  url = 'mvn:com.google.protobuf:protobuf-java:jar:3.3.0',
-  sha1 = '9f301d1a27501b1afcb2ed16aad428337dabf9e4',
-  maven_coords = 'com.google.protobuf:protobuf-java:3.3.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'protobuf-java-3.2.0',
-  out = 'protobuf-java-3.2.0.jar',
-  url = 'mvn:com.google.protobuf:protobuf-java:jar:3.2.0',
-  sha1 = '62ccf171a106ff6791507f2d5364c275f9a3131d',
-  maven_coords = 'com.google.protobuf:protobuf-java:3.2.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'grpc-testing-1.3.1',
-  out = 'grpc-testing-1.3.1.jar',
-  url = 'mvn:io.grpc:grpc-testing:jar:1.3.1',
-  sha1 = 'fd6c4081cd3415684a0b655327e210aa10153eec',
-  maven_coords = 'io.grpc:grpc-testing:jar:NON-OSGI:1.3.1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'grpc-testing-proto-1.3.1',
-  out = 'grpc-testing-proto-1.3.1.jar',
-  url = 'mvn:io.grpc:grpc-testing-proto:jar:1.3.1',
-  sha1 = '170f0406457b44695562ccd5ec8d0da9cb762643',
-  maven_coords = 'io.grpc:grpc-testing-proto:jar:NON-OSGI:1.3.1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'grpc-context-1.3.1',
-  out = 'grpc-context-1.3.1.jar',
-  url = 'mvn:io.grpc:grpc-context:jar:1.3.1',
-  sha1 = '28accd419b18d59055b8999f78f5cb7767c7bde8',
-  maven_coords = 'io.grpc:grpc-context:jar:NON-OSGI:1.3.1',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'google-truth-0.28',
-  out = 'truth-0.28.jar',
-  url = 'mvn:com.google.truth:truth:jar:0.28',
-  sha1 = '0a388c7877c845ff4b8e19689dda5ac9d34622c4',
-  maven_coords = 'com.google.truth:truth:jar:NON-OSGI:0.28',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'google-code-findbugs-3.0.0',
-  out = 'jsr305-3.0.0.jar',
-  url = 'mvn:com.google.code.findbugs:jsr305:jar:3.0.0',
-  sha1 = '5871fb60dc68d67da54a663c3fd636a10a532948',
-  maven_coords = 'com.google.code.findbugs:jsr305:jar:NON-OSGI:3.0.0',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'google-errorprone-2.0.19',
-  out = 'error_prone_annotations-2.0.19.jar',
-  url = 'mvn:com.google.errorprone:error_prone_annotations:jar:2.0.19',
-  sha1 = 'c3754a0bdd545b00ddc26884f9e7624f8b6a14de',
-  maven_coords = 'com.google.errorprone:error_prone_annotations:jar:NON-OSGI:2.0.19',
-  visibility = [ 'PUBLIC' ],
-)
-
-remote_jar (
-  name = 'google-instrumentation-0.3.0',
-  out = 'instrumentation-api-0.3.0.jar',
-  url = 'mvn:com.google.instrumentation:instrumentation-api:jar:0.3.0',
-  sha1 = 'a2e145e7a7567c6372738f5c5a6f3ba6407ac354',
-  maven_coords = 'com.google.instrumentation:instrumentation-api:jar:NON-OSGI:0.3.0',
-  visibility = [ 'PUBLIC' ],
-)
-
diff --git a/lib/pom.xml b/lib/pom.xml
index 506fefd..0e7cd97 100644
--- a/lib/pom.xml
+++ b/lib/pom.xml
@@ -555,72 +555,16 @@
             <artifactId>commons-pool</artifactId>
         </dependency>
 
-<!-- transitive Kryo dependency.
-        <dependency>
-            <groupId>org.objenesis</groupId>
-            <artifactId>objenesis</artifactId>
-        </dependency>
- -->
         <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
         </dependency>
 
-<!-- Fix buck? everyone depending on netty doesn't sound right.
-        <dependency>
-            <groupId>io.netty</groupId>
-            <artifactId>netty</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>io.netty</groupId>
-            <artifactId>netty-buffer</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>io.netty</groupId>
-            <artifactId>netty-common</artifactId>
-        </dependency>
- -->
-
         <dependency>
             <groupId>com.eclipsesource.minimal-json</groupId>
             <artifactId>minimal-json</artifactId>
         </dependency>
 
-<!-- Fix buck? Kryo and transitive dependency.
-        <dependency>
-            <groupId>com.esotericsoftware</groupId>
-            <artifactId>kryo</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>com.esotericsoftware</groupId>
-            <artifactId>reflectasm</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.ow2.asm</groupId>
-            <artifactId>asm</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>com.esotericsoftware</groupId>
-            <artifactId>minlog</artifactId>
-        </dependency>
- -->
-<!-- Fix buck? everyone depending on metrics doesn't sound right.
-        <dependency>
-            <groupId>io.dropwizard.metrics</groupId>
-            <artifactId>metrics-core</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>io.dropwizard.metrics</groupId>
-            <artifactId>metrics-json</artifactId>
-        </dependency>
- -->
-
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
@@ -671,8 +615,6 @@
             <artifactId>org.apache.karaf.system.core</artifactId>
         </dependency>
 
-        <!-- YANG stuff here? Fix buck?-->
-
         <!-- TEST -->
         <dependency>
             <groupId>junit</groupId>
diff --git a/models/ciena/waveserverai/BUCK b/models/ciena/waveserverai/BUCK
deleted file mode 100644
index 576bb9f..0000000
--- a/models/ciena/waveserverai/BUCK
+++ /dev/null
@@ -1,16 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//models/common:onos-models-common',
-]
-
-APPS = [
-    'org.onosproject.models.common',
-]
-
-yang_model(
-    app_name = 'org.onosproject.models.ciena.waveserverai',
-    title = 'Ciena Waveserver Ai YANG Models',
-    custom_registrator = True,
-    deps = COMPILE_DEPS,
-    required_apps = APPS,
-)
diff --git a/models/common/BUCK b/models/common/BUCK
deleted file mode 100644
index a210b1e..0000000
--- a/models/common/BUCK
+++ /dev/null
@@ -1,7 +0,0 @@
-
-yang_model (
-  app_name = 'org.onosproject.models.common',
-  title = 'Common YANG Models',
-  custom_registrator = True,
-  deps = [ '//lib:CORE_DEPS' ]
-)
diff --git a/models/huawei/BUCK b/models/huawei/BUCK
deleted file mode 100644
index 1d8a1d2..0000000
--- a/models/huawei/BUCK
+++ /dev/null
@@ -1,7 +0,0 @@
-
-yang_model (
-  app_name = 'org.onosproject.models.huawei',
-  title = 'Huawei YANG Models',
-  custom_registrator = True,
-  deps = [ '//lib:CORE_DEPS' ]
-)
diff --git a/models/ietf/BUCK b/models/ietf/BUCK
deleted file mode 100644
index 6cc9d15..0000000
--- a/models/ietf/BUCK
+++ /dev/null
@@ -1,7 +0,0 @@
-
-yang_model (
-  app_name = 'org.onosproject.models.ietf',
-  title = 'IETF YANG Models',
-  custom_registrator = False,
-  deps = [ '//lib:CORE_DEPS' ]
-)
diff --git a/models/l3vpn/BUCK b/models/l3vpn/BUCK
deleted file mode 100644
index 7f6d5b8..0000000
--- a/models/l3vpn/BUCK
+++ /dev/null
@@ -1,16 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//models/common:onos-models-common',
-]
-
-APPS = [
-    'org.onosproject.models.common',
-]
-
-yang_model(
-    app_name = 'org.onosproject.models.l3vpn',
-    title = 'L3VPN YANG Models',
-    custom_registrator = True,
-    deps = COMPILE_DEPS,
-    required_apps = APPS,
-)
diff --git a/models/microsemi/BUCK b/models/microsemi/BUCK
deleted file mode 100644
index 3ab6536..0000000
--- a/models/microsemi/BUCK
+++ /dev/null
@@ -1,16 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//models/common:onos-models-common',
-]
-
-APPS = [
-    'org.onosproject.models.common',
-]
-
-yang_model(
-    app_name = 'org.onosproject.models.microsemi',
-    title = 'Microsemi YANG Models',
-    custom_registrator = True,
-    deps = COMPILE_DEPS,
-    required_apps = APPS,
-)
diff --git a/models/openconfig-infinera/BUCK b/models/openconfig-infinera/BUCK
deleted file mode 100644
index 69363e2..0000000
--- a/models/openconfig-infinera/BUCK
+++ /dev/null
@@ -1,16 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//models/ietf:onos-models-ietf',
-]
-
-APPS = [
-    'org.onosproject.models.ietf',
-]
-
-yang_model(
-  app_name = 'org.onosproject.models.openconfig-infinera',
-  title = 'OpenConfig Infinera XT3300 YANG Models',
-  custom_registrator = False,
-  deps = COMPILE_DEPS,
-  required_apps = APPS,
-)
diff --git a/models/openconfig/BUCK b/models/openconfig/BUCK
deleted file mode 100644
index 5905528..0000000
--- a/models/openconfig/BUCK
+++ /dev/null
@@ -1,16 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//models/ietf:onos-models-ietf',
-]
-
-APPS = [
-    'org.onosproject.models.ietf',
-]
-
-yang_model(
-  app_name = 'org.onosproject.models.openconfig',
-  title = 'OpenConfig YANG Models',
-  custom_registrator = True,
-  deps = COMPILE_DEPS,
-  required_apps = APPS,
-)
diff --git a/models/openroadm/BUCK b/models/openroadm/BUCK
deleted file mode 100644
index 8a1352c..0000000
--- a/models/openroadm/BUCK
+++ /dev/null
@@ -1,5 +0,0 @@
-
-yang_model(
-  app_name = 'org.onosproject.models.openroadm',
-  title = 'Open ROADM YANG Models',
-)
\ No newline at end of file
diff --git a/models/polatis/BUCK b/models/polatis/BUCK
deleted file mode 100644
index 463f600..0000000
--- a/models/polatis/BUCK
+++ /dev/null
@@ -1,14 +0,0 @@
-COMPILE_DEPS = [
-    '//models/common:onos-models-common',
-]
-
-APPS = [
-    'org.onosproject.models.common',
-]
-
-yang_model (
-  app_name = 'org.onosproject.models.polatis',
-  title = 'Polatis YANG Model',
-  deps = COMPILE_DEPS,
-  required_apps = APPS,
-)
diff --git a/models/tapi/BUCK b/models/tapi/BUCK
deleted file mode 100644
index 5276435..0000000
--- a/models/tapi/BUCK
+++ /dev/null
@@ -1,10 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-]
-
-yang_model(
-  app_name = 'org.onosproject.models.tapi',
-  title = 'ONF Transport API YANG Models',
-  custom_registrator = True,
-  deps = COMPILE_DEPS,
-)
diff --git a/pipelines/basic/BUCK b/pipelines/basic/BUCK
deleted file mode 100644
index 26e74dd..0000000
--- a/pipelines/basic/BUCK
+++ /dev/null
@@ -1,30 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:minimal-json',
-    '//drivers/default:onos-drivers-default',
-    '//protocols/p4runtime/model:onos-protocols-p4runtime-model',
-    '//protocols/p4runtime/api:onos-protocols-p4runtime-api',
-    '//apps/inbandtelemetry/api:onos-apps-inbandtelemetry-api',
-]
-
-BUNDLES = [
-    '//pipelines/basic:onos-pipelines-basic',
-    '//apps/inbandtelemetry/api:onos-apps-inbandtelemetry-api',
-]
-
-osgi_jar(
-    deps = COMPILE_DEPS,
-)
-
-onos_app(
-    app_name = 'org.onosproject.pipelines.basic',
-    title = 'Basic Pipelines',
-    category = 'Pipeline',
-    url = 'http://onosproject.org',
-    description = 'Provides pipelines with basic L2/L3 forwarding capabilities and packet-in/out '
-                  + 'support.',
-    included_bundles = BUNDLES,
-    required_apps = [
-        'org.onosproject.drivers.p4runtime',
-    ]
-)
diff --git a/pipelines/fabric/BUCK b/pipelines/fabric/BUCK
deleted file mode 100644
index 5491289..0000000
--- a/pipelines/fabric/BUCK
+++ /dev/null
@@ -1,37 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:KRYO',
-    '//protocols/p4runtime/model:onos-protocols-p4runtime-model',
-    '//protocols/p4runtime/api:onos-protocols-p4runtime-api',
-    '//pipelines/basic:onos-pipelines-basic',
-    '//core/store/serializers:onos-core-serializers',
-    '//apps/inbandtelemetry/api:onos-apps-inbandtelemetry-api',
-    '//providers/general/device:onos-providers-general-device',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-BUNDLES = [
-    '//pipelines/fabric:onos-pipelines-fabric',
-    '//apps/inbandtelemetry/api:onos-apps-inbandtelemetry-api',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
-onos_app(
-    app_name = 'org.onosproject.pipelines.fabric',
-    title = 'Fabric Pipeline',
-    category = 'Pipeline',
-    url = 'http://onosproject.org',
-    description = 'Provides pipelines with CORD fabric underlay support.',
-    included_bundles = BUNDLES,
-    required_apps = [
-        'org.onosproject.drivers.p4runtime',
-        'org.onosproject.pipelines.basic',
-    ]
-)
diff --git a/protocols/bgp/api/BUCK b/protocols/bgp/api/BUCK
deleted file mode 100644
index 37d94b0..0000000
--- a/protocols/bgp/api/BUCK
+++ /dev/null
@@ -1,10 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//protocols/bgp/bgpio:onos-protocols-bgp-bgpio',
-    '//core/api:onos-api',
-    '//lib:io_netty_netty',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
diff --git a/protocols/bgp/bgpio/BUCK b/protocols/bgp/bgpio/BUCK
deleted file mode 100644
index 32d5f4d..0000000
--- a/protocols/bgp/bgpio/BUCK
+++ /dev/null
@@ -1,11 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:COMPILE',
-    '//lib:NETTY',
-    '//core/api:onos-api',
-    '//lib:io_netty_netty',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
diff --git a/protocols/bgp/ctl/BUCK b/protocols/bgp/ctl/BUCK
deleted file mode 100644
index 3568c2e..0000000
--- a/protocols/bgp/ctl/BUCK
+++ /dev/null
@@ -1,17 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:jersey-client',
-    '//lib:httpclient-osgi',
-    '//lib:httpcore-osgi',
-    '//lib:javax.ws.rs-api',
-    '//protocols/bgp/api:onos-protocols-bgp-api',
-    '//protocols/bgp/bgpio:onos-protocols-bgp-bgpio',
-    '//lib:io_netty_netty_common',
-    '//lib:io_netty_netty',
-    '//lib:org.osgi.compendium',
-    '//lib:org.apache.felix.scr.annotations',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
diff --git a/protocols/bmv2/thrift-api/BUCK b/protocols/bmv2/thrift-api/BUCK
deleted file mode 100644
index f9c90ff..0000000
--- a/protocols/bmv2/thrift-api/BUCK
+++ /dev/null
@@ -1,102 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:libthrift',
-]
-
-# BMV2_COMMIT should be set to the same value as specified in install-p4-tools.sh
-BMV2_COMMIT = 'a3f0ebe4c0f10a656f8aa1ad68cb20402a62b0ee'
-BMV2_BASEURL = 'https://cdn.rawgit.com/p4lang/behavioral-model/' + BMV2_COMMIT
-BMV2_NAMESPACE = 'org.onosproject.bmv2.thriftapi'
-
-THRIFT_EXE_BASEURL = 'https://cdn.rawgit.com/ccascone/mvn-thrift-compiler/1.1_0.9.3/exe/'
-THRIFT_EXE_SHA1S = {
-    'thrift-linux-x86_64.exe':'9b7b5d6eabc9552b8227e8f63981bc15c0985dd5',
-    'thrift-osx-x86_64.exe':'b9215c5141f56fd277b7cf41d9745af847afe498'
-}
-
-def prebuilt_thrift_compiler():
-    import platform
-    os_name = platform.system().lower()
-    if os_name == 'darwin':
-        os_name = 'osx'
-    arch = '%s-%s' % (os_name, platform.machine())
-    fname = 'thrift-%s.exe' % arch
-    if fname not in THRIFT_EXE_SHA1S:
-        raise Exception('Cannot download thrift compiler, architecture %s not supported' % arch)
-    remote_file(
-        name = 'thrift-binary',
-        out = 'thrift.binary',
-        url = THRIFT_EXE_BASEURL + fname,
-        sha1 = THRIFT_EXE_SHA1S[fname],
-    )
-    genrule (
-        name = 'thrift-exe',
-        srcs = [ ':thrift-binary' ],
-        bash = 'cp $(location :thrift-binary) $OUT && chmod +x $OUT',
-        executable = True,
-        out = 'thrift.exe'
-    )
-
-prebuilt_thrift_compiler()
-
-# TODO: or export local thrift executable
-# export_file(
-#       name = 'thrift-exe',
-#       src = '/usr/bin/thrift',
-#     )
-
-def remote_thrift_def(
-    name,
-    url,
-    sha1):
-    # Download *.thrift definition file.
-    remote_file(
-        name = name + '-rem',
-        out = name + '.thrift',
-        url = url,
-        sha1 = sha1,
-    )
-    # Add java namespace.
-    genrule (
-        name = name+'-ns',
-        srcs = [':' + name + '-rem'],
-        bash = 'cp $(location :' + name + '-rem) $OUT && '
-                + 'echo "namespace java ' + BMV2_NAMESPACE + '" | '
-                + 'cat - $OUT > temp && mv temp $OUT',
-        out = name + '.thrift',
-    )
-    # Generate Java sources.
-    genrule (
-        name = name+'-gen',
-        srcs = [':' + name + '-ns'],
-        # FIXME: is there a better way to get just the output dir of this rule?
-        # ...not the full file path in $OUT
-        cmd = '$(exe :thrift-exe) -o $SRCDIR/../' + name + '-gen '
-                + '--gen java $SRCDIR/' + name + '.thrift',
-        out = 'gen-java',
-    )
-    # Zip them.
-    zip_file(
-        name = name,
-        out = name + '.src.zip',
-        srcs = [':' + name + '-gen']
-    )
-
-
-remote_thrift_def(
-    name = 'simple_pre_lag',
-    url = BMV2_BASEURL + '/thrift_src/simple_pre_lag.thrift',
-    sha1 = 'f468ebebc7bb8577f11ca950939f34add5f5634c',
-)
-
-osgi_jar(
-    # If a source ending with *.src.zip is passed, Buck automatically looks for *.java files inside.
-    srcs = [':simple_pre_lag'],
-    deps = COMPILE_DEPS,
-    do_javadocs = False,
-    do_checkstyle = False
-)
-
-project_config(
-    src_target = ':onos-protocols-bmv2-thrift-api'
-)
diff --git a/protocols/gnmi/BUCK b/protocols/gnmi/BUCK
deleted file mode 100644
index 6c80b9b..0000000
--- a/protocols/gnmi/BUCK
+++ /dev/null
@@ -1,15 +0,0 @@
-BUNDLES = [
-    '//protocols/gnmi/stub:onos-protocols-gnmi-stub',
-]
-
-onos_app(
-    app_name = 'org.onosproject.protocols.gnmi',
-    title = 'gNMI Protocol Subsystem',
-    category = 'Protocol',
-    url = 'http://onosproject.org',
-    description = 'ONOS gNMI protocol subsystem',
-    included_bundles = BUNDLES,
-    required_apps = [
-        'org.onosproject.protocols.grpc'
-    ],
-)
diff --git a/protocols/gnmi/stub/BUCK b/protocols/gnmi/stub/BUCK
deleted file mode 100644
index 8a29090..0000000
--- a/protocols/gnmi/stub/BUCK
+++ /dev/null
@@ -1,24 +0,0 @@
-include_defs('//bucklets/grpc.bucklet')
-
-PROTOBUF_VER = '3.2.0'
-GRPC_VER = '1.3.1'
-
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER,
-    '//lib:grpc-stub-' + GRPC_VER,
-    '//lib:grpc-protobuf-' + GRPC_VER,
-    '//lib:protobuf-java-' + PROTOBUF_VER,
-]
-
-grpc_jar(
-    deps = COMPILE_DEPS,
-    # FIXME should not be manually building absolute path.
-    # Come up with glob(..) equivalent in BUCK which can handle directory.
-    proto_paths = ["$ONOS_ROOT/protocols/gnmi/stub/src/main/proto"],
-    include_std_lib = True,
-)
-
-project_config(
-    src_target = ':onos-protocols-gnmi-stub'
-)
diff --git a/protocols/grpc/BUCK b/protocols/grpc/BUCK
deleted file mode 100644
index 093ea7d..0000000
--- a/protocols/grpc/BUCK
+++ /dev/null
@@ -1,38 +0,0 @@
-PROTOBUF_VER = '3.2.0'
-GRPC_VER = '1.3.1'
-
-BUNDLES = [
-    '//protocols/grpc/proto:onos-protocols-grpc-proto',
-    '//protocols/grpc/api:onos-protocols-grpc-api',
-    '//protocols/grpc/ctl:onos-protocols-grpc-ctl',
-    # gRPC dependencies
-    '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER,
-    '//lib:grpc-protobuf-' + GRPC_VER,
-    '//lib:grpc-protobuf-lite-' + GRPC_VER,
-    '//lib:grpc-stub-' + GRPC_VER,
-    '//lib:grpc-netty-' + GRPC_VER,
-    '//lib:grpc-auth-' + GRPC_VER,
-    '//lib:google-instrumentation-0.3.0',
-    '//lib:protobuf-java-3.2.0',
-    # Lazily adding all netty-related packages.
-    # Some of them might not be necessary.
-    '//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 (
-    app_name = 'org.onosproject.protocols.grpc',
-    title = 'gRPC Protocol Subsystem',
-    category = 'Protocol',
-    url = 'http://onosproject.org',
-    description = 'Exposes APIs to store and manage gRPC channels.',
-    included_bundles = BUNDLES,
-)
diff --git a/protocols/grpc/api/BUCK b/protocols/grpc/api/BUCK
deleted file mode 100644
index e0dad74..0000000
--- a/protocols/grpc/api/BUCK
+++ /dev/null
@@ -1,11 +0,0 @@
-GRPC_VER = '1.3.1'
-
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER,
-    '//lib:grpc-stub-' + GRPC_VER,
-]
-
-osgi_jar (
-    deps = COMPILE_DEPS,
-)
diff --git a/protocols/grpc/ctl/BUCK b/protocols/grpc/ctl/BUCK
deleted file mode 100644
index 36681b5..0000000
--- a/protocols/grpc/ctl/BUCK
+++ /dev/null
@@ -1,16 +0,0 @@
-PROTOBUF_VER = '3.2.0'
-GRPC_VER = '1.3.1'
-
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//protocols/grpc/api:onos-protocols-grpc-api',
-    '//protocols/grpc/proto:onos-protocols-grpc-proto',
-    '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER,
-    '//lib:grpc-stub-' + GRPC_VER,
-    '//lib:protobuf-java-' + PROTOBUF_VER,
-]
-
-osgi_jar (
-    deps = COMPILE_DEPS,
-)
-
diff --git a/protocols/grpc/proto/BUCK b/protocols/grpc/proto/BUCK
deleted file mode 100644
index 8f1b562..0000000
--- a/protocols/grpc/proto/BUCK
+++ /dev/null
@@ -1,26 +0,0 @@
-include_defs(
-    '//bucklets/grpc.bucklet'
-)
-
-PROTOBUF_VER = '3.2.0'
-GRPC_VER = '1.3.1'
-
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER,
-    '//lib:grpc-stub-' + GRPC_VER,
-    '//lib:grpc-protobuf-' + GRPC_VER,
-    '//lib:protobuf-java-' + PROTOBUF_VER,
-]
-
-grpc_jar(
-    proto_match_patterns = ["*.proto"],
-    proto_paths = ["$ONOS_ROOT/protocols/grpc/proto/", "$ONOS_ROOT"], #FIXME should not have to include ONOS_ROOT top level here
-    protoc_version = PROTOBUF_VER,
-    plugin_version = GRPC_VER,
-    deps = COMPILE_DEPS,
-)
-
-project_config(
-    src_target = ':onos-protocols-grpc-proto'
-)
diff --git a/protocols/isis/api/BUCK b/protocols/isis/api/BUCK
deleted file mode 100644
index 75c833b..0000000
--- a/protocols/isis/api/BUCK
+++ /dev/null
@@ -1,11 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-    '//lib:JACKSON',
-    '//lib:io_netty_netty',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
diff --git a/protocols/isis/ctl/BUCK b/protocols/isis/ctl/BUCK
deleted file mode 100644
index 1ab0b4b..0000000
--- a/protocols/isis/ctl/BUCK
+++ /dev/null
@@ -1,12 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-    '//lib:JACKSON',
-    '//protocols/isis/api:onos-protocols-isis-api',
-    '//protocols/isis/isisio:onos-protocols-isis-isisio',
-    '//lib:io_netty_netty',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
diff --git a/protocols/isis/isisio/BUCK b/protocols/isis/isisio/BUCK
deleted file mode 100644
index abcd593..0000000
--- a/protocols/isis/isisio/BUCK
+++ /dev/null
@@ -1,10 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-    '//protocols/isis/api:onos-protocols-isis-api',
-    '//lib:io_netty_netty',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
diff --git a/protocols/lisp/api/BUCK b/protocols/lisp/api/BUCK
deleted file mode 100644
index a182f2b..0000000
--- a/protocols/lisp/api/BUCK
+++ /dev/null
@@ -1,11 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-    '//lib:io_netty_netty_transport',
-    '//protocols/lisp/msg:onos-protocols-lisp-msg',
-    '//apps/mappingmanagement/api:onos-apps-mappingmanagement-api',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
diff --git a/protocols/lisp/ctl/BUCK b/protocols/lisp/ctl/BUCK
deleted file mode 100644
index 25764e7..0000000
--- a/protocols/lisp/ctl/BUCK
+++ /dev/null
@@ -1,26 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-    '//protocols/lisp/api:onos-protocols-lisp-api',
-    '//protocols/lisp/msg:onos-protocols-lisp-msg',
-    '//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',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//utils/osgi:onlab-osgi-tests',
-    '//core/api:onos-api-tests',
-    '//protocols/lisp/api:onos-protocols-lisp-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
diff --git a/protocols/lisp/msg/BUCK b/protocols/lisp/msg/BUCK
deleted file mode 100644
index 2e2b8a7..0000000
--- a/protocols/lisp/msg/BUCK
+++ /dev/null
@@ -1,17 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-    '//lib:io_netty_netty_buffer'
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//utils/osgi:onlab-osgi-tests',
-    '//core/api:onos-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
diff --git a/protocols/netconf/api/BUCK b/protocols/netconf/api/BUCK
deleted file mode 100644
index 61b3a10..0000000
--- a/protocols/netconf/api/BUCK
+++ /dev/null
@@ -1,8 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
diff --git a/protocols/netconf/ctl/BUCK b/protocols/netconf/ctl/BUCK
deleted file mode 100644
index 8abf233..0000000
--- a/protocols/netconf/ctl/BUCK
+++ /dev/null
@@ -1,23 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:ganymed-ssh2',
-    '//protocols/netconf/api:onos-protocols-netconf-api',
-    '//cli:onos-cli',
-    '//lib:org.apache.karaf.shell.console',
-    '//lib:sshd-core',
-    '//lib:bcpkix-jdk15on',
-    '//lib:bcprov-jdk15on',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//utils/osgi:onlab-osgi-tests',
-    '//core/api:onos-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
diff --git a/protocols/openflow/api/BUCK b/protocols/openflow/api/BUCK
deleted file mode 100644
index 41fc729..0000000
--- a/protocols/openflow/api/BUCK
+++ /dev/null
@@ -1,16 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-    '//lib:openflowj',
-    '//lib:io_netty_netty_transport',
-]
-
-TEST_DEPS = [
-    '//lib:TEST',
-    '//core/api:onos-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/protocols/openflow/ctl/BUCK b/protocols/openflow/ctl/BUCK
deleted file mode 100644
index 684fb64..0000000
--- a/protocols/openflow/ctl/BUCK
+++ /dev/null
@@ -1,23 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//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 = [
-    '//lib:TEST',
-    '//core/api:onos-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/protocols/ospf/api/BUCK b/protocols/ospf/api/BUCK
deleted file mode 100644
index 75c833b..0000000
--- a/protocols/ospf/api/BUCK
+++ /dev/null
@@ -1,11 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-    '//lib:JACKSON',
-    '//lib:io_netty_netty',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
diff --git a/protocols/ospf/ctl/BUCK b/protocols/ospf/ctl/BUCK
deleted file mode 100644
index ec894cc..0000000
--- a/protocols/ospf/ctl/BUCK
+++ /dev/null
@@ -1,13 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-    '//lib:JACKSON',
-    '//protocols/ospf/api:onos-protocols-ospf-api',
-    '//protocols/ospf/protocol:onos-protocols-ospf-protocol',
-    '//lib:io_netty_netty',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
diff --git a/protocols/ospf/protocol/BUCK b/protocols/ospf/protocol/BUCK
deleted file mode 100644
index 46a8746..0000000
--- a/protocols/ospf/protocol/BUCK
+++ /dev/null
@@ -1,10 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-    '//protocols/ospf/api:onos-protocols-ospf-api',
-    '//lib:io_netty_netty',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
diff --git a/protocols/ovsdb/api/BUCK b/protocols/ovsdb/api/BUCK
deleted file mode 100644
index f9b5802..0000000
--- a/protocols/ovsdb/api/BUCK
+++ /dev/null
@@ -1,12 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-    '//lib:JACKSON',
-    '//lib:io_netty_netty_transport',
-    '//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
diff --git a/protocols/ovsdb/ctl/BUCK b/protocols/ovsdb/ctl/BUCK
deleted file mode 100644
index bd40154..0000000
--- a/protocols/ovsdb/ctl/BUCK
+++ /dev/null
@@ -1,16 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-    '//lib:JACKSON',
-    '//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',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
diff --git a/protocols/ovsdb/rfc/BUCK b/protocols/ovsdb/rfc/BUCK
deleted file mode 100644
index 47f8625..0000000
--- a/protocols/ovsdb/rfc/BUCK
+++ /dev/null
@@ -1,12 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-    '//lib:JACKSON',
-    '//lib:io_netty_netty_buffer',
-    '//lib:io_netty_netty_codec',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
diff --git a/protocols/p4runtime/BUCK b/protocols/p4runtime/BUCK
deleted file mode 100644
index 9668a16..0000000
--- a/protocols/p4runtime/BUCK
+++ /dev/null
@@ -1,18 +0,0 @@
-BUNDLES = [
-    '//protocols/p4runtime/proto:onos-protocols-p4runtime-proto',
-    '//protocols/p4runtime/api:onos-protocols-p4runtime-api',
-    '//protocols/p4runtime/ctl:onos-protocols-p4runtime-ctl',
-    '//protocols/p4runtime/model:onos-protocols-p4runtime-model',
-]
-
-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/BUCK b/protocols/p4runtime/api/BUCK
deleted file mode 100644
index fd05763..0000000
--- a/protocols/p4runtime/api/BUCK
+++ /dev/null
@@ -1,17 +0,0 @@
-GRPC_VER = '1.3.1'
-
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER,
-]
-
-TEST_DEPS = [
-    '//core/api:onos-api-tests',
-    '//lib:TEST',
-    '//protocols/p4runtime/api:onos-protocols-p4runtime-api',
-]
-
-osgi_jar_with_tests(
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/protocols/p4runtime/ctl/BUCK b/protocols/p4runtime/ctl/BUCK
deleted file mode 100644
index 343d3b2..0000000
--- a/protocols/p4runtime/ctl/BUCK
+++ /dev/null
@@ -1,28 +0,0 @@
-# Buck build of P4-related modules is no longer supported, please use Bazel
-# GRPC_VER = '1.3.1'
-# PROTOBUF_VER = '3.2.0'
-#
-# COMPILE_DEPS = [
-#     '//lib:CORE_DEPS',
-#     '//lib:KRYO',
-#     '//protocols/grpc/api:onos-protocols-grpc-api',
-#     '//protocols/p4runtime/api:onos-protocols-p4runtime-api',
-#     '//protocols/p4runtime/proto:onos-protocols-p4runtime-proto',
-#     '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER,
-#     '//lib:grpc-stub-' + GRPC_VER,
-#     '//lib:grpc-netty-' + GRPC_VER,
-#     '//lib:protobuf-java-' + PROTOBUF_VER,
-#     '//core/store/serializers:onos-core-serializers',
-# ]
-#
-# TEST_DEPS = [
-#     '//lib:TEST',
-#     '//lib:GRPC_TEST_1.3',
-#     '//lib:minimal-json',
-#     '//lib:grpc-protobuf-lite-' + GRPC_VER,
-# ]
-#
-# osgi_jar_with_tests(
-#     deps = COMPILE_DEPS,
-#     test_deps = TEST_DEPS,
-# )
diff --git a/protocols/p4runtime/model/BUCK b/protocols/p4runtime/model/BUCK
deleted file mode 100644
index 61e5d49..0000000
--- a/protocols/p4runtime/model/BUCK
+++ /dev/null
@@ -1,14 +0,0 @@
-PROTOBUF_VER = '3.2.0'
-
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//protocols/p4runtime/proto:onos-protocols-p4runtime-proto',
-    '//lib:protobuf-java-' + PROTOBUF_VER,
-]
-
-TEST_DEPS = [
-]
-
-osgi_jar_with_tests(
-    deps = COMPILE_DEPS + TEST_DEPS,
-)
diff --git a/protocols/p4runtime/proto/BUCK b/protocols/p4runtime/proto/BUCK
deleted file mode 100644
index 27a8ef6..0000000
--- a/protocols/p4runtime/proto/BUCK
+++ /dev/null
@@ -1,57 +0,0 @@
-include_defs(
-    '//bucklets/grpc.bucklet'
-)
-
-PROTOBUF_VER = '3.2.0'
-GRPC_VER = '1.3.1'
-
-PI_COMMIT = '7e94b025bac6db63bc8534e5dd21a008984e38bc'
-PI_BASEURL = 'https://github.com/p4lang/PI.git'
-
-# Wondering which .proto files to build? Check p4runtime's Makefile:
-# https://github.com/p4lang/PI/blob/master/proto/Makefile.am
-PROTO_SRCS = [
-    '/proto/p4/v1/p4runtime.proto',
-    '/proto/p4/v1/p4data.proto',
-    '/proto/p4/config/v1/p4info.proto',
-    '/proto/p4/config/v1/p4types.proto',
-    '/proto/p4/tmp/p4config.proto',
-    '/proto/google/rpc/status.proto',
-    '/proto/google/rpc/code.proto',
-]
-
-COMPILE_DEPS =[
-    '//lib:CORE_DEPS',
-    '//incubator/grpc-dependencies:grpc-core-repkg-' + GRPC_VER,
-    '//lib:grpc-stub-' + GRPC_VER,
-    '//lib:grpc-protobuf-' + GRPC_VER,
-    '//lib:protobuf-java-' + PROTOBUF_VER,
-]
-
-genrule(
-    name = 'p4lang-pi-repo-' + PI_COMMIT,
-    bash = 'git clone --quiet ' + PI_BASEURL + ' $OUT > /dev/null && '
-            + 'cd $OUT && '
-            + 'git checkout --quiet -b buck-build ' + PI_COMMIT + ' > /dev/null && '
-            + 'git submodule update --quiet --init --recursive > /dev/null',
-    out = 'repo',
-)
-
-def get_proto_src_string():
-    proto_srcs = map(lambda x: "$(location :p4lang-pi-repo-%s)%s"  % (PI_COMMIT, x), PROTO_SRCS)
-    return " ".join(proto_srcs)
-
-grpc_jar(
-    src_string = get_proto_src_string(),
-    proto_paths = [
-        '$(location :p4lang-pi-repo-' + PI_COMMIT + ')/proto',
-    ],
-    protoc_version = PROTOBUF_VER,
-    plugin_version = GRPC_VER,
-    deps = COMPILE_DEPS,
-    include_std_lib = True,
-)
-
-project_config(
-    src_target = ':onos-protocols-p4runtime-proto'
-)
diff --git a/protocols/pcep/pcepio/BUCK b/protocols/pcep/pcepio/BUCK
deleted file mode 100644
index e02623d..0000000
--- a/protocols/pcep/pcepio/BUCK
+++ /dev/null
@@ -1,15 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-    '//lib:jackson-databind',
-    '//lib:jackson-annotations',
-    '//lib:osgi-core',
-    '//lib:org.apache.karaf.shell.console',
-    '//lib:org.apache.felix.scr.annotations',
-    '//lib:io_netty_netty',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
diff --git a/protocols/pcep/server/BUCK b/protocols/pcep/server/BUCK
deleted file mode 100644
index 1835e30..0000000
--- a/protocols/pcep/server/BUCK
+++ /dev/null
@@ -1,11 +0,0 @@
-BUNDLES = [
-    '//protocols/pcep/server/api:onos-protocols-pcep-server-api',
-    '//protocols/pcep/server/ctl:onos-protocols-pcep-server-ctl',
-]
-
-onos_app (
-  title = 'PCEP Server Module',
-  category = 'Utility',
-  url = 'http://onosproject.org',
-  included_bundles = BUNDLES,
-)
diff --git a/protocols/pcep/server/api/BUCK b/protocols/pcep/server/api/BUCK
deleted file mode 100644
index 4c26105..0000000
--- a/protocols/pcep/server/api/BUCK
+++ /dev/null
@@ -1,12 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//protocols/pcep/pcepio:onos-protocols-pcep-pcepio',
-    '//apps/pcep-api:onos-apps-pcep-api',
-    '//incubator/api:onos-incubator-api',
-    '//lib:io_netty_netty',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
diff --git a/protocols/pcep/server/ctl/BUCK b/protocols/pcep/server/ctl/BUCK
deleted file mode 100644
index 5295876..0000000
--- a/protocols/pcep/server/ctl/BUCK
+++ /dev/null
@@ -1,25 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-    '//lib:JACKSON',
-    '//lib:KRYO',
-    '//incubator/api:onos-incubator-api',
-    '//protocols/pcep/pcepio:onos-protocols-pcep-pcepio',
-    '//protocols/pcep/server/api:onos-protocols-pcep-server-api',
-    '//core/store/serializers:onos-core-serializers',
-    '//apps/pcep-api:onos-apps-pcep-api',
-    '//lib:io_netty_netty',
-]
-
-TEST_DEPS = [
-    '//lib:TEST',
-    '//lib:TEST_ADAPTERS',
-    '//incubator/api:onos-incubator-api-tests',
-    '//protocols/pcep/server/api:onos-protocols-pcep-server-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
diff --git a/protocols/rest/api/BUCK b/protocols/rest/api/BUCK
deleted file mode 100644
index 818ffbd..0000000
--- a/protocols/rest/api/BUCK
+++ /dev/null
@@ -1,18 +0,0 @@
-COMPILE_DEPS = [
-    '//incubator/api:onos-incubator-api',
-    '//utils/rest:onlab-rest',
-    '//lib:CORE_DEPS',
-    '//lib:jersey-client',
-    '//lib:jersey-security',
-    '//lib:jersey-common',
-    '//lib:httpclient-osgi',
-    '//lib:httpcore-osgi',
-    '//lib:javax.ws.rs-api',
-    '//lib:hk2-api',
-    '//lib:aopalliance-repackaged',
-    '//lib:javax.inject',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
diff --git a/protocols/rest/ctl/BUCK b/protocols/rest/ctl/BUCK
deleted file mode 100644
index c12164d..0000000
--- a/protocols/rest/ctl/BUCK
+++ /dev/null
@@ -1,24 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:jersey-client',
-    '//lib:jersey-common',
-    '//lib:jersey-media-sse',
-    '//lib:httpclient-osgi',
-    '//lib:httpcore-osgi',
-    '//lib:javax.ws.rs-api',
-    '//lib:hk2-api',
-    '//lib:aopalliance-repackaged',
-    '//lib:javax.inject',
-    '//protocols/rest/api:onos-protocols-rest-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_REST',
-    '//core/common:onos-core-common-tests'
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS
-)
-
diff --git a/protocols/restconf/client/api/BUCK b/protocols/restconf/client/api/BUCK
deleted file mode 100644
index c1f3e2c..0000000
--- a/protocols/restconf/client/api/BUCK
+++ /dev/null
@@ -1,10 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//incubator/api:onos-incubator-api',
-    '//utils/rest:onlab-rest',
-    '//protocols/rest/api:onos-protocols-rest-api',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
diff --git a/protocols/restconf/client/ctl/BUCK b/protocols/restconf/client/ctl/BUCK
deleted file mode 100644
index 1e1223d..0000000
--- a/protocols/restconf/client/ctl/BUCK
+++ /dev/null
@@ -1,18 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:jersey-client',
-    '//lib:jersey-common',
-    '//lib:httpclient-osgi',
-    '//lib:httpcore-osgi',
-    '//lib:javax.ws.rs-api',
-    '//lib:hk2-api',
-    '//lib:aopalliance-repackaged',
-    '//lib:javax.inject',
-    '//protocols/restconf/client/api:onos-protocols-restconf-client-api',
-    '//protocols/rest/api:onos-protocols-rest-api',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
diff --git a/protocols/restconf/server/BUCK b/protocols/restconf/server/BUCK
deleted file mode 100644
index b6ac9d4..0000000
--- a/protocols/restconf/server/BUCK
+++ /dev/null
@@ -1,11 +0,0 @@
-BUNDLES = [
-    '//protocols/restconf/server/rpp:onos-protocols-restconf-server-rpp',
-]
-
-onos_app (
-  app_name = 'org.onosproject.protocols.restconfserver',
-  title = 'RESTCONF Server Module',
-  category = 'Utility',
-  url = 'http://onosproject.org',
-  included_bundles = BUNDLES,
-)
diff --git a/protocols/restconf/server/rpp/BUCK b/protocols/restconf/server/rpp/BUCK
deleted file mode 100644
index c21c905..0000000
--- a/protocols/restconf/server/rpp/BUCK
+++ /dev/null
@@ -1,23 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:jersey-client',
-    '//lib:jersey-server',
-    '//lib:javax.ws.rs-api',
-    '//lib:servlet-api',
-    '//lib:javax.inject',
-    '//utils/rest:onlab-rest',
-    '//apps/restconf/api:onos-apps-restconf-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_REST',
-    '//utils/osgi:onlab-osgi-tests',
-    '//web/api:onos-rest-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    web_context = '/onos/restconf',
-)
diff --git a/protocols/snmp/api/BUCK b/protocols/snmp/api/BUCK
deleted file mode 100644
index 897a0ac..0000000
--- a/protocols/snmp/api/BUCK
+++ /dev/null
@@ -1,13 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//incubator/api:onos-incubator-api',
-    '//lib:org.apache.servicemix.bundles.snmp4j',
-    '//lib:snmp-core',
-    '//lib:mibs-net-snmp',
-    '//lib:mibs-rfc',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
diff --git a/protocols/snmp/ctl/BUCK b/protocols/snmp/ctl/BUCK
deleted file mode 100644
index b4357e1..0000000
--- a/protocols/snmp/ctl/BUCK
+++ /dev/null
@@ -1,14 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//incubator/api:onos-incubator-api',
-    '//protocols/snmp/api:onos-protocols-snmp-api',
-    '//lib:org.apache.servicemix.bundles.snmp4j',
-    '//lib:snmp-core',
-    '//lib:mibs-net-snmp',
-    '//lib:mibs-rfc',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
diff --git a/protocols/tl1/api/BUCK b/protocols/tl1/api/BUCK
deleted file mode 100644
index 52e0753..0000000
--- a/protocols/tl1/api/BUCK
+++ /dev/null
@@ -1,8 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:io_netty_netty_transport',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
diff --git a/protocols/tl1/ctl/BUCK b/protocols/tl1/ctl/BUCK
deleted file mode 100644
index af235e4..0000000
--- a/protocols/tl1/ctl/BUCK
+++ /dev/null
@@ -1,19 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-    '//lib:io_netty_netty_transport',
-    '//lib:io_netty_netty_buffer',
-    '//lib:io_netty_netty_codec',
-    '//protocols/tl1/api:onos-protocols-tl1-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//utils/osgi:onlab-osgi-tests',
-    '//core/api:onos-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/protocols/xmpp/core/BUCK b/protocols/xmpp/core/BUCK
deleted file mode 100644
index 49a5015..0000000
--- a/protocols/xmpp/core/BUCK
+++ /dev/null
@@ -1,23 +0,0 @@
-BUNDLES = [
-    '//protocols/xmpp/core/api:onos-protocols-xmpp-core-api',
-    '//protocols/xmpp/core/ctl:onos-protocols-xmpp-core-ctl',
-    '//lib:tinder-xmpp',
-    '//lib:org.apache.servicemix.bundles.dom4j',
-    '//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',
-    '//lib:gnu-idn',
-]
-
-onos_app(
-    app_name = 'org.onosproject.protocols.xmpp',
-    title = 'XMPP Core Protocol Subsystem',
-    category = 'Protocol',
-    url = 'https://wiki.onosproject.org/display/ONOS/XMPP+as+SBI',
-    description = 'ONOS XMPP core protocol subsystem',
-    included_bundles = BUNDLES,
-)
\ No newline at end of file
diff --git a/protocols/xmpp/core/api/BUCK b/protocols/xmpp/core/api/BUCK
deleted file mode 100644
index 1e7a692..0000000
--- a/protocols/xmpp/core/api/BUCK
+++ /dev/null
@@ -1,12 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//core/api:onos-api',
-    '//lib:tinder-xmpp',
-    '//lib:io_netty_netty_transport',
-    '//lib:io_netty_netty_common',
-    '//lib:org.apache.servicemix.bundles.dom4j',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
\ No newline at end of file
diff --git a/protocols/xmpp/core/ctl/BUCK b/protocols/xmpp/core/ctl/BUCK
deleted file mode 100644
index 4ce3ed1..0000000
--- a/protocols/xmpp/core/ctl/BUCK
+++ /dev/null
@@ -1,25 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//protocols/xmpp/core/api:onos-protocols-xmpp-core-api',
-    '//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',
-    '//lib:aalto-xml',
-    '//lib:concurrent-hashmap',
-    '//lib:gnu-idn',
-]
-
-TEST_DEPS = [
-    '//lib:TEST',
-    '//core/api:onos-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
\ No newline at end of file
diff --git a/protocols/xmpp/pubsub/BUCK b/protocols/xmpp/pubsub/BUCK
deleted file mode 100644
index 9a69e4c..0000000
--- a/protocols/xmpp/pubsub/BUCK
+++ /dev/null
@@ -1,20 +0,0 @@
-BUNDLES = [
-    '//protocols/xmpp/core/api:onos-protocols-xmpp-core-api',
-    '//protocols/xmpp/pubsub/api:onos-protocols-xmpp-pubsub-api',
-    '//protocols/xmpp/pubsub/ctl:onos-protocols-xmpp-pubsub-ctl',
-    '//lib:tinder-xmpp',
-    '//lib:concurrent-hashmap',
-    '//lib:gnu-idn',
-]
-
-onos_app(
-    app_name = 'org.onosproject.protocols.xmpp.pubsub',
-    title = 'XMPP Publish/Subscribe protocol extension subsystem',
-    category = 'Protocol',
-    url = 'http://onosproject.org',
-    description = 'XMPP Publish/Subscribe protocol extension subsystem',
-    included_bundles = BUNDLES,
-    required_apps = [
-        'org.onosproject.protocols.xmpp',
-    ]
-)
\ No newline at end of file
diff --git a/protocols/xmpp/pubsub/api/BUCK b/protocols/xmpp/pubsub/api/BUCK
deleted file mode 100644
index d856754..0000000
--- a/protocols/xmpp/pubsub/api/BUCK
+++ /dev/null
@@ -1,9 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//core/api:onos-api',
-    '//lib:tinder-xmpp',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
\ No newline at end of file
diff --git a/protocols/xmpp/pubsub/ctl/BUCK b/protocols/xmpp/pubsub/ctl/BUCK
deleted file mode 100644
index e28ec52..0000000
--- a/protocols/xmpp/pubsub/ctl/BUCK
+++ /dev/null
@@ -1,19 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//core/api:onos-api',
-    '//lib:tinder-xmpp',
-    '//lib:concurrent-hashmap',
-    '//lib:gnu-idn',
-    '//protocols/xmpp/pubsub/api:onos-protocols-xmpp-pubsub-api',
-    '//protocols/xmpp/core/api:onos-protocols-xmpp-core-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST',
-    '//core/api:onos-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
\ No newline at end of file
diff --git a/providers/bgp/BUCK b/providers/bgp/BUCK
deleted file mode 100644
index 5ebd51c..0000000
--- a/providers/bgp/BUCK
+++ /dev/null
@@ -1,19 +0,0 @@
-BUNDLES = [
-    '//providers/bgp/cfg:onos-providers-bgp-cfg',
-    '//providers/bgp/topology:onos-providers-bgp-topology',
-    '//providers/bgp/route:onos-providers-bgp-route',
-    '//providers/bgp/cli:onos-providers-bgp-cli',
-    '//protocols/bgp/api:onos-protocols-bgp-api',
-    '//protocols/bgp/ctl:onos-protocols-bgp-ctl',
-    '//protocols/bgp/bgpio:onos-protocols-bgp-bgpio',
-]
-
-onos_app (
-    title = 'BGP Provider',
-    category = 'Provider',
-    url = 'http://onosproject.org',
-    included_bundles = BUNDLES,
-    description = 'BGP protocol southbound providers.',
-    required_apps = [ 'org.onosproject.evpn-route-service' ],
-)
-
diff --git a/providers/bgp/cfg/BUCK b/providers/bgp/cfg/BUCK
deleted file mode 100644
index f3fa14d..0000000
--- a/providers/bgp/cfg/BUCK
+++ /dev/null
@@ -1,9 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//protocols/bgp/api:onos-protocols-bgp-api',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
diff --git a/providers/bgp/cli/BUCK b/providers/bgp/cli/BUCK
deleted file mode 100644
index 64ae7f9..0000000
--- a/providers/bgp/cli/BUCK
+++ /dev/null
@@ -1,16 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//incubator/api:onos-incubator-api',
-    '//providers/bgp/cfg:onos-providers-bgp-cfg',
-    '//providers/bgp/topology:onos-providers-bgp-topology',
-    '//protocols/bgp/api:onos-protocols-bgp-api',
-    '//protocols/bgp/ctl:onos-protocols-bgp-ctl',
-    '//protocols/bgp/bgpio:onos-protocols-bgp-bgpio',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-]
-
-osgi_jar_with_tests (
-  deps = COMPILE_DEPS,
-)
-
diff --git a/providers/bgp/route/BUCK b/providers/bgp/route/BUCK
deleted file mode 100644
index 5e94e85..0000000
--- a/providers/bgp/route/BUCK
+++ /dev/null
@@ -1,17 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//protocols/bgp/api:onos-protocols-bgp-api',
-    '//protocols/bgp/bgpio:onos-protocols-bgp-bgpio',
-    '//incubator/store:onos-incubator-store',
-    '//incubator/api:onos-incubator-api',
-    '//apps/evpn-route-service/api:onos-apps-evpn-route-service-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests(
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/providers/bgp/topology/BUCK b/providers/bgp/topology/BUCK
deleted file mode 100644
index efa8edb..0000000
--- a/providers/bgp/topology/BUCK
+++ /dev/null
@@ -1,18 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//protocols/bgp/api:onos-protocols-bgp-api',
-    '//protocols/bgp/bgpio:onos-protocols-bgp-bgpio',
-    '//incubator/store:onos-incubator-store',
-    '//incubator/api:onos-incubator-api',
-    '//apps/pcep-api:onos-apps-pcep-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/providers/bgpcep/BUCK b/providers/bgpcep/BUCK
deleted file mode 100644
index 1f0b14d..0000000
--- a/providers/bgpcep/BUCK
+++ /dev/null
@@ -1,26 +0,0 @@
-BUNDLES = [
-  '//protocols/bgp/bgpio:onos-protocols-bgp-bgpio',
-  '//protocols/bgp/api:onos-protocols-bgp-api',
-  '//protocols/bgp/ctl:onos-protocols-bgp-ctl',
-  '//protocols/pcep/pcepio:onos-protocols-pcep-pcepio',
-  '//apps/pcep-api:onos-apps-pcep-api',
-  '//protocols/pcep/server/api:onos-protocols-pcep-server-api',
-  '//providers/bgp/topology:onos-providers-bgp-topology',
-  '//providers/bgp/cfg:onos-providers-bgp-cfg',
-  '//protocols/pcep/server/ctl:onos-protocols-pcep-server-ctl',
-  '//providers/pcep/topology:onos-providers-pcep-topology',
-  '//providers/pcep/tunnel:onos-providers-pcep-tunnel',
-  '//providers/bgpcep/flow:onos-providers-bgpcep-flow',
-  '//apps/pce/app:onos-apps-pce-app',
-  '//apps/pce/pceweb:onos-apps-pce-pceweb',
-  '//apps/pce/bandwidthmgmt:onos-apps-pce-bandwidthmgmt', 
-]
-
-onos_app (
-    title = 'BGPCEP Provider',
-    category = 'Provider',
-    url = 'http://onosproject.org',
-    included_bundles = BUNDLES,
-    description = 'BGPCEP providers.',
-)
-
diff --git a/providers/bgpcep/flow/BUCK b/providers/bgpcep/flow/BUCK
deleted file mode 100644
index 2115eb2..0000000
--- a/providers/bgpcep/flow/BUCK
+++ /dev/null
@@ -1,12 +0,0 @@
-COMPILE_DEPS = [
-  '//lib:CORE_DEPS',
-  '//lib:org.osgi.compendium',
-  '//protocols/bgp/api:onos-protocols-bgp-api',
-  '//incubator/api:onos-incubator-api',
-  '//protocols/pcep/server/api:onos-protocols-pcep-server-api',
-  '//protocols/pcep/pcepio:onos-protocols-pcep-pcepio',
-]
-
-osgi_jar_with_tests(
-    deps = COMPILE_DEPS,
-)
diff --git a/providers/general/BUCK b/providers/general/BUCK
deleted file mode 100644
index 5d4973e..0000000
--- a/providers/general/BUCK
+++ /dev/null
@@ -1,15 +0,0 @@
-BUNDLES = [
-    '//providers/general/device:onos-providers-general-device',
-]
-
-onos_app (
-    app_name = "org.onosproject.generaldeviceprovider",
-    title = 'General Device Provider',
-    category = 'Provider',
-    url = 'http://onosproject.org',
-    included_bundles = BUNDLES,
-    description = 'General device southbound providers.',
-    required_apps = [],
-)
-
-
diff --git a/providers/general/device/BUCK b/providers/general/device/BUCK
deleted file mode 100644
index 4c7bd78..0000000
--- a/providers/general/device/BUCK
+++ /dev/null
@@ -1,13 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/providers/host/BUCK b/providers/host/BUCK
deleted file mode 100644
index b7d90f4..0000000
--- a/providers/host/BUCK
+++ /dev/null
@@ -1,22 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//incubator/api:onos-incubator-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//utils/osgi:onlab-osgi-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
-onos_app (
-    app_name = 'org.onosproject.hostprovider',
-    title = 'Host Location Provider',
-    category = 'Provider',
-    url = 'http://onosproject.org',
-    description = 'Provides host discovery and location to the ONOS core by eavesdropping on the ARP and NDP packets.',
-)
diff --git a/providers/hostprobing/BUCK b/providers/hostprobing/BUCK
deleted file mode 100644
index 21bf493..0000000
--- a/providers/hostprobing/BUCK
+++ /dev/null
@@ -1,22 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//incubator/api:onos-incubator-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//utils/osgi:onlab-osgi-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
-onos_app (
-    app_name = 'org.onosproject.hostprobingprovider',
-    title = 'Host Probing Provider',
-    category = 'Provider',
-    url = 'http://onosproject.org',
-    description = 'Provides host probing mechanism that discovers or verifies the existence of a host at specific location',
-)
diff --git a/providers/isis/BUCK b/providers/isis/BUCK
deleted file mode 100644
index adc7a6f..0000000
--- a/providers/isis/BUCK
+++ /dev/null
@@ -1,16 +0,0 @@
-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/topology:onos-providers-isis-topology',
-]
-
-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
deleted file mode 100644
index 494b810..0000000
--- a/providers/isis/cfg/BUCK
+++ /dev/null
@@ -1,10 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//protocols/isis/api:onos-protocols-isis-api',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
diff --git a/providers/isis/topology/BUCK b/providers/isis/topology/BUCK
deleted file mode 100644
index 883ced2..0000000
--- a/providers/isis/topology/BUCK
+++ /dev/null
@@ -1,15 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//protocols/isis/api:onos-protocols-isis-api',
-    '//protocols/isis/ctl:onos-protocols-isis-ctl',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/providers/link/BUCK b/providers/link/BUCK
deleted file mode 100644
index c8a288f..0000000
--- a/providers/link/BUCK
+++ /dev/null
@@ -1,21 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//utils/osgi:onlab-osgi-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
-onos_app (
-  app_name = 'org.onosproject.linkdiscovery',
-  title = 'Link Discovery Provider',
-  category = 'Provider',
-  url = 'http://onosproject.org',
-  description = 'ONOS link discovery provider.',
-)
\ No newline at end of file
diff --git a/providers/lisp/BUCK b/providers/lisp/BUCK
deleted file mode 100644
index cad7de2..0000000
--- a/providers/lisp/BUCK
+++ /dev/null
@@ -1,18 +0,0 @@
-BUNDLES = [
-    '//providers/lisp/device:onos-providers-lisp-device',
-    '//providers/lisp/mapping:onos-providers-lisp-mapping',
-    '//providers/lisp/message:onos-providers-lisp-message',
-    '//protocols/lisp/api:onos-protocols-lisp-api',
-    '//protocols/lisp/ctl:onos-protocols-lisp-ctl',
-    '//protocols/lisp/msg:onos-protocols-lisp-msg',
-    '//apps/mappingmanagement/api:onos-apps-mappingmanagement-api',
-]
-
-onos_app (
-    app_name = 'org.onosproject.lisp',
-    title = 'LISP Provider',
-    category = 'Provider',
-    url = 'http://onosproject.org',
-    included_bundles = BUNDLES,
-    description = 'LISP protocol southbound providers.',
-)
diff --git a/providers/lisp/device/BUCK b/providers/lisp/device/BUCK
deleted file mode 100644
index 153579f..0000000
--- a/providers/lisp/device/BUCK
+++ /dev/null
@@ -1,14 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//protocols/lisp/api:onos-protocols-lisp-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//protocols/lisp/api:onos-protocols-lisp-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/providers/lisp/mapping/BUCK b/providers/lisp/mapping/BUCK
deleted file mode 100644
index 7e4bb9d..0000000
--- a/providers/lisp/mapping/BUCK
+++ /dev/null
@@ -1,17 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//protocols/lisp/api:onos-protocols-lisp-api',
-    '//protocols/lisp/msg:onos-protocols-lisp-msg',
-    '//apps/mappingmanagement/api:onos-apps-mappingmanagement-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//protocols/lisp/api:onos-protocols-lisp-api-tests',
-    '//apps/mappingmanagement/api:onos-apps-mappingmanagement-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/providers/lisp/message/BUCK b/providers/lisp/message/BUCK
deleted file mode 100644
index a711177..0000000
--- a/providers/lisp/message/BUCK
+++ /dev/null
@@ -1,9 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//protocols/lisp/api:onos-protocols-lisp-api',
-    '//protocols/lisp/msg:onos-protocols-lisp-msg',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
diff --git a/providers/lldp/BUCK b/providers/lldp/BUCK
deleted file mode 100644
index 8315f65..0000000
--- a/providers/lldp/BUCK
+++ /dev/null
@@ -1,32 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-    '//lib:JACKSON',
-    '//providers/lldpcommon:onos-providers-lldpcommon',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-BUNDLES = [
-    '//providers/lldpcommon:onos-providers-lldpcommon',
-    '//providers/lldp:onos-providers-lldp',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
-onos_app (
-    app_name = 'org.onosproject.lldpprovider',
-    title = 'LLDP Link Provider',
-    category = 'Provider',
-    url = 'http://onosproject.org',
-    description = 'Provides link discovery to the ONOS core by eavesdropping on the LLDP control packets.',
-    included_bundles = BUNDLES,
-)
-
diff --git a/providers/lldpcommon/BUCK b/providers/lldpcommon/BUCK
deleted file mode 100644
index 19fa4e7..0000000
--- a/providers/lldpcommon/BUCK
+++ /dev/null
@@ -1,14 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-]
-
-TEST_DEPS = [
-    '//lib:TEST',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
diff --git a/providers/netcfghost/BUCK b/providers/netcfghost/BUCK
deleted file mode 100644
index dfc8af1..0000000
--- a/providers/netcfghost/BUCK
+++ /dev/null
@@ -1,18 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    app_name = 'org.onosproject.netcfghostprovider',
-    title = 'Network Config Host Provider',
-    category = 'Provider',
-    url = 'http://onosproject.org',
-    description = 'Allows operator to prescribe information about known hosts and their locations ' +
-        'using the network configuration subsystem. Such information takes precedence over ' +
-        'information discovered through other host location providers.',
-)
-
diff --git a/providers/netcfglinks/BUCK b/providers/netcfglinks/BUCK
deleted file mode 100644
index 2b643eb..0000000
--- a/providers/netcfglinks/BUCK
+++ /dev/null
@@ -1,30 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-    '//providers/lldpcommon:onos-providers-lldpcommon',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-BUNDLES = [
-    '//providers/lldpcommon:onos-providers-lldpcommon',
-    '//providers/netcfglinks:onos-providers-netcfglinks',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
-onos_app (
-    app_name = 'org.onosproject.netcfglinksprovider',
-    title = 'Network Config Link Provider',
-    category = 'Provider',
-    url = 'http://onosproject.org',
-    description = 'Allows operator to prescribe information about known infrastructure links and ' +
-        'their state using the network configuration subsystem. Such information takes precedence ' +
-        'over information discovered through other link discovery providers.',
-    included_bundles = BUNDLES,
-)
diff --git a/providers/netconf/BUCK b/providers/netconf/BUCK
deleted file mode 100644
index 92f7a72..0000000
--- a/providers/netconf/BUCK
+++ /dev/null
@@ -1,25 +0,0 @@
-BUNDLES = [
-    '//providers/netconf/device:onos-providers-netconf-device',
-    '//providers/netconf/alarm:onos-providers-netconf-alarm',
-    '//protocols/netconf/api:onos-protocols-netconf-api',
-    '//protocols/netconf/ctl:onos-protocols-netconf-ctl',
-    '//lib:sshd-core',
-]
-
-EXCLUDED_BUNDLES = [
-    '//lib:ganymed-ssh2',
-]
-
-onos_app (
-    title = 'NETCONF Provider',
-    category = 'Provider',
-    url = 'https://wiki.onosproject.org/display/ONOS/NETCONF',
-    included_bundles = BUNDLES,
-    excluded_bundles = EXCLUDED_BUNDLES,
-    description = 'Provides means for ONOS to discover and trigger the initial handshake procedure ' +
-        'with NETCONF from information given by network configuration.' +
-        'Also provides capabilities for receiving asynchronous alarm notifications from devices.',
-    required_apps = [ 'org.onosproject.faultmanagement'],
-)
-
-
diff --git a/providers/netconf/alarm/BUCK b/providers/netconf/alarm/BUCK
deleted file mode 100644
index 761f2ed..0000000
--- a/providers/netconf/alarm/BUCK
+++ /dev/null
@@ -1,10 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//incubator/api:onos-incubator-api',
-    '//protocols/netconf/api:onos-protocols-netconf-api',
-    '//protocols/netconf/ctl:onos-protocols-netconf-ctl',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
diff --git a/providers/netconf/device/BUCK b/providers/netconf/device/BUCK
deleted file mode 100644
index 89ee36b..0000000
--- a/providers/netconf/device/BUCK
+++ /dev/null
@@ -1,15 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//incubator/api:onos-incubator-api',
-    '//protocols/netconf/api:onos-protocols-netconf-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/providers/null/BUCK b/providers/null/BUCK
deleted file mode 100644
index 8e43e3a..0000000
--- a/providers/null/BUCK
+++ /dev/null
@@ -1,23 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-    import_packages = '*,org.onosproject.cli.net',
-)
-
-onos_app (
-    title = 'Null Provider Suite',
-    category = 'Test Utility',
-    url = 'http://onosproject.org',
-    description = 'Suite of device, link, host, flow and packet providers that allow the operator ' +
-        'to test ONOS against completely fictional network topology. This is useful for conducting ' +
-        'ONOS core performance tests and for developing features that require only control plane ' +
-        '- and not data plane - functionality. ',
-)
diff --git a/providers/openflow/app/BUCK b/providers/openflow/app/BUCK
deleted file mode 100644
index 958004c..0000000
--- a/providers/openflow/app/BUCK
+++ /dev/null
@@ -1,16 +0,0 @@
-APPS = [
-    'org.onosproject.hostprovider',
-    'org.onosproject.lldpprovider',
-    'org.onosproject.openflow-base',
-]
-
-onos_app (
-    app_name = 'org.onosproject.openflow',
-    title = 'OpenFlow Provider Suite',
-    category = 'Provider',
-    url = 'http://onosproject.org',
-    description = 'Suite of the OpenFlow base providers bundled together with ARP/NDP host ' +
-        'location provider and LLDP link provider.',
-    included_bundles = [ '//utils/osgi:onlab-osgi' ],  # FIXME to allow hollow oar files
-    required_apps = APPS,
-)
diff --git a/providers/openflow/base/BUCK b/providers/openflow/base/BUCK
deleted file mode 100644
index 0513e6f..0000000
--- a/providers/openflow/base/BUCK
+++ /dev/null
@@ -1,25 +0,0 @@
-BUNDLES = [
-    '//lib:openflowj',
-    '//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',
-    '//providers/openflow/group:onos-providers-openflow-group',
-    '//providers/openflow/meter:onos-providers-openflow-meter',
-]
-
-APPS = [
-    'org.onosproject.optical-model',
-]
-
-onos_app (
-    app_name = 'org.onosproject.openflow-base',
-    title = 'OpenFlow Base Provider',
-    category = 'Provider',
-    url = 'https://wiki.onosproject.org/display/ONOS/OpenFlow',
-    description = 'Provides the base suite of device, flow and packet providers that rely on the ' +
-        'OpenFlow protocol to interact with network devices.',
-    included_bundles = BUNDLES,
-    required_apps = APPS,
-)
diff --git a/providers/openflow/device/BUCK b/providers/openflow/device/BUCK
deleted file mode 100644
index 4d9269c..0000000
--- a/providers/openflow/device/BUCK
+++ /dev/null
@@ -1,15 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:openflowj',
-    '//protocols/openflow/api:onos-protocols-openflow-api',
-    '//apps/optical-model:onos-apps-optical-model',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/providers/openflow/flow/BUCK b/providers/openflow/flow/BUCK
deleted file mode 100644
index 77af1be..0000000
--- a/providers/openflow/flow/BUCK
+++ /dev/null
@@ -1,11 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-    '//lib:openflowj',
-    '//protocols/openflow/api:onos-protocols-openflow-api',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
diff --git a/providers/openflow/group/BUCK b/providers/openflow/group/BUCK
deleted file mode 100644
index 6c3a325..0000000
--- a/providers/openflow/group/BUCK
+++ /dev/null
@@ -1,16 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-    '//lib:openflowj',
-    '//protocols/openflow/api:onos-protocols-openflow-api',
-    '//providers/openflow/flow:onos-providers-openflow-flow',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/providers/openflow/message/BUCK b/providers/openflow/message/BUCK
deleted file mode 100644
index 9abaabd..0000000
--- a/providers/openflow/message/BUCK
+++ /dev/null
@@ -1,25 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:METRICS',
-    '//lib:openflowj',
-    '//protocols/openflow/api:onos-protocols-openflow-api',
-    '//apps/cpman/api:onos-apps-cpman-api',
-]
-
-BUNDLES = [
-    '//apps/cpman/api:onos-apps-cpman-api',
-    ':onos-providers-openflow-message',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    app_name = 'org.onosproject.openflow-message',
-    title = 'Control Message Stats Provider',
-    category = 'Provider',
-    url = 'http://onosproject.org',
-    description = 'ONOS OpenFlow control message provider.',
-    included_bundles = BUNDLES,
-)
diff --git a/providers/openflow/meter/BUCK b/providers/openflow/meter/BUCK
deleted file mode 100644
index 0e94809..0000000
--- a/providers/openflow/meter/BUCK
+++ /dev/null
@@ -1,10 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-    '//lib:openflowj',
-    '//protocols/openflow/api:onos-protocols-openflow-api',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
diff --git a/providers/openflow/packet/BUCK b/providers/openflow/packet/BUCK
deleted file mode 100644
index cacd1b1..0000000
--- a/providers/openflow/packet/BUCK
+++ /dev/null
@@ -1,10 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:openflowj',
-    '//protocols/openflow/api:onos-protocols-openflow-api',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
diff --git a/providers/ospf/BUCK b/providers/ospf/BUCK
deleted file mode 100644
index 829827e..0000000
--- a/providers/ospf/BUCK
+++ /dev/null
@@ -1,16 +0,0 @@
-BUNDLES = [
-    '//protocols/ospf/api:onos-protocols-ospf-api',
-    '//protocols/ospf/ctl:onos-protocols-ospf-ctl',
-    '//protocols/ospf/protocol:onos-protocols-ospf-protocol',
-    '//providers/ospf/cfg:onos-providers-ospf-cfg',
-    '//providers/ospf/topology:onos-providers-ospf-topology',
-]
-
-onos_app (
-    title = 'OSPF Provider',
-    category = 'Provider',
-    url = 'http://onosproject.org',
-    description = 'ONOS OSPF protocol adapters.',
-    included_bundles = BUNDLES,
-)
-
diff --git a/providers/ospf/cfg/BUCK b/providers/ospf/cfg/BUCK
deleted file mode 100644
index 83c5e19..0000000
--- a/providers/ospf/cfg/BUCK
+++ /dev/null
@@ -1,10 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//protocols/ospf/api:onos-protocols-ospf-api',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
diff --git a/providers/ospf/topology/BUCK b/providers/ospf/topology/BUCK
deleted file mode 100644
index bb95985..0000000
--- a/providers/ospf/topology/BUCK
+++ /dev/null
@@ -1,16 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//protocols/ospf/api:onos-protocols-ospf-api',
-    '//protocols/ospf/ctl:onos-protocols-ospf-ctl',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//lib:JACKSON',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
diff --git a/providers/ovsdb/BUCK b/providers/ovsdb/BUCK
deleted file mode 100644
index 0f36e70..0000000
--- a/providers/ovsdb/BUCK
+++ /dev/null
@@ -1,14 +0,0 @@
-APPS = [
-    'org.onosproject.ovsdb-base',
-    'org.onosproject.ovsdbhostprovider',
-]
-
-onos_app (
-    app_name = 'org.onosproject.ovsdb',
-    title = 'OVSDB Southbound Meta',
-    category = 'Provider',
-    url = 'http://onosproject.org',
-    description = 'ONOS OVSDB southbound meta application',
-    included_bundles = [ '//utils/osgi:onlab-osgi' ],  # FIXME to allow hollow oar files
-    required_apps = APPS,
-)
diff --git a/providers/ovsdb/base/BUCK b/providers/ovsdb/base/BUCK
deleted file mode 100644
index 9261e9a..0000000
--- a/providers/ovsdb/base/BUCK
+++ /dev/null
@@ -1,17 +0,0 @@
-BUNDLES = [
-    '//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc',
-    '//protocols/ovsdb/api:onos-protocols-ovsdb-api',
-    '//protocols/ovsdb/ctl:onos-protocols-ovsdb-ctl',
-
-    '//providers/ovsdb/tunnel:onos-providers-ovsdb-tunnel',
-    '//providers/ovsdb/device:onos-providers-ovsdb-device',
-]
-
-onos_app (
-    app_name = 'org.onosproject.ovsdb-base',
-    title = 'OVSDB Provider',
-    category = 'Provider',
-    url = 'http://onosproject.org',
-    description = 'ONOS OVSDB provider.',
-    included_bundles = BUNDLES,
-)
diff --git a/providers/ovsdb/device/BUCK b/providers/ovsdb/device/BUCK
deleted file mode 100644
index 582c16e..0000000
--- a/providers/ovsdb/device/BUCK
+++ /dev/null
@@ -1,15 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//protocols/ovsdb/api:onos-protocols-ovsdb-api',
-    '//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS'
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS
-)
-
diff --git a/providers/ovsdb/host/BUCK b/providers/ovsdb/host/BUCK
deleted file mode 100644
index bdb2b28..0000000
--- a/providers/ovsdb/host/BUCK
+++ /dev/null
@@ -1,17 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//protocols/ovsdb/api:onos-protocols-ovsdb-api',
-    '//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
-
-onos_app (
-    app_name = 'org.onosproject.ovsdbhostprovider',
-    title = 'OVSDB host Provider',
-    category = 'Provider',
-    url = 'http://onosproject.org',
-    description = 'OVSDB Host provider.',
-)
diff --git a/providers/ovsdb/tunnel/BUCK b/providers/ovsdb/tunnel/BUCK
deleted file mode 100644
index 571e5ed..0000000
--- a/providers/ovsdb/tunnel/BUCK
+++ /dev/null
@@ -1,10 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//protocols/ovsdb/api:onos-protocols-ovsdb-api',
-    '//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc',
-    '//incubator/api:onos-incubator-api',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
diff --git a/providers/p4runtime/BUCK b/providers/p4runtime/BUCK
deleted file mode 100644
index 7df28a4..0000000
--- a/providers/p4runtime/BUCK
+++ /dev/null
@@ -1,17 +0,0 @@
-BUNDLES = [
-    '//providers/p4runtime/packet:onos-providers-p4runtime-packet',
-]
-
-onos_app (
-    app_name = 'org.onosproject.p4runtime',
-    title = 'P4Runtime Provider',
-    category = 'Provider',
-    url = 'http://onosproject.org',
-    included_bundles = BUNDLES,
-    description = 'P4Runtime southbound providers.',
-    required_apps = [
-        'org.onosproject.protocols.p4runtime',
-    ]
-)
-
-
diff --git a/providers/p4runtime/packet/BUCK b/providers/p4runtime/packet/BUCK
deleted file mode 100644
index 995095f..0000000
--- a/providers/p4runtime/packet/BUCK
+++ /dev/null
@@ -1,8 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//protocols/p4runtime/api:onos-protocols-p4runtime-api',
-]
-
-osgi_jar (
-    deps = COMPILE_DEPS,
-)
\ No newline at end of file
diff --git a/providers/pcep/BUCK b/providers/pcep/BUCK
deleted file mode 100644
index 0f5c1d0..0000000
--- a/providers/pcep/BUCK
+++ /dev/null
@@ -1,20 +0,0 @@
-BUNDLES = [
-    '//providers/pcep/topology:onos-providers-pcep-topology',
-    '//providers/pcep/tunnel:onos-providers-pcep-tunnel',
-    '//providers/pcep/cli:onos-providers-pcep-cli',
-    '//protocols/pcep/server/api:onos-protocols-pcep-server-api',
-    '//protocols/pcep/pcepio:onos-protocols-pcep-pcepio',
-    '//protocols/pcep/server/ctl:onos-protocols-pcep-server-ctl',
-    '//apps/pcep-api:onos-apps-pcep-api',
-    '//lib:io_netty_netty',
-]
-
-onos_app (
-    title = 'PCEP Provider',
-    category = 'Provider',
-    url = 'http://onosproject.org',
-    included_bundles = BUNDLES,
-    description = 'PCEP protocol providers root.',
-    required_apps = [ 'org.onosproject.pcep-api', 'org.onosproject.optical-model' ],
-)
-
diff --git a/providers/pcep/cli/BUCK b/providers/pcep/cli/BUCK
deleted file mode 100644
index ed68b8f..0000000
--- a/providers/pcep/cli/BUCK
+++ /dev/null
@@ -1,12 +0,0 @@
-COMPILE_DEPS = [
-  '//lib:CORE_DEPS',
-  '//incubator/api:onos-incubator-api',
-  '//protocols/pcep/server/ctl:onos-protocols-pcep-server-ctl',
-  '//protocols/pcep/server/api:onos-protocols-pcep-server-api',
-  '//lib:org.apache.karaf.shell.console',
-  '//cli:onos-cli',
-]
-
-osgi_jar_with_tests (
-  deps = COMPILE_DEPS,
-)
diff --git a/providers/pcep/topology/BUCK b/providers/pcep/topology/BUCK
deleted file mode 100644
index b3daa56..0000000
--- a/providers/pcep/topology/BUCK
+++ /dev/null
@@ -1,25 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-    '//lib:JACKSON',
-    '//incubator/api:onos-incubator-api',
-    '//protocols/ovsdb/api:onos-protocols-ovsdb-api',
-    '//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc',
-    '//apps/pcep-api:onos-apps-pcep-api',
-    '//protocols/pcep/server/api:onos-protocols-pcep-server-api',
-    '//protocols/pcep/pcepio:onos-protocols-pcep-pcepio',
-    '//core/api:onos-api-tests',
-    '//apps/optical-model:onos-apps-optical-model',
-    '//lib:io_netty_netty',
-]
-
-TEST_DEPS = [
-    '//lib:TEST',
-    '//protocols/pcep/server/api:onos-protocols-pcep-server-api-tests',
-    '//apps/pcep-api:onos-apps-pcep-api-tests',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/providers/pcep/tunnel/BUCK b/providers/pcep/tunnel/BUCK
deleted file mode 100644
index 97adbd1..0000000
--- a/providers/pcep/tunnel/BUCK
+++ /dev/null
@@ -1,25 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:NETTY',
-    '//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-protocols-pcep-pcepio',
-    '//protocols/pcep/server/api:onos-protocols-pcep-server-api',
-    '//protocols/pcep/server/ctl:onos-protocols-pcep-server-ctl',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-    '//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',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/providers/rest/BUCK b/providers/rest/BUCK
deleted file mode 100644
index b6e2e2b..0000000
--- a/providers/rest/BUCK
+++ /dev/null
@@ -1,21 +0,0 @@
-BUNDLES = [
-    '//providers/rest/device:onos-providers-rest-device',
-    '//protocols/rest/api:onos-protocols-rest-api',
-    '//protocols/rest/ctl:onos-protocols-rest-ctl',
-    '//lib:jersey-client',
-    '//lib:jersey-security',
-    '//lib:commons-io',
-    '//lib:httpclient-osgi',
-    '//lib:httpcore-osgi',
-]
-
-onos_app (
-    app_name = 'org.onosproject.restsb',
-    title = 'REST Provider',
-    category = 'Provider',
-    url = 'https://wiki.onosproject.org/display/ONOS/REST',
-    included_bundles = BUNDLES,
-    description = 'Provides means for ONOS to discover the existence of a REST API enabled device ' +
-        'or proxy for multiple devices from information given by network configuration.',
-)
-
diff --git a/providers/rest/device/BUCK b/providers/rest/device/BUCK
deleted file mode 100644
index d84b307..0000000
--- a/providers/rest/device/BUCK
+++ /dev/null
@@ -1,14 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//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',
-    '//lib:javax.ws.rs-api',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
diff --git a/providers/snmp/BUCK b/providers/snmp/BUCK
deleted file mode 100644
index 598515d..0000000
--- a/providers/snmp/BUCK
+++ /dev/null
@@ -1,21 +0,0 @@
-BUNDLES = [
-  '//providers/snmp/device:onos-providers-snmp-device',
-  '//providers/snmp/alarm:onos-providers-snmp-alarm',
-  '//protocols/snmp/api:onos-protocols-snmp-api',
-  '//protocols/snmp/ctl:onos-protocols-snmp-ctl',
-  '//lib:org.apache.servicemix.bundles.snmp4j',
-  '//lib:mibs-rfc',
-  '//lib:snmp-core',
-  '//lib:mibs-net-snmp',
-]
-
-onos_app (
-    app_name = 'org.onosproject.snmp',
-    title = 'SNMP Provider',
-    category = 'Provider',
-    url = 'https://wiki.onosproject.org/display/ONOS/SNMP',
-    included_bundles = BUNDLES,
-    description = 'Provides means for ONOS to discover and trigger the initial handshake procedure ' +
-        'with SNMP enabled devices from information given by network configuration.',
-    required_apps = [ 'org.onosproject.faultmanagement'],
-)
diff --git a/providers/snmp/alarm/BUCK b/providers/snmp/alarm/BUCK
deleted file mode 100644
index a5f0c4b..0000000
--- a/providers/snmp/alarm/BUCK
+++ /dev/null
@@ -1,13 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//incubator/api:onos-incubator-api',
-    '//protocols/snmp/api:onos-protocols-snmp-api',
-    '//protocols/snmp/ctl:onos-protocols-snmp-ctl',
-    '//providers/snmp/device:onos-providers-snmp-device',
-    '//lib:org.apache.servicemix.bundles.snmp4j',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-)
diff --git a/providers/snmp/device/BUCK b/providers/snmp/device/BUCK
deleted file mode 100644
index 317784e..0000000
--- a/providers/snmp/device/BUCK
+++ /dev/null
@@ -1,21 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:org.apache.servicemix.bundles.snmp4j',
-    '//lib:snmp-core',
-    '//lib:mibs-net-snmp',
-    '//lib:mibs-rfc',
-    '//incubator/api:onos-incubator-api',
-    '//protocols/snmp/api:onos-protocols-snmp-api',
-    '//protocols/snmp/ctl:onos-protocols-snmp-ctl',
-]
-
-TEST_DEPS = [
-    '//lib:TEST',
-    '//core/api:onos-api-tests',
-]
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
diff --git a/providers/tl1/BUCK b/providers/tl1/BUCK
deleted file mode 100644
index 0ccb0ad..0000000
--- a/providers/tl1/BUCK
+++ /dev/null
@@ -1,15 +0,0 @@
-BUNDLES = [
-    '//providers/tl1/device:onos-providers-tl1-device',
-    '//protocols/tl1/api:onos-protocols-tl1-api',
-    '//protocols/tl1/ctl:onos-protocols-tl1-ctl',
-]
-
-onos_app (
-    app_name = 'org.onosproject.tl1',
-    title = 'TL1 Provider',
-    category = 'Provider',
-    url = 'https://wiki.onosproject.org/display/ONOS/TL1',
-    included_bundles = BUNDLES,
-    description = 'Provides means for ONOS to discover and trigger the initial handshake procedure ' +
-        'with TL1 enable devices from information given by network configuration.',
-)
diff --git a/providers/tl1/device/BUCK b/providers/tl1/device/BUCK
deleted file mode 100644
index 988bfb0..0000000
--- a/providers/tl1/device/BUCK
+++ /dev/null
@@ -1,15 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//incubator/api:onos-incubator-api',
-    '//protocols/tl1/api:onos-protocols-tl1-api',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
diff --git a/providers/xmpp/device/BUCK b/providers/xmpp/device/BUCK
deleted file mode 100644
index 265d928..0000000
--- a/providers/xmpp/device/BUCK
+++ /dev/null
@@ -1,26 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:tinder-xmpp',
-    '//protocols/xmpp/core/api:onos-protocols-xmpp-core-api',
-    '//protocols/xmpp/core/ctl:onos-protocols-xmpp-core-ctl',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_ADAPTERS',
-]
-
-osgi_jar_with_tests (
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-)
-
-onos_app (
-    app_name = 'org.onosproject.xmpp.device',
-    title = 'XMPP Device Provider',
-    category = 'Provider',
-    url = 'https://wiki.onosproject.org/display/ONOS/XMPP+as+SBI',
-    description = 'XMPP protocol southbound provider.',
-    required_apps = [
-        'org.onosproject.protocols.xmpp',
-    ]
-)
\ No newline at end of file
diff --git a/tools/build/bazel/generate_workspace.bzl b/tools/build/bazel/generate_workspace.bzl
index 8be53fe..057ab80 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 Tue, 23 Oct 2018 17:46:21 GMT. Do not edit this file manually. *****
+# ***** This file was auto-generated at Wed, 24 Oct 2018 19:26:57 GMT. Do not edit this file manually. *****
 # ***** Use onos-lib-gen *****
 
 load("//tools/build/bazel:variables.bzl", "ONOS_GROUP_ID", "ONOS_VERSION")
@@ -1015,9 +1015,9 @@
     if "apache_karaf" not in native.existing_rules():
         java_import_external(
             name = "apache_karaf",
-            jar_sha256 = "ec317bf64c60d81fb17b666fb1c44496e138b8b2e2ffc094e1bae5eedaa9acaa",
+            jar_sha256 = "2c43a844046ea7accbe4e673838b855d438c3f9077e6a900875b267c8c1cd92c",
             licenses = ["notice"],
-            jar_urls = ["http://repo1.maven.org/maven2/org/onosproject/apache-karaf-offline/4.2.1-base/apache-karaf-offline-4.2.1-base.tar.gz"],        )
+            jar_urls = ["http://repo1.maven.org/maven2/org/onosproject/apache-karaf-offline/4.2.1-20181024/apache-karaf-offline-4.2.1-20181024.tar.gz"],        )
     if "bndlib" not in native.existing_rules():
         java_import_external(
             name = "bndlib",
@@ -1566,7 +1566,7 @@
 artifact_map["@typesafe_config//:typesafe_config"] = "mvn:com.typesafe:config:jar:1.3.2"
 artifact_map["@validation_api//:validation_api"] = "mvn:javax.validation:validation-api:jar:1.1.0.Final"
 artifact_map["@checkstyle//:checkstyle"] = "mvn:com.puppycrawl.tools:checkstyle:jar:NON-OSGI:8.10"
-artifact_map["@apache_karaf//:apache_karaf"] = "http://repo1.maven.org/maven2/org/onosproject/apache-karaf-offline/4.2.1-base/apache-karaf-offline-4.2.1-base.tar.gz"
+artifact_map["@apache_karaf//:apache_karaf"] = "http://repo1.maven.org/maven2/org/onosproject/apache-karaf-offline/4.2.1-20181024/apache-karaf-offline-4.2.1-20181024.tar.gz"
 artifact_map["@bndlib//:bndlib"] = "mvn:biz.aQute.bnd:biz.aQute.bndlib:jar:4.0.0"
 artifact_map["@bndexe//:bndexe"] = "mvn:biz.aQute.bnd:biz.aQute.bnd:jar:4.0.0"
 artifact_map["@libthrift//:libthrift"] = "mvn:org.apache.thrift:libthrift:jar:0.11.0"
diff --git a/tools/build/bazel/osgi_java_library.bzl b/tools/build/bazel/osgi_java_library.bzl
index b3497c2..e5065f7 100644
--- a/tools/build/bazel/osgi_java_library.bzl
+++ b/tools/build/bazel/osgi_java_library.bzl
@@ -320,7 +320,7 @@
             executable = True,
             cfg = "host",
             allow_files = True,
-            default = Label("//tools/build/buck-plugin:swagger_generator"),
+            default = Label("//tools/build/swagger:swagger_generator"),
         ),
         "swagger_java": attr.output(),
     },
@@ -344,7 +344,7 @@
             executable = True,
             cfg = "host",
             allow_files = True,
-            default = Label("//tools/build/buck-plugin:swagger_generator"),
+            default = Label("//tools/build/swagger:swagger_generator"),
         ),
         "swagger_json": attr.output(),
     },
diff --git a/tools/build/buck-plugin/BUCK b/tools/build/buck-plugin/BUCK
deleted file mode 100644
index 8593941..0000000
--- a/tools/build/buck-plugin/BUCK
+++ /dev/null
@@ -1,46 +0,0 @@
-# Comment the remote_jar out for local buck development
-remote_jar (
-  name = 'buck-api',
-  out = 'buck.jar',
-  url = 'https://oss.sonatype.org/content/repositories/snapshots/org/onosproject/buck-api/0.1-SNAPSHOT/buck-api-0.1-20161113.012708-6.jar',
-  sha1 = 'da823563b03964eafc9ff76cd721b9253ae473a1',
-  visibility = [],
-)
-
-# Uncomment the prebuilt_jar and copy buck-api to lib/buck.jar for local buck development
-# prebuilt_jar (
-#  name = 'buck-api',
-#  binary_jar = 'lib/buck.jar'
-# )
-
-# Use buck's guava version - 19.0
-remote_jar (
-  name = 'guava',
-  out = 'guava-19.0.jar',
-  url = 'mvn:com.google.guava:guava:jar:19.0',
-  sha1 = '6ce200f6b23222af3d8abb6b6459e6c44f4bb0e9',
-  maven_coords = 'com.google.guava:guava:19.0',
-)
-
-COMPILE = [
-  '//lib:qdox',
-  ':guava',
-  '//lib:bndlib',
-  '//lib:org.apache.felix.scr.bnd'
-]
-
-java_library(
-  name = 'lib',
-  srcs = glob(['src/main/java/**/*.java']),
-  resources = glob(['src/main/resources/**/*']),
-  resources_root = 'src/main/resources',
-  deps = COMPILE,
-  provided_deps = [':buck-api'],
-  visibility = [],
-)
-
-java_binary(
-  name = 'onos',
-  deps = [':lib'],
-  visibility = ['PUBLIC'],
-)
diff --git a/tools/build/buck-plugin/BUILD b/tools/build/buck-plugin/BUILD
deleted file mode 100644
index e8d2c21..0000000
--- a/tools/build/buck-plugin/BUILD
+++ /dev/null
@@ -1,16 +0,0 @@
-SWAGGER_EXECUTABLE = "swagger_generator"
-
-COMPILE_DEPS = JACKSON + [
-    "@com_google_guava_guava//jar",
-    "@qdox//jar",
-    "@org_apache_felix_scr_bnd//jar",
-]
-
-java_binary(
-    name = SWAGGER_EXECUTABLE,
-    srcs = glob(["src/main/java/org/onosproject/onosjar/SwaggerGenerator.java"]),
-    main_class = "org.onosproject.onosjar.SwaggerGenerator",
-    resources = glob(["src/main/resources/registrator.javat"]),
-    visibility = ["//visibility:public"],
-    deps = COMPILE_DEPS,
-)
diff --git a/tools/build/buck-plugin/buck-plugin-install b/tools/build/buck-plugin/buck-plugin-install
deleted file mode 100755
index 15cf0e6..0000000
--- a/tools/build/buck-plugin/buck-plugin-install
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/bash
-
-PLUGINS=$ONOS_ROOT/bin/plugins
-
-set -e
-
-# Build it first
-pluginJar=$(NO_BUCKD=1 onos-buck build //tools/build/buck-plugin:onos --no-cache --show-output | grep onos.jar | cut -d\  -f2)
-
-# Then install it
-mkdir -p $PLUGINS
-cp $ONOS_ROOT/$pluginJar $PLUGINS
-
-ls -l $PLUGINS
diff --git a/tools/build/buck-plugin/buck-plugin-test b/tools/build/buck-plugin/buck-plugin-test
deleted file mode 100755
index cb8fd76..0000000
--- a/tools/build/buck-plugin/buck-plugin-test
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/bash
-
-NO_BUCKD=1 onos-buck build //apps/dhcp/app:onos-apps-dhcp-app --no-cache --show-output
diff --git a/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/OSGiWrapper.java b/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/OSGiWrapper.java
deleted file mode 100644
index 86c6938..0000000
--- a/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/OSGiWrapper.java
+++ /dev/null
@@ -1,496 +0,0 @@
-/*
- * Copyright 2016-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.
- */
-
-package org.onosproject.onosjar;
-
-import aQute.bnd.header.Attrs;
-import aQute.bnd.header.Parameters;
-import aQute.bnd.osgi.Analyzer;
-import aQute.bnd.osgi.Builder;
-import aQute.bnd.osgi.Constants;
-import aQute.bnd.osgi.Descriptors;
-import aQute.bnd.osgi.FileResource;
-import aQute.bnd.osgi.Jar;
-import aQute.bnd.osgi.Packages;
-import aQute.bnd.osgi.Processor;
-import aQute.bnd.osgi.Resource;
-import com.facebook.buck.step.ExecutionContext;
-import com.facebook.buck.step.Step;
-import com.facebook.buck.step.StepExecutionResult;
-import com.google.common.base.MoreObjects;
-import com.google.common.base.Strings;
-import com.google.common.collect.ImmutableSortedSet;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
-import org.apache.felix.scrplugin.bnd.SCRDescriptorBndPlugin;
-import org.codehaus.plexus.util.DirectoryScanner;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.PrintStream;
-import java.nio.file.FileVisitResult;
-import java.nio.file.FileVisitor;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.nio.file.SimpleFileVisitor;
-import java.nio.file.attribute.BasicFileAttributes;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.jar.Manifest;
-import java.util.stream.Collectors;
-
-import static java.nio.file.Files.walkFileTree;
-
-/**
- * BND-based wrapper to convert Buck JARs to OSGi-compatible JARs.
- */
-public class OSGiWrapper implements Step {
-
-    private static final String EMBED_DEPENDENCY = "Embed-Dependency";
-    private static final String EMBEDDED_ARTIFACTS = "Embedded-Artifacts";
-
-    private Path inputJar;
-    private Path outputJar;
-    private Path sourcesDir;
-    private Path classesDir;
-    private List<String> classpath;
-
-    private String bundleName;
-    private String groupId;
-    private String bundleSymbolicName;
-    private String bundleVersion;
-
-    private String importPackages;
-    private String privatePackages;
-    private String dynamicimportPackages;
-    private String embeddedDependencies;
-
-    private String exportPackages;
-    private String includeResources;
-    private Set<String> includedResources = Sets.newHashSet();
-
-    private String bundleDescription;
-    private String bundleLicense;
-
-    private String bundleClasspath;
-
-    private String webContext;
-
-    private PrintStream stderr = System.err;
-
-    public OSGiWrapper(Path inputJar,
-                       Path outputJar,
-                       Path sourcesDir,
-                       Path classesDir,
-                       ImmutableSortedSet<Path> classpath,
-                       String bundleName,
-                       String groupId,
-                       String bundleVersion,
-                       String bundleLicense,
-                       String importPackages,
-                       String exportPackages,
-                       String includeResources,
-                       String webContext,
-                       String dynamicimportPackages,
-                       String embeddedDependencies,
-                       String bundleDescription,
-                       String privatePackages,
-                       String bundleClasspath) {
-        this.inputJar = inputJar;
-        this.sourcesDir = sourcesDir;
-        this.classesDir = classesDir;
-        this.classpath = Lists.newArrayList(
-                classpath.stream().map(Path::toString).collect(Collectors.toList()));
-        if (!this.classpath.contains(inputJar.toString())) {
-            this.classpath.add(0, inputJar.toString());
-        }
-        this.outputJar = outputJar;
-
-        this.bundleName = bundleName;
-        this.groupId = groupId;
-        this.bundleSymbolicName = String.format("%s.%s", groupId, bundleName);
-
-        this.bundleVersion = bundleVersion;
-        this.bundleLicense = bundleLicense;
-        this.bundleDescription = bundleDescription;
-
-        this.importPackages = importPackages;
-        this.privatePackages = privatePackages;
-        this.dynamicimportPackages = dynamicimportPackages;
-        this.embeddedDependencies = embeddedDependencies;
-        this.exportPackages = exportPackages;
-        this.includeResources = includeResources;
-
-        this.webContext = webContext;
-
-        this.bundleClasspath = bundleClasspath;
-    }
-
-    private void setProperties(Analyzer analyzer) {
-
-        analyzer.setProperty(Analyzer.BUNDLE_NAME, bundleName);
-        analyzer.setProperty(Analyzer.BUNDLE_SYMBOLICNAME, bundleSymbolicName);
-        analyzer.setProperty(Analyzer.BUNDLE_VERSION, bundleVersion.replace('-', '.'));
-
-        if (bundleDescription != null) {
-            analyzer.setProperty(Analyzer.BUNDLE_DESCRIPTION, bundleDescription);
-        }
-        if (bundleLicense != null) {
-            analyzer.setProperty(Analyzer.BUNDLE_LICENSE, bundleLicense);
-        }
-
-        //TODO consider using stricter version policy
-        //analyzer.setProperty("-provider-policy", "${range;[===,==+)}");
-        //analyzer.setProperty("-consumer-policy", "${range;[===,==+)}");
-
-        if (privatePackages != null) {
-            analyzer.setProperty(Analyzer.PRIVATE_PACKAGE, privatePackages);
-        }
-        analyzer.setProperty(Analyzer.REMOVEHEADERS, "Private-Package,Include-Resource");
-
-        analyzer.setProperty(Analyzer.DYNAMICIMPORT_PACKAGE,
-                             dynamicimportPackages);
-
-        // TODO include version in export, but not in import
-        analyzer.setProperty(Analyzer.EXPORT_PACKAGE, exportPackages);
-
-        // TODO we may need INCLUDE_RESOURCE, or that might be done by Buck
-        // FIXME NOTE we handle this manually below
-        if (includeResources != null) {
-            analyzer.setProperty(Analyzer.INCLUDE_RESOURCE, includeResources);
-        }
-
-        if (embeddedDependencies != null) {
-            analyzer.setProperty(EMBED_DEPENDENCY, embeddedDependencies);
-        }
-
-        // There are no good defaults so make sure you set the Import-Package
-        analyzer.setProperty(Analyzer.IMPORT_PACKAGE, importPackages);
-
-        if (isWab()) {
-            analyzer.setProperty(Analyzer.WAB, "src/main/webapp/");
-            analyzer.setProperty("Web-ContextPath", webContext);
-            analyzer.setProperty(Analyzer.IMPORT_PACKAGE, importPackages +
-                    ",org.glassfish.jersey.servlet,org.jvnet.mimepull\n");
-        }
-    }
-
-    public boolean execute() {
-        Builder analyzer = new Builder();
-        try {
-
-            Jar jar = new Jar(inputJar.toFile());   // where our data is
-            analyzer.setJar(jar);                   // give bnd the contents
-
-            // You can provide additional class path entries to allow
-            // bnd to pickup export version from the packageinfo file,
-            // Version annotation, or their manifests.
-            analyzer.addClasspath(classpath);
-
-            setProperties(analyzer);
-
-            // Analyze the target JAR first
-            analyzer.analyze();
-
-            // Scan the JAR for Felix SCR annotations and generate XML files
-            Map<String, String> properties = Maps.newHashMap();
-            properties.put("destdir", classesDir.toAbsolutePath().toString());
-            SCRDescriptorBndPlugin scrDescriptorBndPlugin = new SCRDescriptorBndPlugin();
-            scrDescriptorBndPlugin.setProperties(properties);
-            scrDescriptorBndPlugin.setReporter(analyzer);
-            scrDescriptorBndPlugin.analyzeJar(analyzer);
-
-            //Add local packges to jar file.
-            //FIXME removing this call for now; not sure what exactly it's doing
-            //addLocalPackages(new File(classesDir.toString()), analyzer);
-
-            //add resources.
-            if (includeResources != null || embeddedDependencies != null) {
-                doIncludeResources(analyzer);
-            }
-
-            // Repack the JAR as a WAR
-            doWabStaging(analyzer);
-
-            // Calculate the manifest
-            Manifest manifest = analyzer.calcManifest();
-
-            //Build the jar files
-            //FIXME this call conflicts with some of the above
-//            analyzer.build();
-
-            if (analyzer.isOk()) {
-                //add calculated manifest file.
-                analyzer.getJar().setManifest(manifest);
-                if (analyzer.save(outputJar.toFile(), true)) {
-                    log("Saved!\n");
-                } else {
-                    warn("Failed to create jar \n");
-                    return false;
-                }
-            } else {
-                warn("Analyzer Errors:\n%s\n", analyzer.getErrors());
-                return false;
-            }
-
-            analyzer.close();
-
-            return true;
-        } catch (Exception e) {
-            e.printStackTrace();
-            return false;
-        }
-    }
-
-    private static void addLocalPackages(File outputDirectory, Analyzer analyzer) throws IOException {
-        Packages packages = new Packages();
-
-        if (outputDirectory != null && outputDirectory.isDirectory()) {
-            // scan classes directory for potential packages
-            DirectoryScanner scanner = new DirectoryScanner();
-            scanner.setBasedir(outputDirectory);
-            scanner.setIncludes(new String[]
-                                        {"**/*.class"});
-
-            scanner.addDefaultExcludes();
-            scanner.scan();
-
-            String[] paths = scanner.getIncludedFiles();
-            for (int i = 0; i < paths.length; i++) {
-                packages.put(analyzer.getPackageRef(getPackageName(paths[i])));
-            }
-        }
-
-        Packages exportedPkgs = new Packages();
-        Packages privatePkgs = new Packages();
-
-        boolean noprivatePackages = "!*".equals(analyzer.getProperty(Analyzer.PRIVATE_PACKAGE));
-
-        for (Descriptors.PackageRef pkg : packages.keySet()) {
-            // mark all source packages as private by default (can be overridden by export list)
-            privatePkgs.put(pkg);
-
-            // we can't export the default package (".") and we shouldn't export internal packages
-            String fqn = pkg.getFQN();
-            if (noprivatePackages || !(".".equals(fqn) || fqn.contains(".internal") || fqn.contains(".impl"))) {
-                exportedPkgs.put(pkg);
-            }
-        }
-
-        Properties properties = analyzer.getProperties();
-        String exported = properties.getProperty(Analyzer.EXPORT_PACKAGE);
-        if (exported == null) {
-            if (!properties.containsKey(Analyzer.EXPORT_CONTENTS)) {
-                // no -exportcontents overriding the exports, so use our computed list
-                for (Attrs attrs : exportedPkgs.values()) {
-                    attrs.put(Constants.SPLIT_PACKAGE_DIRECTIVE, "merge-first");
-                }
-                properties.setProperty(Analyzer.EXPORT_PACKAGE, Processor.printClauses(exportedPkgs));
-            } else {
-                // leave Export-Package empty (but non-null) as we have -exportcontents
-                properties.setProperty(Analyzer.EXPORT_PACKAGE, "");
-            }
-        }
-
-        String internal = properties.getProperty(Analyzer.PRIVATE_PACKAGE);
-        if (internal == null) {
-            if (!privatePkgs.isEmpty()) {
-                for (Attrs attrs : privatePkgs.values()) {
-                    attrs.put(Constants.SPLIT_PACKAGE_DIRECTIVE, "merge-first");
-                }
-                properties.setProperty(Analyzer.PRIVATE_PACKAGE, Processor.printClauses(privatePkgs));
-            } else {
-                // if there are really no private packages then use "!*" as this will keep the Bnd Tool happy
-                properties.setProperty(Analyzer.PRIVATE_PACKAGE, "!*");
-            }
-        }
-    }
-
-    private static String getPackageName(String filename) {
-        int n = filename.lastIndexOf(File.separatorChar);
-        return n < 0 ? "." : filename.substring(0, n).replace(File.separatorChar, '.');
-    }
-
-    private boolean isWab() {
-        return webContext != null;
-    }
-
-    private void doWabStaging(Analyzer analyzer) throws Exception {
-        if (!isWab()) {
-            return;
-        }
-        String wab = analyzer.getProperty(analyzer.WAB);
-        Jar dot = analyzer.getJar();
-
-        log("wab %s", wab);
-
-        if (bundleClasspath != null) {
-            analyzer.setBundleClasspath("WEB-INF/classes," + bundleClasspath);
-        }
-
-        Set<String> paths = new HashSet<>(dot.getResources().keySet());
-
-        for (String path : paths) {
-            if (path.indexOf('/') > 0 && !Character.isUpperCase(path.charAt(0))) {
-                log("wab: moving: %s", path);
-                dot.rename(path, "WEB-INF/classes/" + path);
-            }
-        }
-
-        Path wabRoot = Paths.get(wab);
-        includeFiles(dot, null, wabRoot.toString());
-    }
-
-    /**
-     * Parse the Bundle-Includes header. Files in the bundles Include header are
-     * included in the jar. The source can be a directory or a file.
-     *
-     * @throws Exception
-     */
-    private void doIncludeResources(Analyzer analyzer) throws Exception {
-        String includes = analyzer.getProperty(Analyzer.INCLUDE_RESOURCE);
-        if (includes == null) {
-            return;
-        }
-        Parameters clauses = analyzer.parseHeader(includes);
-        Jar jar = analyzer.getJar();
-
-        for (Map.Entry<String, Attrs> entry : clauses.entrySet()) {
-            String name = entry.getKey();
-            Map<String, String> extra = entry.getValue();
-            // TODO consider doing something with extras
-
-            String[] parts = name.split("\\s*=\\s*");
-            String source = parts[0];
-            String destination = parts[0];
-            if (parts.length == 2) {
-                source = parts[1];
-            }
-
-            includeFiles(jar, destination, source);
-        }
-    }
-
-    private void includeFiles(Jar jar, String destinationRoot, String sourceRoot)
-            throws IOException {
-
-        Path classesBasedPath = classesDir.resolve(sourceRoot);
-        Path sourceBasedPath = sourcesDir.resolve(sourceRoot);
-
-        File classFile = classesBasedPath.toFile();
-        File sourceFile = sourceBasedPath.toFile();
-
-        if (classFile.isFile()) {
-            addFileToJar(jar, destinationRoot, classesBasedPath.toAbsolutePath().toString());
-        } else if (sourceFile.isFile()) {
-            addFileToJar(jar, destinationRoot, sourceBasedPath.toAbsolutePath().toString());
-        } else if (classFile.isDirectory()) {
-            includeDirectory(jar, destinationRoot, classesBasedPath);
-        } else if (sourceFile.isDirectory()) {
-            includeDirectory(jar, destinationRoot, sourceBasedPath);
-        } else {
-            warn("Skipping resource in bundle %s: %s (File Not Found)\n",
-                 bundleSymbolicName, sourceRoot);
-        }
-    }
-
-    private void includeDirectory(Jar jar, String destinationRoot, Path sourceRoot)
-            throws IOException {
-        // iterate through sources
-        // put each source on the jar
-        FileVisitor<Path> visitor = new SimpleFileVisitor<Path>() {
-            @Override
-            public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
-                Path relativePath = sourceRoot.relativize(file);
-                String destination = destinationRoot != null ?
-                        destinationRoot + "/" + relativePath.toString() : //TODO
-                        relativePath.toString();
-
-                addFileToJar(jar, destination, file.toAbsolutePath().toString());
-                return FileVisitResult.CONTINUE;
-            }
-        };
-
-        walkFileTree(sourceRoot, visitor);
-    }
-
-    private boolean addFileToJar(Jar jar, String destination, String sourceAbsPath) {
-        if (includedResources.contains(sourceAbsPath)) {
-            log("Skipping already included resource: %s\n", sourceAbsPath);
-            return false;
-        }
-        File file = new File(sourceAbsPath);
-        if (!file.isFile()) {
-            throw new RuntimeException(
-                    String.format("Skipping non-existent file: %s\n", sourceAbsPath));
-        }
-        Resource resource = new FileResource(file);
-        if (jar.getResource(destination) != null) {
-            warn("Skipping duplicate resource: %s\n", destination);
-            return false;
-        }
-        jar.putResource(destination, resource);
-        includedResources.add(sourceAbsPath);
-        log("Adding resource: %s\n", destination);
-        return true;
-    }
-
-    private void log(String format, Object... objects) {
-        //System.err.printf(format, objects);
-    }
-
-    private void warn(String format, Object... objects) {
-        stderr.printf(format, objects);
-    }
-
-    @Override
-    public String toString() {
-        return MoreObjects.toStringHelper(this)
-                .add("inputJar", inputJar)
-                .add("outputJar", outputJar)
-                .add("classpath", classpath)
-                .add("bundleName", bundleName)
-                .add("groupId", groupId)
-                .add("bundleSymbolicName", bundleSymbolicName)
-                .add("bundleVersion", bundleVersion)
-                .add("bundleDescription", bundleDescription)
-                .add("bundleLicense", bundleLicense)
-                .toString();
-    }
-
-    @Override
-    public StepExecutionResult execute(ExecutionContext executionContext)
-            throws IOException, InterruptedException {
-        stderr = executionContext.getStdErr();
-        boolean success = execute();
-        stderr = System.err;
-        return success ? StepExecutionResult.SUCCESS : StepExecutionResult.ERROR;
-    }
-
-    @Override
-    public String getShortName() {
-        return "osgiwrap";
-    }
-
-    @Override
-    public String getDescription(ExecutionContext executionContext) {
-        return "osgiwrap"; //FIXME
-    }
-}
diff --git a/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/OnosJar.java b/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/OnosJar.java
deleted file mode 100644
index b9ec3d6..0000000
--- a/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/OnosJar.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Copyright 2016-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.
- */
-package org.onosproject.onosjar;
-
-import com.facebook.buck.jvm.java.CompileToJarStepFactory;
-import com.facebook.buck.jvm.java.DefaultJavaLibrary;
-import com.facebook.buck.jvm.java.HasMavenCoordinates;
-import com.facebook.buck.jvm.java.JavaLibrary;
-import com.facebook.buck.jvm.java.MavenPublishable;
-import com.facebook.buck.model.BuildTarget;
-import com.facebook.buck.rules.AddToRuleKey;
-import com.facebook.buck.rules.BuildRule;
-import com.facebook.buck.rules.BuildRuleParams;
-import com.facebook.buck.rules.SourcePath;
-import com.facebook.buck.rules.SourcePathResolver;
-import com.google.common.base.Optional;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.ImmutableSortedMap;
-import com.google.common.collect.ImmutableSortedSet;
-
-import java.io.IOException;
-import java.math.BigInteger;
-import java.net.URL;
-import java.nio.file.Path;
-import java.security.DigestInputStream;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.util.Set;
-import java.util.regex.Pattern;
-
-/**
- * Implementation of a build rule that generates a onosjar.json file for a set
- * of Java sources.
- */
-public class OnosJar extends DefaultJavaLibrary
-        implements MavenPublishable{
-
-    // Inject the SHA of this rule's jar into the rule key
-    private static String RULE_VERSION;
-    static {
-        URL pluginJarLocation = OnosJar.class.getProtectionDomain().getCodeSource().getLocation();
-        try {
-            MessageDigest md = MessageDigest.getInstance("SHA");
-            DigestInputStream dis = new DigestInputStream(pluginJarLocation.openStream(), md);
-            // Consume the InputStream...
-            while (dis.read() != -1);
-            RULE_VERSION = String.format("%032x", new BigInteger(1, md.digest()));
-        } catch (NoSuchAlgorithmException | IOException e) {
-            System.err.println("Failed to compute hash for OnosJar rule");
-            RULE_VERSION = "nil";
-            //TODO consider bailing here instead
-        }
-    }
-    @AddToRuleKey
-    private final String ruleVersion = RULE_VERSION;
-
-    @AddToRuleKey
-    final Optional<String> webContext;
-
-    @AddToRuleKey
-    final Optional<String> apiTitle;
-
-    @AddToRuleKey
-    final Optional<String> apiVersion;
-
-    @AddToRuleKey
-    final Optional<String> apiPackage;
-
-    @AddToRuleKey
-    final Optional<String> apiDescription;
-
-    @AddToRuleKey
-    final Optional<ImmutableSortedMap<String, SourcePath>> includedResources;
-
-    private final ImmutableSortedSet<HasMavenCoordinates> mavenDeps;
-
-    public OnosJar(BuildRuleParams params,
-                   SourcePathResolver resolver,
-                   Set<? extends SourcePath> srcs,
-                   Set<? extends SourcePath> resources,
-                   Optional<Path> generatedSourceFolder,
-                   Optional<SourcePath> proguardConfig,
-                   ImmutableList<String> postprocessClassesCommands,
-                   ImmutableSortedSet<BuildRule> exportedDeps,
-                   ImmutableSortedSet<BuildRule> providedDeps,
-                   SourcePath abiJar, boolean trackClassUsage,
-                   ImmutableSet<Path> additionalClasspathEntries,
-                   CompileToJarStepFactory compileStepFactory,
-                   Optional<Path> resourcesRoot,
-                   Optional<SourcePath> manifestFile,
-                   Optional<String> mavenCoords,
-                   ImmutableSortedSet<BuildTarget> tests,
-                   ImmutableSet<Pattern> classesToRemoveFromJar,
-                   Optional<String> webContext,
-                   Optional<String> apiTitle,
-                   Optional<String> apiVersion,
-                   Optional<String> apiPackage,
-                   Optional<String> apiDescription,
-                   Optional<ImmutableSortedMap<String, SourcePath>> includedResources) {
-        super(params, resolver, srcs, resources, generatedSourceFolder,
-              proguardConfig, postprocessClassesCommands, exportedDeps,
-              providedDeps, abiJar, trackClassUsage, additionalClasspathEntries,
-              compileStepFactory, resourcesRoot, manifestFile, mavenCoords,
-              tests, classesToRemoveFromJar);
-        this.webContext = webContext;
-        this.apiTitle = apiTitle;
-        this.apiVersion = apiVersion;
-        this.apiPackage = apiPackage;
-        this.apiDescription = apiDescription;
-        this.includedResources = includedResources;
-        this.mavenDeps = computeMavenDeps();
-    }
-
-    private ImmutableSortedSet<HasMavenCoordinates> computeMavenDeps() {
-        ImmutableSortedSet.Builder<HasMavenCoordinates> mavenDeps = ImmutableSortedSet.naturalOrder();
-        for (JavaLibrary javaLibrary : getTransitiveClasspathDeps()) {
-            if (this.equals(javaLibrary)) {
-                // no need to include ourself
-                continue;
-            } else if (HasMavenCoordinates.MAVEN_COORDS_PRESENT_PREDICATE.apply(javaLibrary)) {
-                mavenDeps.add(javaLibrary);
-                //FIXME BOC do we always want to exclude all of a maven jar's dependencies? probably.
-                mavenDeps.addAll(javaLibrary.getTransitiveClasspathDeps());
-            }
-        }
-        return mavenDeps.build();
-    }
-
-    @Override
-    public Iterable<HasMavenCoordinates> getMavenDeps() {
-        return mavenDeps;
-    }
-
-    @Override
-    public Iterable<BuildRule> getPackagedDependencies() {
-        //FIXME this is not supported at the moment
-        return ImmutableList.of();
-    }
-
-    @Override
-    public Optional<Path> getPomTemplate() {
-        //FIXME we should consider supporting this
-        return Optional.absent();
-    }
-}
diff --git a/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/OnosJarDescription.java b/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/OnosJarDescription.java
deleted file mode 100644
index 3f27760..0000000
--- a/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/OnosJarDescription.java
+++ /dev/null
@@ -1,335 +0,0 @@
-/*
- * Copyright 2016-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.
- */
-package org.onosproject.onosjar;
-
-import com.facebook.buck.cli.BuckConfig;
-import com.facebook.buck.jvm.java.CalculateAbi;
-import com.facebook.buck.jvm.java.DefaultJavaLibrary;
-import com.facebook.buck.jvm.java.JavaBuckConfig;
-import com.facebook.buck.jvm.java.JavaLibrary;
-import com.facebook.buck.jvm.java.JavaLibraryDescription;
-import com.facebook.buck.jvm.java.JavaOptions;
-import com.facebook.buck.jvm.java.JavaSourceJar;
-import com.facebook.buck.jvm.java.JavacOptions;
-import com.facebook.buck.jvm.java.JavacOptionsAmender;
-import com.facebook.buck.jvm.java.JavacOptionsFactory;
-import com.facebook.buck.jvm.java.JavacToJarStepFactory;
-import com.facebook.buck.jvm.java.JavadocJar;
-import com.facebook.buck.jvm.java.MavenUberJar;
-import com.facebook.buck.maven.AetherUtil;
-import com.facebook.buck.model.BuildTarget;
-import com.facebook.buck.model.Flavor;
-import com.facebook.buck.model.Flavored;
-import com.facebook.buck.model.ImmutableFlavor;
-import com.facebook.buck.parser.NoSuchBuildTargetException;
-import com.facebook.buck.rules.BuildRule;
-import com.facebook.buck.rules.BuildRuleParams;
-import com.facebook.buck.rules.BuildRuleResolver;
-import com.facebook.buck.rules.BuildRuleType;
-import com.facebook.buck.rules.BuildRules;
-import com.facebook.buck.rules.BuildTargetSourcePath;
-import com.facebook.buck.rules.Description;
-import com.facebook.buck.rules.SourcePath;
-import com.facebook.buck.rules.SourcePathResolver;
-import com.facebook.buck.rules.SourcePaths;
-import com.facebook.buck.rules.TargetGraph;
-import com.google.common.base.Function;
-import com.google.common.base.Optional;
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.ImmutableSortedMap;
-import com.google.common.collect.ImmutableSortedSet;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
-
-import java.nio.file.Path;
-import java.util.List;
-
-import static com.facebook.buck.jvm.common.ResourceValidator.validateResources;
-
-/**
- * Description for the onos_jar rules.
- *
- * Currently, this only does Swagger generation.
- */
-public class OnosJarDescription implements Description<OnosJarDescription.Arg>, Flavored {
-    public static final BuildRuleType TYPE = BuildRuleType.of("onos_jar");
-    public static final Flavor NON_OSGI_JAR = ImmutableFlavor.of("non-osgi");
-
-    public static final ImmutableSet<Flavor> SUPPORTED_FLAVORS = ImmutableSet.of(
-            JavaLibrary.SRC_JAR,
-            JavaLibrary.MAVEN_JAR,
-            JavaLibrary.JAVADOC_JAR,
-            NON_OSGI_JAR);
-
-    private final JavacOptions defaultJavacOptions;
-    private final JavaOptions defaultJavaOptions;
-
-    public OnosJarDescription(BuckConfig config) {
-        JavaBuckConfig javaConfig = new JavaBuckConfig(config);
-        defaultJavacOptions = javaConfig.getDefaultJavacOptions();
-        defaultJavaOptions = javaConfig.getDefaultJavaOptions();
-    }
-
-    @Override
-    public BuildRuleType getBuildRuleType() {
-        return TYPE;
-    }
-
-    @Override
-    public Arg createUnpopulatedConstructorArg() {
-        return new Arg();
-    }
-
-    @Override
-    public <A extends Arg> BuildRule createBuildRule(TargetGraph targetGraph,
-                                                     BuildRuleParams params,
-                                                     BuildRuleResolver resolver,
-                                                     A args)
-            throws NoSuchBuildTargetException {
-
-
-        SourcePathResolver pathResolver = new SourcePathResolver(resolver);
-        BuildTarget target = params.getBuildTarget();
-
-        // We know that the flavour we're being asked to create is valid, since the check is done when
-        // creating the action graph from the target graph.
-
-        ImmutableSortedSet<Flavor> flavors = target.getFlavors();
-        BuildRuleParams paramsWithMavenFlavor = null;
-
-        if (flavors.contains(JavaLibrary.MAVEN_JAR)) {
-            paramsWithMavenFlavor = params;
-
-            // Maven rules will depend upon their vanilla versions, so the latter have to be constructed
-            // without the maven flavor to prevent output-path conflict
-            params = params.copyWithBuildTarget(
-                    params.getBuildTarget().withoutFlavors(ImmutableSet.of(JavaLibrary.MAVEN_JAR)));
-        }
-
-        if (flavors.contains(JavaLibrary.SRC_JAR)) {
-            args.mavenCoords = args.mavenCoords.transform(
-                    new Function<String, String>() {
-                        @Override
-                        public String apply(String input) {
-                            return AetherUtil.addClassifier(input, AetherUtil.CLASSIFIER_SOURCES);
-                        }
-                    });
-
-            if (!flavors.contains(JavaLibrary.MAVEN_JAR)) {
-                return new JavaSourceJar(
-                        params,
-                        pathResolver,
-                        args.srcs.get(),
-                        args.mavenCoords);
-            } else {
-                return MavenUberJar.SourceJar.create(
-                        Preconditions.checkNotNull(paramsWithMavenFlavor),
-                        pathResolver,
-                        args.srcs.get(),
-                        args.mavenCoords,
-                        Optional.absent()); //FIXME
-            }
-        }
-
-        if (flavors.contains(JavaLibrary.JAVADOC_JAR)) {
-            args.mavenCoords = args.mavenCoords.transform(
-                    new Function<String, String>() {
-                        @Override
-                        public String apply(String input) {
-                            return AetherUtil.addClassifier(input, AetherUtil.CLASSIFIER_JAVADOC);
-                        }
-                    });
-
-            JavadocJar.JavadocArgs.Builder javadocArgs = JavadocJar.JavadocArgs.builder()
-                    .addArg("-windowtitle", target.getShortName())
-                    .addArg("-link", "http://docs.oracle.com/javase/8/docs/api")
-                    .addArg("-tag", "onos.rsModel:a:\"onos model\""); //FIXME from buckconfig + rule
-
-            final ImmutableSortedMap.Builder<SourcePath, Path> javadocFiles = ImmutableSortedMap.naturalOrder();
-            if (args.javadocFiles.isPresent()) {
-                for (SourcePath path : args.javadocFiles.get()) {
-                    javadocFiles.put(path,
-                                     JavadocJar.getDocfileWithPath(pathResolver, path, args.javadocFilesRoot.orNull()));
-                }
-            }
-
-
-            if (!flavors.contains(JavaLibrary.MAVEN_JAR)) {
-                return new JavadocJar(
-                        params,
-                        pathResolver,
-                        args.srcs.get(),
-                        javadocFiles.build(),
-                        javadocArgs.build(),
-                        args.mavenCoords);
-            } else {
-                return MavenUberJar.MavenJavadocJar.create(
-                        Preconditions.checkNotNull(paramsWithMavenFlavor),
-                        pathResolver,
-                        args.srcs.get(),
-                        javadocFiles.build(),
-                        javadocArgs.build(),
-                        args.mavenCoords,
-                        Optional.absent()); //FIXME
-            }
-        }
-
-        JavacOptions javacOptions = JavacOptionsFactory.create(
-                defaultJavacOptions,
-                params,
-                resolver,
-                pathResolver,
-                args
-        );
-
-        BuildTarget abiJarTarget = params.getBuildTarget().withAppendedFlavors(CalculateAbi.FLAVOR);
-
-        ImmutableSortedSet<BuildRule> exportedDeps = resolver.getAllRules(args.exportedDeps.get());
-
-        // Build the resources string
-        List<String> resourceMappings = Lists.newArrayList();
-
-        if (args.includeResources.isPresent()) {
-            args.includeResources.get().entrySet().forEach(p ->
-                resourceMappings.add(String.format("%s=%s", p.getKey(), p.getValue())));
-        }
-
-        if (args.apiTitle.isPresent()) {
-            resourceMappings.add("WEB-INF/classes/apidoc/swagger.json=swagger.json");
-        }
-
-        Optional<String> includedResourcesString = Optional.of(String.join(",", resourceMappings));
-        final DefaultJavaLibrary defaultJavaLibrary;
-        if (!flavors.contains(NON_OSGI_JAR)) {
-            defaultJavaLibrary =
-                    resolver.addToIndex(
-                            new OnosJar(
-                                    params.appendExtraDeps(
-                                            Iterables.concat(
-                                                    BuildRules.getExportedRules(
-                                                            Iterables.concat(
-                                                                    params.getDeclaredDeps().get(),
-                                                                    exportedDeps,
-                                                                    resolver.getAllRules(args.providedDeps.get()))),
-                                                    pathResolver.filterBuildRuleInputs(
-                                                            javacOptions.getInputs(pathResolver)))),
-                                    pathResolver,
-                                    args.srcs.get(),
-                                    validateResources(
-                                            pathResolver,
-                                            params.getProjectFilesystem(),
-                                            args.resources.get()),
-                                    javacOptions.getGeneratedSourceFolderName(),
-                                    args.proguardConfig.transform(
-                                            SourcePaths.toSourcePath(params.getProjectFilesystem())),
-                                    args.postprocessClassesCommands.get(), // FIXME this should be forbidden
-                                    exportedDeps,
-                                    resolver.getAllRules(args.providedDeps.get()),
-                                    new BuildTargetSourcePath(abiJarTarget),
-                                    javacOptions.trackClassUsage(),
-                                /* additionalClasspathEntries */ ImmutableSet.<Path>of(),
-                                    new OnosJarStepFactory(javacOptions, JavacOptionsAmender.IDENTITY,
-                                                           args.webContext, args.apiTitle, args.apiVersion,
-                                                           args.apiPackage, args.apiDescription, args.resources,
-                                                           args.groupId, args.bundleName, args.bundleVersion,
-                                                           args.bundleLicense, args.bundleDescription, args.importPackages,
-                                                           args.exportPackages, includedResourcesString,
-                                                           args.dynamicimportPackages, args.privatePackages, args.embeddedDependencies, args.bundleClasspath),
-                                    args.resourcesRoot,
-                                    args.manifestFile,
-                                    args.mavenCoords,
-                                    args.tests.get(),
-                                    javacOptions.getClassesToRemoveFromJar(),
-                                    args.webContext,
-                                    args.apiTitle,
-                                    args.apiVersion,
-                                    args.apiPackage,
-                                    args.apiDescription,
-                                    args.includeResources));
-        } else {
-            defaultJavaLibrary =
-                    resolver.addToIndex(
-                            new DefaultJavaLibrary(
-                                    params.appendExtraDeps(
-                                            Iterables.concat(
-                                                    BuildRules.getExportedRules(
-                                                            Iterables.concat(
-                                                                    params.getDeclaredDeps().get(),
-                                                                    exportedDeps,
-                                                                    resolver.getAllRules(args.providedDeps.get()))),
-                                                    pathResolver.filterBuildRuleInputs(
-                                                            javacOptions.getInputs(pathResolver)))),
-                                    pathResolver,
-                                    args.srcs.get(),
-                                    validateResources(
-                                            pathResolver,
-                                            params.getProjectFilesystem(),
-                                            args.resources.get()),
-                                    javacOptions.getGeneratedSourceFolderName(),
-                                    args.proguardConfig.transform(
-                                            SourcePaths.toSourcePath(params.getProjectFilesystem())),
-                                    args.postprocessClassesCommands.get(),
-                                    exportedDeps,
-                                    resolver.getAllRules(args.providedDeps.get()),
-                                    new BuildTargetSourcePath(abiJarTarget),
-                                    javacOptions.trackClassUsage(),
-                                    /* additionalClasspathEntries */ ImmutableSet.<Path>of(),
-                                    new JavacToJarStepFactory(javacOptions, JavacOptionsAmender.IDENTITY),
-                                    args.resourcesRoot,
-                                    args.manifestFile,
-                                    args.mavenCoords,
-                                    args.tests.get(),
-                                    javacOptions.getClassesToRemoveFromJar()));
-        }
-
-        resolver.addToIndex(
-                CalculateAbi.of(
-                        abiJarTarget,
-                        pathResolver,
-                        params,
-                        new BuildTargetSourcePath(defaultJavaLibrary.getBuildTarget())));
-
-        return defaultJavaLibrary;
-    }
-
-    @Override
-    public boolean hasFlavors(ImmutableSet<Flavor> flavors) {
-        return SUPPORTED_FLAVORS.containsAll(flavors);
-    }
-
-    public static class Arg extends JavaLibraryDescription.Arg {
-        public Optional<String> webContext;
-        public Optional<String> apiTitle;
-        public Optional<String> apiVersion;
-        public Optional<String> apiPackage;
-        public Optional<String> apiDescription;
-
-        public Optional<String> groupId;
-        public Optional<String> bundleName;
-        public Optional<String> bundleVersion;
-        public Optional<String> bundleLicense;
-        public Optional<String> bundleDescription;
-
-        public Optional<String> importPackages;
-        public Optional<String> privatePackages;
-        public Optional<String> exportPackages;
-        public Optional<ImmutableSortedMap<String, SourcePath>> includeResources;
-        public Optional<String> dynamicimportPackages;
-        public Optional<String> embeddedDependencies;
-        public Optional<String> bundleClasspath;
-    }
-}
\ No newline at end of file
diff --git a/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/OnosJarStepFactory.java b/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/OnosJarStepFactory.java
deleted file mode 100644
index 6550d89..0000000
--- a/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/OnosJarStepFactory.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * Copyright 2016-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.
- */
-package org.onosproject.onosjar;
-
-import com.facebook.buck.io.ProjectFilesystem;
-import com.facebook.buck.jvm.core.SuggestBuildRules;
-import com.facebook.buck.jvm.java.ClassUsageFileWriter;
-import com.facebook.buck.jvm.java.JarDirectoryStep;
-import com.facebook.buck.jvm.java.JavacOptions;
-import com.facebook.buck.jvm.java.JavacOptionsAmender;
-import com.facebook.buck.jvm.java.JavacToJarStepFactory;
-import com.facebook.buck.model.BuildTarget;
-import com.facebook.buck.rules.BuildContext;
-import com.facebook.buck.rules.BuildableContext;
-import com.facebook.buck.rules.SourcePath;
-import com.facebook.buck.rules.SourcePathResolver;
-import com.facebook.buck.step.Step;
-import com.facebook.buck.step.fs.CopyStep;
-import com.google.common.base.Optional;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.ImmutableSortedSet;
-
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.regex.Pattern;
-import java.util.stream.Collectors;
-
-/**
- * Creates the list of build steps for the onos_jar rules.
- */
-public class OnosJarStepFactory extends JavacToJarStepFactory {
-
-    private static final String DEFINITIONS = "/definitions/";
-    private final String webContext;
-    private final String apiTitle;
-    private final String apiVersion;
-    private final String apiPackage;
-    private final String apiDescription;
-    private final Optional<ImmutableSortedSet<SourcePath>> resources;
-    private final String groupId;
-    private final String bundleName;
-    private final String bundleVersion;
-    private final String bundleLicense;
-    private final String bundleDescription;
-    private final String importPackages;
-    private final String privatePackages;
-    private final String exportPackages;
-    private final String includeResources;
-    private final String dynamicimportPackages;
-    private final String embeddedDependencies;
-    private final String bundleClasspath;
-
-    public OnosJarStepFactory(JavacOptions javacOptions,
-                              JavacOptionsAmender amender,
-                              Optional<String> webContext,
-                              Optional<String> apiTitle,
-                              Optional<String> apiVersion,
-                              Optional<String> apiPackage,
-                              Optional<String> apiDescription,
-                              Optional<ImmutableSortedSet<SourcePath>> resources,
-                              Optional<String> groupId,
-                              Optional<String> bundleName,
-                              Optional<String> bundleVersion,
-                              Optional<String> bundleLicense,
-                              Optional<String> bundleDescription,
-                              Optional<String> importPackages,
-                              Optional<String> exportPackages,
-                              Optional<String> includeResources,
-                              Optional<String> dynamicimportPackages,
-                              Optional<String> privatePackages,
-                              Optional<String> embeddedDependencies,
-                              Optional<String> bundleClasspath) {
-        super(javacOptions, amender);
-        this.bundleDescription = processParameter(bundleDescription);
-        this.importPackages = processParameter(importPackages);
-        this.privatePackages = processParameter(privatePackages);
-        this.exportPackages = processParameter(exportPackages);
-        this.includeResources = processParameter(includeResources);
-        this.dynamicimportPackages = processParameter(dynamicimportPackages);
-        this.groupId = processParameter(groupId);
-        this.bundleName = processParameter(bundleName);
-        this.bundleVersion = processParameter(bundleVersion);
-        this.bundleLicense = processParameter(bundleLicense);
-        this.webContext = processParameter(webContext);
-        this.apiTitle = processParameter(apiTitle);
-        this.apiVersion = processParameter(apiVersion);
-        this.apiPackage = processParameter(apiPackage);
-        this.apiDescription = processParameter(apiDescription);
-        this.resources = resources;
-        this.embeddedDependencies = processParameter(embeddedDependencies);
-        this.bundleClasspath = processParameter(bundleClasspath);
-    }
-
-    private String processParameter(Optional<String> p) {
-        return !p.isPresent() || p.get().equals("NONE") ? null : p.get();
-    }
-
-    @Override
-    public void createCompileToJarStep(BuildContext context,
-                                       ImmutableSortedSet<Path> sourceFilePaths,
-                                       BuildTarget invokingRule,
-                                       SourcePathResolver resolver,
-                                       ProjectFilesystem filesystem,
-                                       ImmutableSortedSet<Path> declaredClasspathEntries,
-                                       Path outputDirectory,
-                                       Optional<Path> workingDirectory,
-                                       Path pathToSrcsList,
-                                       Optional<SuggestBuildRules> suggestBuildRules,
-                                       ImmutableList<String> postprocessClassesCommands,
-                                       ImmutableSortedSet<Path> entriesToJar,
-                                       Optional<String> mainClass,
-                                       Optional<Path> manifestFile,
-                                       Path outputJar,
-                                       ClassUsageFileWriter usedClassesFileWriter,
-                                       ImmutableList.Builder<Step> steps,
-                                       BuildableContext buildableContext,
-                                       ImmutableSet<Pattern> classesToRemoveFromJar) {
-
-        ImmutableSet.Builder<Path> sourceFilePathBuilder = ImmutableSet.builder();
-        sourceFilePathBuilder.addAll(sourceFilePaths);
-
-        ImmutableSet.Builder<Pattern> blacklistBuilder = ImmutableSet.builder();
-        blacklistBuilder.addAll(classesToRemoveFromJar);
-
-        // precompilation steps
-        //   - generate sources
-        //     add all generated sources ot pathToSrcsList
-        if (webContext != null && apiTitle != null && resources.isPresent()) {
-            ImmutableSortedSet<Path> resourceFilePaths = findSwaggerModelDefs(resolver, resources.get());
-            blacklistBuilder.addAll(resourceFilePaths.stream()
-                                            .map(rp -> Pattern.compile(rp.getFileName().toString(), Pattern.LITERAL))
-                                            .collect(Collectors.toSet()));
-            Path genSourcesOutput = workingDirectory.get();
-
-            SwaggerStep swaggerStep = new SwaggerStep(filesystem, sourceFilePaths, resourceFilePaths,
-                                                      genSourcesOutput, outputDirectory,
-                                                      webContext, apiTitle, apiVersion,
-                                                      apiPackage, apiDescription);
-            sourceFilePathBuilder.add(swaggerStep.apiRegistratorPath());
-            steps.add(swaggerStep);
-
-//            steps.addAll(sourceFilePaths.stream()
-//                    .filter(sp -> sp.startsWith("src/main/webapp/"))
-//                    .map(sp -> CopyStep.forFile(filesystem, sp, outputDirectory))
-//                    .iterator());
-        }
-
-        createCompileStep(context,
-                          ImmutableSortedSet.copyOf(sourceFilePathBuilder.build()),
-                          invokingRule,
-                          resolver,
-                          filesystem,
-                          declaredClasspathEntries,
-                          outputDirectory,
-                          workingDirectory,
-                          pathToSrcsList,
-                          suggestBuildRules,
-                          usedClassesFileWriter,
-                          steps,
-                          buildableContext);
-
-        // post compilation steps
-
-
-        // FIXME BOC: add mechanism to inject new Steps
-        //context.additionalStepFactory(JavaStep.class);
-
-        // build the jar
-        steps.add(new JarDirectoryStep(filesystem,
-                                       outputJar,
-                                       ImmutableSortedSet.of(outputDirectory),
-                                       mainClass.orNull(),
-                                       manifestFile.orNull(),
-                                       true,
-                                       blacklistBuilder.build()));
-
-        OSGiWrapper osgiStep = new OSGiWrapper(
-                outputJar, //input jar
-                outputJar, //Paths.get(outputJar.toString() + ".jar"), //output jar
-                invokingRule.getBasePath(), // sources dir
-                outputDirectory, // classes dir
-                declaredClasspathEntries, // classpath
-                bundleName, // bundle name
-                groupId, // groupId
-                bundleVersion, // bundle version
-                bundleLicense, // bundle license
-                importPackages, // import packages
-                exportPackages, // export packages
-                includeResources, // include resources
-                webContext, // web context
-                dynamicimportPackages, // dynamic import packages
-                embeddedDependencies, // embedded dependencies
-                bundleDescription,  // bundle description
-                privatePackages, // private packages
-                bundleClasspath // bundle classpath
-        );
-        steps.add(osgiStep);
-
-        //steps.add(CopyStep.forFile(filesystem, Paths.get(outputJar.toString() + ".jar"), outputJar));
-
-    }
-
-    private ImmutableSortedSet<Path> findSwaggerModelDefs(SourcePathResolver resolver,
-                                                          ImmutableSortedSet<SourcePath> resourcePaths) {
-        if (resourcePaths == null) {
-            return ImmutableSortedSet.of();
-        }
-        return ImmutableSortedSet.copyOf(resourcePaths.stream()
-                                                 .filter(sp -> sp.toString().contains(DEFINITIONS))
-                                                 .map(resolver::getRelativePath)
-                                                 .collect(Collectors.toList()));
-    }
-}
diff --git a/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/ProjectJavadocDescription.java b/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/ProjectJavadocDescription.java
deleted file mode 100644
index 12cf48e..0000000
--- a/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/ProjectJavadocDescription.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * Copyright 2016-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.
- */
-package org.onosproject.onosjar;
-
-import com.facebook.buck.cli.BuckConfig;
-import com.facebook.buck.jvm.java.JavaLibrary;
-import com.facebook.buck.jvm.java.JavadocJar;
-import com.facebook.buck.model.BuildTarget;
-import com.facebook.buck.model.Flavor;
-import com.facebook.buck.model.Flavored;
-import com.facebook.buck.model.Pair;
-import com.facebook.buck.parser.NoSuchBuildTargetException;
-import com.facebook.buck.rules.BuildRule;
-import com.facebook.buck.rules.BuildRuleParams;
-import com.facebook.buck.rules.BuildRuleResolver;
-import com.facebook.buck.rules.BuildRuleType;
-import com.facebook.buck.rules.Description;
-import com.facebook.buck.rules.SourcePath;
-import com.facebook.buck.rules.SourcePathResolver;
-import com.facebook.buck.rules.TargetGraph;
-import com.google.common.base.Optional;
-import com.google.common.base.Suppliers;
-import com.google.common.collect.FluentIterable;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.ImmutableSortedMap;
-import com.google.common.collect.ImmutableSortedSet;
-import com.google.common.collect.Ordering;
-
-import java.nio.file.Path;
-import java.util.Map;
-
-/**
- * Description for the onos_jar rules.
- *
- * Currently, this only does Swagger generation.
- */
-public class ProjectJavadocDescription implements Description<ProjectJavadocDescription.Arg>, Flavored {
-    public static final BuildRuleType TYPE = BuildRuleType.of("project_javadoc");
-
-    public ProjectJavadocDescription(BuckConfig config) {
-        //TODO
-    }
-
-    @Override
-    public BuildRuleType getBuildRuleType() {
-        return TYPE;
-    }
-
-    @Override
-    public Arg createUnpopulatedConstructorArg() {
-        return new Arg();
-    }
-
-    @Override
-    public <A extends Arg> BuildRule createBuildRule(TargetGraph targetGraph,
-                                                     BuildRuleParams params,
-                                                     BuildRuleResolver resolver,
-                                                     A args)
-            throws NoSuchBuildTargetException {
-
-        ImmutableSet.Builder<SourcePath> srcs = ImmutableSet.builder();
-        ImmutableSet.Builder<BuildRule> deps = ImmutableSet.builder();
-        ImmutableSortedMap.Builder<SourcePath, Path> docfiles = ImmutableSortedMap.naturalOrder();
-        for(BuildTarget dep : args.deps) {
-            BuildRule rule = resolver.requireRule(dep.withFlavors(JavaLibrary.JAVADOC_JAR));
-            if (rule instanceof JavadocJar) {
-                JavadocJar jarRule = (JavadocJar) rule;
-                srcs.addAll(jarRule.getSources());
-                deps.addAll(jarRule.getDeps());
-                docfiles.putAll(jarRule.getDocFiles());
-            } else {
-                throw new RuntimeException("rule is not a javalib"); //FIXME
-            }
-        }
-
-        BuildRuleParams newParams = params.copyWithDeps(
-                Suppliers.ofInstance(
-                    FluentIterable.from(deps.build())
-                                  .toSortedSet(Ordering.<BuildRule>natural())),
-                Suppliers.ofInstance(ImmutableSortedSet.<BuildRule>of()));
-
-        SourcePathResolver sourceResolver = new SourcePathResolver(resolver);
-        ImmutableList.Builder<SourcePath> auxSources = ImmutableList.builder();
-
-        JavadocJar.JavadocArgs.Builder javadocArgs = JavadocJar.JavadocArgs.builder()
-                .addArg("-windowtitle", args.projectTitle)
-                .addArg("-doctitle", args.projectTitle)
-                .addArg("-link", "http://docs.oracle.com/javase/8/docs/api")
-                .addArg("-tag", "onos.rsModel:a:\"onos model\""); //FIXME from buckconfig + rule
-
-        if (args.groups.isPresent()) {
-            for (Pair<String, ImmutableList<String>> pair : args.groups.get()) {
-                javadocArgs.addArg("-group", pair.getFirst(), pair.getSecond());
-            }
-        }
-
-        if (args.excludePackages.isPresent() &&
-                !args.excludePackages.get().isEmpty()) {
-            javadocArgs.addArg("-exclude", args.excludePackages.get());
-        }
-
-        if (args.overview.isPresent()) {
-            javadocArgs.addArg("-overview",
-                   sourceResolver.getAbsolutePath(args.overview.get()).toString());
-
-        }
-
-        if (args.javadocFiles.isPresent()) {
-            for (SourcePath path : args.javadocFiles.get()) {
-                docfiles.put(path,
-                             JavadocJar.getDocfileWithPath(sourceResolver, path, args.javadocFilesRoot.orNull()));
-            }
-        }
-
-
-        JavadocJar javadocJar =  new JavadocJar(newParams,
-                              sourceResolver,
-                              ImmutableSortedSet.copyOf(srcs.build()),
-                              docfiles.build(),
-                              javadocArgs.build(),
-                              /* mavenCoords */ Optional.absent());
-        return javadocJar;
-
-    }
-
-    @Override
-    public boolean hasFlavors(ImmutableSet<Flavor> flavors) {
-        return false;
-    }
-
-    public static class Arg {
-        public ImmutableSortedSet<BuildTarget> deps;
-        public String projectTitle;
-
-        public Optional<SourcePath> overview;
-        public Optional<ImmutableSortedSet<SourcePath>> javadocFiles;
-        public Optional<Path> javadocFilesRoot;
-
-        public Optional<ImmutableList<String>> excludePackages;
-        public Optional<ImmutableList<Pair<String, ImmutableList<String>>>> groups;
-    }
-}
\ No newline at end of file
diff --git a/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/SwaggerGenerator.java b/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/SwaggerGenerator.java
deleted file mode 100644
index 518bf8c..0000000
--- a/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/SwaggerGenerator.java
+++ /dev/null
@@ -1,566 +0,0 @@
-/*
- * Copyright 2016-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.
- */
-
-package org.onosproject.onosjar;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ArrayNode;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.google.common.collect.ImmutableList;
-import com.google.common.io.ByteStreams;
-import com.google.common.io.Files;
-import com.thoughtworks.qdox.JavaProjectBuilder;
-import com.thoughtworks.qdox.model.DocletTag;
-import com.thoughtworks.qdox.model.JavaAnnotation;
-import com.thoughtworks.qdox.model.JavaClass;
-import com.thoughtworks.qdox.model.JavaMethod;
-import com.thoughtworks.qdox.model.JavaParameter;
-import com.thoughtworks.qdox.model.JavaType;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.time.Year;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-
-import static com.google.common.base.Strings.isNullOrEmpty;
-
-/**
- * Generates Swagger JSON artifacts from the Java source files.
- */
-public class SwaggerGenerator {
-
-    private final ObjectMapper mapper = new ObjectMapper();
-
-    private static final String JSON_FILE = "swagger.json";
-    private static final String GEN_SRC = "generated-sources";
-    private static final String REG_SRC = "/registrator.javat";
-
-    private static final String PATH = "javax.ws.rs.Path";
-    private static final String PATH_PARAM = "javax.ws.rs.PathParam";
-    private static final String QUERY_PARAM = "javax.ws.rs.QueryParam";
-    private static final String POST = "javax.ws.rs.POST";
-    private static final String PATCH = "javax.ws.rs.PATCH";
-    private static final String GET = "javax.ws.rs.GET";
-    private static final String PUT = "javax.ws.rs.PUT";
-    private static final String DELETE = "javax.ws.rs.DELETE";
-    private static final String PRODUCES = "javax.ws.rs.Produces";
-    private static final String CONSUMES = "javax.ws.rs.Consumes";
-    private static final String JSON = "MediaType.APPLICATION_JSON";
-    private static final String OCTET_STREAM = "MediaType.APPLICATION_OCTET_STREAM";
-    private static final String RESPONSES = "io.swagger.annotations.ApiResponses";
-
-    private final List<File> srcs;
-    private final List<File> resources;
-    private final File srcDirectory;
-    private final File resourceDirectory;
-    private final File genSrcOutputDirectory;
-    private final File genResourcesOutputDirectory;
-    private final String webContext;
-    private final String apiTitle;
-    private final String apiVersion;
-    private final String apiPackage;
-    private final String apiDescription;
-
-    private String x(File f) {
-        return f == null ? "null" : f.getAbsolutePath();
-    }
-
-    public SwaggerGenerator(List<File> srcs, List<File> resources,
-                            File srcDirectory, File resourceDirectory,
-                            File genSrcOutputDirectory, File genResourcesOutputDirectory,
-                            String webContext, String apiTitle, String apiVersion,
-                            String apiPackage, String apiDescription) {
-        this.srcs = srcs;
-        this.resources = resources;
-        this.srcDirectory = srcDirectory;
-        this.resourceDirectory = resourceDirectory;
-        this.genSrcOutputDirectory = genSrcOutputDirectory;
-        this.genResourcesOutputDirectory = genResourcesOutputDirectory;
-        this.webContext = webContext;
-
-        this.apiTitle = apiTitle;
-        this.apiVersion = apiVersion;
-        this.apiPackage = apiPackage;
-        this.apiDescription = apiDescription;
-    }
-
-    public void execute() {
-        try {
-            JavaProjectBuilder builder = new JavaProjectBuilder();
-            if (srcDirectory != null) {
-                builder.addSourceTree(new File(srcDirectory, "src/main/java"));
-            }
-            if (srcs != null) {
-                srcs.forEach(src -> {
-                    if (src.toString().endsWith(".java")) {
-                        try {
-                            builder.addSource(src);
-                        } catch (IOException e) {
-                            throw new RuntimeException(e);
-                        }
-                    }
-                });
-            }
-
-            ObjectNode root = initializeRoot(webContext, apiTitle, apiVersion, apiDescription);
-            ArrayNode tags = mapper.createArrayNode();
-            ObjectNode paths = mapper.createObjectNode();
-            ObjectNode definitions = mapper.createObjectNode();
-
-            root.set("tags", tags);
-            root.set("paths", paths);
-            root.set("definitions", definitions);
-
-            // TODO: Process resources to allow lookup of files by name
-
-            builder.getClasses().forEach(jc -> processClass(jc, paths, tags, definitions, srcDirectory));
-
-            if (paths.size() > 0) {
-                genCatalog(genResourcesOutputDirectory, root);
-                if (!isNullOrEmpty(apiPackage)) {
-                    genRegistrator(genSrcOutputDirectory, webContext, apiTitle, apiVersion,
-                                   apiPackage, apiDescription);
-                }
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-            throw new RuntimeException("Unable to generate ONOS REST API documentation", e);
-        }
-    }
-
-    // initializes top level root with Swagger required specifications
-    private ObjectNode initializeRoot(String webContext, String apiTitle,
-                                      String apiVersion, String apiDescription) {
-        ObjectNode root = mapper.createObjectNode();
-        root.put("swagger", "2.0");
-        ObjectNode info = mapper.createObjectNode();
-        root.set("info", info);
-
-        root.put("basePath", webContext);
-        info.put("version", apiVersion);
-        info.put("title", apiTitle);
-        info.put("description", apiDescription);
-
-        ArrayNode produces = mapper.createArrayNode();
-        produces.add("application/json");
-        root.set("produces", produces);
-
-        ArrayNode consumes = mapper.createArrayNode();
-        consumes.add("application/json");
-        root.set("consumes", consumes);
-
-        return root;
-    }
-
-    // Checks whether javaClass has a path tag associated with it and if it does
-    // processes its methods and creates a tag for the class on the root
-    void processClass(JavaClass javaClass, ObjectNode paths, ArrayNode tags,
-                      ObjectNode definitions, File srcDirectory) {
-        // If the class does not have a Path tag then ignore it
-        JavaAnnotation annotation = getPathAnnotation(javaClass);
-        if (annotation == null) {
-            return;
-        }
-
-        String path = getPath(annotation);
-        if (path == null) {
-            return;
-        }
-
-        String resourcePath = "/" + path;
-        String tagPath = path.isEmpty() ? "/" : path;
-
-        // Create tag node for this class.
-        ObjectNode tagObject = mapper.createObjectNode();
-        tagObject.put("name", tagPath);
-        if (javaClass.getComment() != null) {
-            tagObject.put("description", shortText(javaClass.getComment()));
-        }
-        tags.add(tagObject);
-
-        // Create an array node add to all methods from this class.
-        ArrayNode tagArray = mapper.createArrayNode();
-        tagArray.add(tagPath);
-
-        processAllMethods(javaClass, resourcePath, paths, tagArray, definitions, srcDirectory);
-    }
-
-    private JavaAnnotation getPathAnnotation(JavaClass javaClass) {
-        Optional<JavaAnnotation> optional = javaClass.getAnnotations()
-                .stream().filter(a -> a.getType().getName().equals(PATH)).findAny();
-        return optional.orElse(null);
-    }
-
-    // Checks whether a class's methods are REST methods and then places all the
-    // methods under a specific path into the paths node
-    private void processAllMethods(JavaClass javaClass, String resourcePath,
-                                   ObjectNode paths, ArrayNode tagArray, ObjectNode definitions,
-                                   File srcDirectory) {
-        // map of the path to its methods represented by an ObjectNode
-        Map<String, ObjectNode> pathMap = new HashMap<>();
-
-        javaClass.getMethods().forEach(javaMethod -> {
-            javaMethod.getAnnotations().forEach(annotation -> {
-                String name = annotation.getType().getName();
-                if (name.equals(PATCH) || name.equals(POST) || name.equals(GET) || name.equals(DELETE) ||
-                        name.equals(PUT)) {
-                    // substring(12) removes "javax.ws.rs."
-                    String method = annotation.getType().toString().substring(12).toLowerCase();
-                    processRestMethod(javaMethod, method, pathMap, resourcePath, tagArray, definitions, srcDirectory);
-                }
-            });
-        });
-
-        // for each path add its methods to the path node
-        for (Map.Entry<String, ObjectNode> entry : pathMap.entrySet()) {
-            paths.set(entry.getKey(), entry.getValue());
-        }
-
-
-    }
-
-    private void processRestMethod(JavaMethod javaMethod, String method,
-                                   Map<String, ObjectNode> pathMap,
-                                   String resourcePath, ArrayNode tagArray,
-                                   ObjectNode definitions, File srcDirectory) {
-        String fullPath = resourcePath, consumes = "", produces = "",
-                comment = javaMethod.getComment();
-        DocletTag tag = javaMethod.getTagByName("onos.rsModel");
-        for (JavaAnnotation annotation : javaMethod.getAnnotations()) {
-            String name = annotation.getType().getName();
-            if (name.equals(PATH)) {
-                fullPath = resourcePath + "/" + getPath(annotation);
-                fullPath = fullPath.replaceFirst("^//", "/");
-            }
-            if (name.equals(CONSUMES)) {
-                consumes = getIOType(annotation);
-            }
-            if (name.equals(PRODUCES)) {
-                produces = getIOType(annotation);
-            }
-        }
-        ObjectNode methodNode = mapper.createObjectNode();
-        methodNode.set("tags", tagArray);
-
-        addSummaryDescriptions(methodNode, comment);
-        addJsonSchemaDefinition(srcDirectory, definitions, tag);
-
-        processParameters(javaMethod, methodNode, method, tag);
-
-        processConsumesProduces(methodNode, "consumes", consumes);
-        processConsumesProduces(methodNode, "produces", produces);
-        if (tag == null || !(tag.getParameters().size() > 1)) {
-            addResponses(javaMethod, methodNode, tag, false);
-        } else {
-            addResponses(javaMethod, methodNode, tag, true);
-        }
-
-        ObjectNode operations = pathMap.get(fullPath);
-        if (operations == null) {
-            operations = mapper.createObjectNode();
-            operations.set(method, methodNode);
-            pathMap.put(fullPath, operations);
-        } else {
-            operations.set(method, methodNode);
-        }
-    }
-
-    private void addJsonSchemaDefinition(File srcDirectory, ObjectNode definitions, DocletTag tag) {
-        final File definitionsDirectory;
-        if (resourceDirectory != null) {
-            definitionsDirectory = new File(resourceDirectory, "definitions");
-        } else if (srcDirectory != null) {
-            definitionsDirectory = new File(srcDirectory + "/src/main/resources/definitions");
-        } else {
-            definitionsDirectory = null;
-        }
-        if (tag != null) {
-            tag.getParameters().forEach(param -> {
-                try {
-                    File config;
-                    if (definitionsDirectory != null) {
-                        config = new File(definitionsDirectory.getAbsolutePath() + "/" + param + ".json");
-                    } else {
-                        config = resources.stream().filter(f -> f.getName().equals(param + ".json")).findFirst().orElse(null);
-                    }
-                    definitions.set(param, mapper.readTree(config));
-                } catch (IOException e) {
-                    throw new RuntimeException(String.format("Could not process %s in %s@%s: %s",
-                                                             tag.getName(), tag.getContext(), tag.getLineNumber(),
-                                                             e.getMessage()), e);
-                }
-            });
-        }
-    }
-
-    private void processConsumesProduces(ObjectNode methodNode, String type, String io) {
-        if (!io.equals("")) {
-            ArrayNode array = mapper.createArrayNode();
-            methodNode.set(type, array);
-            array.add(io);
-        }
-    }
-
-    private void addSummaryDescriptions(ObjectNode methodNode, String comment) {
-        String summary = "", description;
-        if (comment != null) {
-            if (comment.contains(".")) {
-                int periodIndex = comment.indexOf(".");
-                summary = comment.substring(0, periodIndex);
-                description = comment.length() > periodIndex + 1 ?
-                        comment.substring(periodIndex + 1).trim() : "";
-            } else {
-                description = comment;
-            }
-            methodNode.put("summary", summary);
-            methodNode.put("description", description);
-        }
-    }
-
-    private Optional<JavaAnnotation> getResponsesAnnotation(JavaMethod javaMethod) {
-        return javaMethod.getAnnotations().stream().filter(
-                a -> a.getType().getName().equals(RESPONSES)
-        ).findAny();
-    }
-
-    // TODO: add json schema for responses
-    private void addResponses(JavaMethod javaMethod, ObjectNode methodNode, DocletTag tag, boolean responseJson) {
-        ObjectNode responses = mapper.createObjectNode();
-        methodNode.set("responses", responses);
-
-        Optional<JavaAnnotation> responsesAnnotation = getResponsesAnnotation(javaMethod);
-
-        if (responsesAnnotation.isPresent()) {
-            Object annotationsObj = responsesAnnotation.get().getNamedParameter("value");
-            if (annotationsObj != null && annotationsObj instanceof List) {
-                List<JavaAnnotation> responseAnnotation = (List<JavaAnnotation>) annotationsObj;
-                responseAnnotation.forEach(
-                        javaAnnotation -> {
-                            ObjectNode response = mapper.createObjectNode();
-                            response.put("description",
-                                    String.valueOf(javaAnnotation.getNamedParameter("message"))
-                                            .replaceAll("^\"|\"$", ""));
-                            responses.set(String.valueOf(javaAnnotation.getNamedParameter("code")), response);
-                        }
-                );
-            }
-        } else {
-            ObjectNode success = mapper.createObjectNode();
-            success.put("description", "successful operation");
-            responses.set("200", success);
-
-            ObjectNode defaultObj = mapper.createObjectNode();
-            defaultObj.put("description", "Unexpected error");
-            responses.set("default", defaultObj);
-
-            if (tag != null && responseJson) {
-                ObjectNode schema = mapper.createObjectNode();
-                tag.getParameters().stream().forEach(
-                        param -> schema.put("$ref", "#/definitions/" + param));
-                success.set("schema", schema);
-            }
-        }
-    }
-
-    // Checks if the annotations has a value of JSON and returns the string
-    // that Swagger requires
-    private String getIOType(JavaAnnotation annotation) {
-        if (annotation.getNamedParameter("value").toString().equals(JSON)) {
-            return "application/json";
-        } else if (annotation.getNamedParameter("value").toString().equals(OCTET_STREAM)) {
-            return "application/octet_stream";
-        }
-        return "";
-    }
-
-    // If the annotation has a Path tag, returns the value with leading and
-    // trailing double quotes and slash removed.
-    private String getPath(JavaAnnotation annotation) {
-        String path = annotation.getNamedParameter("value").toString();
-        return path == null ? null : path.replaceAll("(^[\\\"/]*|[/\\\"]*$)", "");
-    }
-
-    // Processes parameters of javaMethod and enters the proper key-values into the methodNode
-    private void processParameters(JavaMethod javaMethod, ObjectNode methodNode, String method, DocletTag tag) {
-        ArrayNode parameters = mapper.createArrayNode();
-        methodNode.set("parameters", parameters);
-        boolean required = true;
-
-        for (JavaParameter javaParameter : javaMethod.getParameters()) {
-            ObjectNode individualParameterNode = mapper.createObjectNode();
-            Optional<JavaAnnotation> optional = javaParameter.getAnnotations().stream().filter(
-                    annotation -> annotation.getType().getName().equals(PATH_PARAM) ||
-                            annotation.getType().getName().equals(QUERY_PARAM)).findAny();
-            JavaAnnotation pathType = optional.orElse(null);
-
-            String annotationName = javaParameter.getName();
-
-
-            if (pathType != null) { //the parameter is a path or query parameter
-                individualParameterNode.put("name",
-                                            pathType.getNamedParameter("value")
-                                                    .toString().replace("\"", ""));
-                if (pathType.getType().getName().equals(PATH_PARAM)) {
-                    individualParameterNode.put("in", "path");
-                } else if (pathType.getType().getName().equals(QUERY_PARAM)) {
-                    individualParameterNode.put("in", "query");
-                }
-                individualParameterNode.put("type", getType(javaParameter.getType()));
-            } else { // the parameter is a body parameter
-                individualParameterNode.put("name", annotationName);
-                individualParameterNode.put("in", "body");
-
-                // Adds the reference to the Json model for the input
-                // that goes in the post or put operation
-                if (tag != null && (method.toLowerCase().equals("post") ||
-                        method.toLowerCase().equals("put"))) {
-                    ObjectNode schema = mapper.createObjectNode();
-                    tag.getParameters().stream().forEach(param -> {
-                        schema.put("$ref", "#/definitions/" + param);
-                    });
-                    individualParameterNode.set("schema", schema);
-                }
-            }
-            for (DocletTag p : javaMethod.getTagsByName("param")) {
-                if (p.getValue().contains(annotationName)) {
-                    String description = "";
-                    if (p.getValue().split(" ", 2).length >= 2) {
-                        description = p.getValue().split(" ", 2)[1].trim();
-                        if (description.contains("optional")) {
-                            required = false;
-                        }
-                    } else {
-                        throw new RuntimeException(String.format("No description for parameter \"%s\" in " +
-                                                                         "method \"%s\" in %s (line %d)",
-                                                                 p.getValue(), javaMethod.getName(),
-                                                                 javaMethod.getDeclaringClass().getName(),
-                                                                 javaMethod.getLineNumber()));
-                    }
-                    individualParameterNode.put("description", description);
-                }
-            }
-            individualParameterNode.put("required", required);
-            parameters.add(individualParameterNode);
-        }
-    }
-
-    // Returns the Swagger specified strings for the type of a parameter
-    private String getType(JavaType javaType) {
-        String type = javaType.getFullyQualifiedName();
-        String value;
-        if (type.equals(String.class.getName())) {
-            value = "string";
-        } else if (type.equals("int")) {
-            value = "integer";
-        } else if (type.equals(boolean.class.getName())) {
-            value = "boolean";
-        } else if (type.equals(long.class.getName())) {
-            value = "number";
-        } else {
-            value = "";
-        }
-        return value;
-    }
-
-    // Writes the swagger.json file using the supplied JSON root.
-    private void genCatalog(File dstDirectory, ObjectNode root) {
-        File swaggerCfg = new File(dstDirectory, JSON_FILE);
-        if (dstDirectory.exists() || dstDirectory.mkdirs()) {
-            try (FileWriter fw = new FileWriter(swaggerCfg);
-                 PrintWriter pw = new PrintWriter(fw)) {
-                pw.println(root.toString());
-            } catch (IOException e) {
-                throw new RuntimeException("Unable to write " + JSON_FILE, e);
-            }
-        } else {
-            throw new RuntimeException("Unable to create " + dstDirectory);
-        }
-    }
-
-    // Generates the registrator Java component.
-    private void genRegistrator(File dstDirectory, String webContext,
-                                String apiTitle, String apiVersion,
-                                String apiPackage, String apiDescription) {
-        File dir = new File(dstDirectory, resourceDirectory != null ? GEN_SRC : ".");
-        File reg = new File(dir, apiRegistratorPath(apiPackage));
-        File pkg = reg.getParentFile();
-        if (pkg.exists() || pkg.mkdirs()) {
-            try {
-                String src = new String(ByteStreams.toByteArray(getClass().getResourceAsStream(REG_SRC)));
-                src = src.replace("${api.package}", apiPackage)
-                        .replace("${web.context}", webContext)
-                        .replace("${api.title}", apiTitle)
-                        .replace("${api.description}", apiDescription)
-                        .replace("${year}", Year.now().toString());
-
-                Files.write(src.getBytes(), reg);
-            } catch (IOException e) {
-                throw new RuntimeException("Unable to write " + reg, e);
-            }
-        } else {
-            throw new RuntimeException("Unable to create " + reg);
-        }
-    }
-
-    private String shortText(String comment) {
-        int i = comment.indexOf('.');
-        return i > 0 ? comment.substring(0, i) : comment;
-    }
-
-    public static String apiRegistratorPath(String apiPackage) {
-        return apiPackage.replaceAll("\\.", "/") + "/ApiDocRegistrator.java";
-    }
-
-    private static List<File> getFiles(String commaSeparatedList) {
-        String[] fileNames = commaSeparatedList.split(",");
-        ImmutableList.Builder<File> files = ImmutableList.builder();
-        Arrays.stream(fileNames).forEach(filename -> files.add(new File(filename)));
-        return files.build();
-    }
-
-    public static void main(String args[]) {
-        List<File> srcs = getFiles(args[0]);
-        List<File> resources = getFiles(args[1]);
-        File srcDirectory = null;//new File(args[2]);
-        File resourceDirectory = new File(args[3]);
-        File genSrcOutputDirectory = new File(args[4]);
-        File genResourcesOutputDirectory = new File(args[5]);
-        String webContext = args[6];
-        String apiTitle = args[7];
-        String apiVersion = args[8];
-        String apiPackage = args[9];
-        String apiDescription = args[10];
-
-        SwaggerGenerator generator = new SwaggerGenerator(
-                srcs,
-                resources,
-                srcDirectory, resourceDirectory,
-                genSrcOutputDirectory,
-                genResourcesOutputDirectory,
-                webContext,
-                apiTitle,
-                apiVersion,
-                apiPackage,
-                apiDescription);
-        generator.execute();
-    }
-}
\ No newline at end of file
diff --git a/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/SwaggerStep.java b/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/SwaggerStep.java
deleted file mode 100644
index cbb6e82..0000000
--- a/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/SwaggerStep.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright 2016-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.
- */
-package org.onosproject.onosjar;
-
-import com.facebook.buck.io.ProjectFilesystem;
-import com.facebook.buck.rules.SourcePathResolver;
-import com.facebook.buck.step.AbstractExecutionStep;
-import com.facebook.buck.step.ExecutionContext;
-import com.facebook.buck.step.StepExecutionResult;
-import com.google.common.collect.ImmutableSortedSet;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.Path;
-import java.util.List;
-import java.util.stream.Collectors;
-
-/**
- * Buck build step to trigger SwaggerGenerator.
- */
-public class SwaggerStep extends AbstractExecutionStep {
-
-    private final ProjectFilesystem filesystem;
-
-    private final ImmutableSortedSet<Path> srcs;
-    private final ImmutableSortedSet<Path> resources;
-    private final Path genSourcesOutput;
-    private final Path genResourcesOutput;
-
-    private final String webContext;
-    private final String apiTitle;
-    private final String apiVersion;
-    private final String apiPackage;
-    private final String apiDescription;
-
-
-    public SwaggerStep(ProjectFilesystem filesystem,
-                       ImmutableSortedSet<Path> srcs,
-                       ImmutableSortedSet<Path> resources,
-                       Path genSourcesOutput, Path genResourcesOutput,
-                       String webContext, String apiTitle, String apiVersion,
-                       String apiPackage, String apiDescription) {
-        super("swagger");
-        this.filesystem = filesystem;
-        this.srcs = srcs;
-        this.resources = resources;
-        this.genSourcesOutput = genSourcesOutput;
-        this.genResourcesOutput = genResourcesOutput;
-        this.webContext = webContext;
-        this.apiTitle = apiTitle;
-        this.apiVersion = apiVersion;
-        this.apiPackage = apiPackage;
-        this.apiDescription = apiDescription;
-    }
-
-    @Override
-    public StepExecutionResult execute(ExecutionContext executionContext)
-            throws IOException, InterruptedException {
-        try {
-            List<File> srcFiles = srcs.stream()
-                    .map(src -> filesystem.resolve(src).toFile())
-                    .collect(Collectors.toList());
-            List<File> resourceFiles = resources.stream()
-                    .map(rsrc -> filesystem.resolve(rsrc).toFile())
-                    .collect(Collectors.toList());
-            new SwaggerGenerator(srcFiles, resourceFiles, null, null,
-                                 filesystem.resolve(genSourcesOutput).toFile(),
-                                 filesystem.resolve(genResourcesOutput).toFile(),
-                                 webContext,
-                                 apiTitle,
-                                 apiVersion,
-                                 apiPackage,
-                                 apiDescription).execute();
-
-            return StepExecutionResult.SUCCESS;
-        } catch (Exception e) {
-            e.printStackTrace();
-            // FIXME print the exception
-            return StepExecutionResult.ERROR;
-        }
-    }
-
-    Path apiRegistratorPath() {
-        return genSourcesOutput.resolve(SwaggerGenerator.apiRegistratorPath(apiPackage));
-    }
-}
diff --git a/tools/build/buck-publish b/tools/build/buck-publish
deleted file mode 100755
index 01ed7d9..0000000
--- a/tools/build/buck-publish
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/bash
-# -----------------------------------------------------------------------------
-# Build and publish the ONOS version of buck.
-# -----------------------------------------------------------------------------
-
-if [ $# -ne 3  -a $# -ne 4 ]; then
-    echo "Usage: buck-publish-setup buck-branch onos-branch yang-branch [version] [--dry-run]"
-    echo "For example, to build buck branch 11-11-2016, onos branch master, and onos-yang-tools master:"
-    echo "buck-publish 11-11-2016 master master"
-    exit 1
-fi
-
-if [ $# -eq 4 -a "${4}" != "--dry-run" ]; then
-    echo "$4 is an invalid parameter - only --dry-run allowed"
-    exit 1
-fi
-
-BUCK_BRANCH="$1"
-ONOS_BRANCH="$2"
-YANG_BRANCH="$3"
-
-if [ -z "$4" ]; then
-    onos-release-prerequisites
-fi
-
-DIR=$(mktemp -d /tmp/buck-publish.XXXXX) || { echo "Failed to create temp file"; exit 1; }
-
-buck-publish-setup $BUCK_BRANCH $ONOS_BRANCH $YANG_BRANCH $DIR
-pushd $DIR && buck-publish-package $4 && popd
-cp $DIR/onos/tools/build/onos-buck $ONOS_ROOT/tools/build/onos-buck
-
-
diff --git a/tools/build/buck-publish-api b/tools/build/buck-publish-api
deleted file mode 100755
index e27f1d0..0000000
--- a/tools/build/buck-publish-api
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/bin/bash
-
-BUCK_LOCAL_CONFIG=${BUCK_LOCAL_CONFIG:-$ONOS_ROOT/.buckconfig.local}
-MVN_REPO="https://oss.sonatype.org/content/repositories/snapshots"
-NO_BUCKD=1
-
-set -e
-set -x
-
-#FIXME if pwd != buck
-pushd buck
-
-# build buck
-scripts/create_tag.sh
-buck build buck --show-output
-
-# publish cli:main-fixed as buck-api
-cp $BUCK_LOCAL_CONFIG .
-buck publish //src/com/facebook/buck/cli:main-fixed \
-    --remote-repo=https://oss.sonatype.org/content/repositories/snapshots/ \
-    | tee ../api-publish.txt
-
-# Alternatively, we can deploy org.onosproject:buck-api with the following:
-#mvn deploy:deploy-file -DgroupId=org.onosproject -DartifactId=buck-api \
-#  -Dversion=0.1-SNAPSHOT -DgeneratePom=true -Dpackaging=jar \
-#  -DrepositoryId=snapshot -Durl=https://oss.sonatype.org/content/repositories/snapshots/ \
-#  -Dfile=buck-out/gen/src/com/facebook/buck/cli/main-fixed/main-fixed.jar
-
-#FIXME upload API to S3 for backup
-
-popd #buck
-
-SNAPSHOT_VERSION=$(cat api-publish.txt | grep "^org.onosproject:buck-api:jar" \
-                       | cut -d' ' -f1 | cut -d: -f4)
-BUCK_API_URL="$MVN_REPO/org/onosproject/buck-api/0.1-SNAPSHOT/buck-api-$SNAPSHOT_VERSION.jar"
-echo $BUCK_API_URL
-
-BUCK_API_SHA=$(shasum buck/buck-out/gen/src/com/facebook/buck/cli/main-fixed/main-fixed.jar | cut -d' ' -f1)
-echo $BUCK_API_SHA
-
-pushd onos
-sed -i "" -E "s#url =.*#url = '$BUCK_API_URL',#" tools/build/buck-plugin/BUCK
-sed -i "" -E "s#sha1 =.*#sha1 = '$BUCK_API_SHA',#" tools/build/buck-plugin/BUCK
-popd #onos
-
-#pushd onos-yang-tools
-#FIXME update version (assume 0.1-SNAPSHOT for now)
-#popd #onos-yang-tools
-
-set +x
-
-echo
-echo "Please build and verify the ONOS Buck plugin and the Yang tools plugin:"
-echo "  cd onos; buck build //tools/build/buck-plugin:onos"
-echo "  cd onos-yang-tools; mvn clean package"
-echo "You should commit and push any required changes."
diff --git a/tools/build/buck-publish-package b/tools/build/buck-publish-package
deleted file mode 100755
index 09d1612..0000000
--- a/tools/build/buck-publish-package
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/bin/bash
-
-for NEXT_VERSION in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20; do
-    DEFAULT_TAG=${TAG:-$(date +v%Y.%m.%d.$NEXT_VERSION)}
-    BUCK_ZIP="buck-$DEFAULT_TAG.zip"
-    DOWNLOAD_BASE="http://repo1.maven.org/maven2/org/onosproject/onos-buck/$DEFAULT_TAG"
-
-    if ! curl --output /dev/null --silent --head --fail "$DOWNLOAD_BASE/$BUCK_ZIP"; then
-        break;
-    fi
-done
-
-NO_BUCKD=1
-
-UPLOAD_BASE="https://oss.sonatype.org/service/local/staging/deploy/maven2/org/onosproject/onos-buck/$DEFAULT_TAG"
-BUCK_ZIP="buck-$DEFAULT_TAG.zip"
-ZIP_STAGE="buck-bin"
-
-rm -rf $ZIP_STAGE
-
-set -e
-set -x
-
-# build plugins
-
-pushd buck
-onos-buck build buck
-popd #buck
-
-pushd onos
-onos-buck build //tools/build/buck-plugin:onos
-popd #onos
-
-pushd onos-yang-tools
-mvn clean package
-popd #onos-yang-tools
-
-# assemble zip
-
-mkdir -p buck-bin/plugins
-
-cp buck/buck-out/gen/programs/buck.pex $ZIP_STAGE/buck
-cp onos/buck-out/gen/tools/build/buck-plugin/onos.jar $ZIP_STAGE/plugins/onos.jar
-cp onos-yang-tools/compiler/plugin/buck/target/onos-yang-compiler-buck-plugin-*.jar $ZIP_STAGE/plugins/yang.jar
-
-BUCK_VERSION=$(buck/buck-out/gen/programs/buck.pex -V)
-echo $BUCK_VERSION > $ZIP_STAGE/.buck_version
-
-chmod 555 $ZIP_STAGE/buck
-chmod 444 $ZIP_STAGE/.buck_version
-
-pushd $ZIP_STAGE
-zip -r ../$BUCK_ZIP buck .buck_version plugins
-popd #$ZIP_STAGE
-
-if [ "$1" != "--dry-run" ]; then
-    # publish zip
-    curl -v -u "$SONATYPE_USER:$SONATYPE_PASSWORD" --upload-file $BUCK_ZIP $UPLOAD_BASE/$BUCK_ZIP
-    echo "New buck release is in " $BUCK_ZIP
-fi
-
-# update version in onos-buck
-URL="$DOWNLOAD_BASE/$BUCK_ZIP"
-SHA=$(shasum $BUCK_ZIP | cut -d' ' -f1)
-
-sed -i "" -E "s#BUCK_URL=.*#BUCK_URL=\"$URL\"#" onos/tools/build/onos-buck
-sed -i "" -E "s#BUCK_SHA=.*#BUCK_SHA=\"$SHA\"#" onos/tools/build/onos-buck
-
-set +x
-echo
-echo "Commit and push change to onos-buck on the onos directory."
diff --git a/tools/build/buck-publish-setup b/tools/build/buck-publish-setup
deleted file mode 100755
index d180479..0000000
--- a/tools/build/buck-publish-setup
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/bash
-
-BUCK_REF=${1:-"11-11-2016"}
-ONOS_REF=${2:-"master"}
-YANG_REF=${3:-"master"}
-DIR=$4
-
-set -x
-
-if [ -z "$4" ]; then
-    DIR=$(mktemp -d /tmp/buck-publish.XXXXX) || { echo "Failed to create temp file"; exit 1; }
-fi
-# change to tmpdir
-cd $DIR
-
-# checkout buck
-git clone -b $BUCK_REF https://github.com/bocon13/buck
-
-# checkout plugins
-git clone -b $ONOS_REF https://gerrit.onosproject.org/onos.git
-git clone -b $YANG_REF https://gerrit.onosproject.org/onos-yang-tools.git
-
-set +x
-
-echo
-echo "Buck publish area:"
-echo "  cd $DIR"
-
diff --git a/tools/build/conf/BUCK b/tools/build/conf/BUCK
deleted file mode 100644
index 11ab279..0000000
--- a/tools/build/conf/BUCK
+++ /dev/null
@@ -1,81 +0,0 @@
-checkstyle_source = 'src/main/resources/onos/checkstyle.xml'
-suppression_source = 'src/main/resources/onos/suppressions.xml'
-header_source = 'src/main/resources/onos/onos-java.header'
-
-export_file (
-  name = 'checkstyle-xml',
-  src = checkstyle_source,
-  visibility = [ 'PUBLIC' ],
-)
-
-export_file (
-  name = 'suppressions-xml',
-  src = suppression_source,
-  visibility = [ 'PUBLIC' ],
-)
-
-export_file (
-  name = 'onos-java-header',
-  src = header_source,
-  visibility = [ 'PUBLIC' ],
-)
-
-export_file (
-  name = 'start-buck-daemon',
-  visibility = [ 'PUBLIC' ],
-)
-
-COMPILE = [
-  '//lib:com_google_guava_guava',
-  '//lib:checkstyle',
-]
-
-RUN = [
-  '//lib:commons-logging',
-  '//lib:commons-beanutils',
-  '//lib:commons-lang3',
-  '//lib:commons-collections',
-  '//lib:antlr',
-]
-
-java_library (
-  name = 'checkstyle',
-  srcs = glob([ 'src/main/java/**/*.java' ]),
-  deps = COMPILE,
-)
-
-java_binary (
-  name = 'buck-daemon-jar',
-  deps = [ ':checkstyle' ] + RUN,
-  main_class = 'org.onosproject.buckdaemon.BuckDaemon',
-  blacklist = [ 'META-INF/.*' ],
-  visibility = [ 'PUBLIC' ],
-)
-
-osgi_jar (
-  name = 'onos-build-conf',
-  srcs = [],
-  deps = [ ':checkstyle' ] + RUN,
-)
-
-# cmd = '#!/bin/bash\n'
-# cmd += '$1 &>/dev/null < /dev/null &'
-#
-# genrule(
-#   name = 'checkstyle-sh',
-#   bash = "echo '%s' > $OUT && chmod +x $OUT" % cmd,
-#   out = 'checkstyle.sh',
-# )
-#
-# sh_test(
-#   name = 'checkstyle-runner',
-#   test = ':checkstyle-sh',
-#   args = [
-#   '$(exe :checkstyle-jar)',
-#   '$(location //lib:checkstyle)',
-#   '$(location //tools/build/conf:checkstyle-xml)',
-#   '`mktemp /tmp/%s-checkstyle-XXXXXX`',
-#   ],
-#   labels = [ 'checkstyle' ],
-#   visibility = [ 'PUBLIC' ],
-# )
diff --git a/tools/build/conf/src/main/java/org/onosproject/buckdaemon/BuckDaemon.java b/tools/build/conf/src/main/java/org/onosproject/buckdaemon/BuckDaemon.java
deleted file mode 100644
index a253995..0000000
--- a/tools/build/conf/src/main/java/org/onosproject/buckdaemon/BuckDaemon.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * Copyright 2016-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.
- */
-
-package org.onosproject.buckdaemon;
-
-import com.puppycrawl.tools.checkstyle.api.CheckstyleException;
-import org.onosproject.checkstyle.CheckstyleRunner;
-
-import java.io.IOException;
-import java.io.PrintStream;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.net.ServerSocket;
-import java.net.Socket;
-import java.nio.ByteBuffer;
-import java.nio.channels.FileChannel;
-import java.nio.channels.FileLock;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Timer;
-import java.util.TimerTask;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-import static java.nio.file.StandardOpenOption.CREATE;
-import static java.nio.file.StandardOpenOption.WRITE;
-
-/**
- * Buck daemon process.
- */
-public final class BuckDaemon {
-
-    private static final long POLLING_INTERVAL = 1000; //ms
-
-    private final Map<String, BuckTask> tasks = new HashMap<>();
-    private final String portLock;
-    private final String buckPid;
-
-    // Public construction forbidden
-    private BuckDaemon(String[] args) {
-        portLock = args[0];
-        buckPid = args[1];
-    }
-
-    /**
-     * Main entry point for the daemon.
-     *
-     * @param args command-line arguments
-     * @throws CheckstyleException on checkstyle error
-     * @throws IOException on I/O error
-     */
-    public static void main(String[] args)
-            throws CheckstyleException, IOException {
-        BuckDaemon daemon = new BuckDaemon(args);
-        daemon.registerTasks();
-        daemon.startServer();
-    }
-
-    /**
-     * Registers re-entrant tasks by their task name.
-     */
-    private void registerTasks() {
-        tasks.put("checkstyle", new CheckstyleRunner(System.getProperty("checkstyle.config"),
-                                                     System.getProperty("checkstyle.suppressions")));
-        // tasks.put("swagger", new SwaggerGenerator());
-    }
-
-    /**
-     * Monitors another PID and exit when that process exits.
-     */
-    private void watchProcess(String pid) {
-        if (pid == null || pid.equals("0")) {
-            return;
-        }
-        Timer timer = new Timer(true); // start as a daemon, so we don't hang shutdown
-        timer.scheduleAtFixedRate(new TimerTask() {
-            private String cmd = "kill -s 0 " + pid;
-
-            @Override
-            public void run() {
-                try {
-                    Process p = Runtime.getRuntime().exec(cmd);
-                    p.waitFor();
-                    if (p.exitValue() != 0) {
-                        debug("shutting down...");
-                        System.exit(0);
-                    }
-                } catch (IOException | InterruptedException e) {
-                    //no-op
-                    e.printStackTrace();
-                }
-            }
-        }, POLLING_INTERVAL, POLLING_INTERVAL);
-    }
-
-    /**
-     * Initiates a server.
-     */
-    private void startServer() throws IOException, CheckstyleException {
-        // Use a file lock to ensure only one copy of the daemon runs
-        Path portLockPath = Paths.get(portLock);
-        FileChannel channel = FileChannel.open(portLockPath, WRITE, CREATE);
-        FileLock lock = channel.tryLock();
-        if (lock == null) {
-            debug("Server is already running");
-            System.exit(1);
-        } //else, hold the lock until the JVM exits
-
-        // Start the server and bind it to a random port
-        ServerSocket server = new ServerSocket(0);
-
-        // Monitor the parent buck process
-        watchProcess(buckPid);
-
-        // Set up hook to clean up after ourselves
-        Runtime.getRuntime().addShutdownHook(new Thread(() -> {
-            try {
-                channel.truncate(0);
-                channel.close();
-                debug("tear down...");
-                Files.delete(portLockPath);
-            } catch (IOException e) {
-                //no-op: shutting down
-                e.printStackTrace();
-            }
-        }));
-
-        // Write the bound port to the port file
-        int port = server.getLocalPort();
-        channel.truncate(0);
-        channel.write(ByteBuffer.wrap(Integer.toString(port).getBytes()));
-        channel.force(false); // flush the port number to disk
-
-        // Instantiate a Checkstyle runner and executor; serve until exit...
-        ExecutorService executor = Executors.newCachedThreadPool();
-        while (true) {
-            try {
-                executor.submit(new BuckTaskRunner(server.accept()));
-            } catch (Exception e) {
-                e.printStackTrace();
-                //no-op
-            }
-        }
-    }
-
-    /**
-     * Runnable capable of invoking the appropriate Buck task with input
-     * consumed form the specified socket and output produced back to that
-     * socket.
-     */
-    private class BuckTaskRunner implements Runnable {
-
-        private final Socket socket;
-
-        public BuckTaskRunner(Socket socket) {
-            this.socket = socket;
-        }
-
-        @Override
-        public void run() {
-            try {
-                try {
-                    socket.setSoTimeout(1_000); //reads should time out after 1 second
-                    BuckTaskContext context = BuckTaskContext.createBuckTaskContext(socket.getInputStream());
-                    if (context == null) {
-                        socket.close();
-                        return;
-                    }
-
-                    String taskName = context.taskName();
-                    BuckTask task = tasks.get(taskName);
-                    if (task != null) {
-                        debug(String.format("Executing task '%s'", taskName));
-                        try {
-                            task.execute(context);
-                            for (String line : context.output()) {
-                                send(socket, line);
-                            }
-                            // TODO should we catch Exception, RuntimeException, or something specific?
-                        } catch (Throwable e) {
-                            e.printStackTrace(new PrintStream(socket.getOutputStream()));
-                        }
-                    } else {
-                        String message = String.format("No task named '%s'", taskName);
-                        debug(message);
-                        send(socket, message);
-                    }
-                } catch (Throwable e) {
-                    StringWriter writer = new StringWriter();
-                    e.printStackTrace(new PrintWriter(writer));
-                    String stacktrace = writer.toString();
-                    debug(stacktrace);
-                    send(socket, stacktrace);
-                }
-                socket.getOutputStream().flush();
-                socket.close();
-            } catch (IOException e) {
-                e.printStackTrace();
-            }
-        }
-
-    }
-
-    private static void send(Socket socket, String line) throws IOException {
-        socket.getOutputStream().write((line + "\n").getBytes());
-    }
-
-    private static void debug(String message) {
-        // no-op; print to System.out if needed
-    }
-}
diff --git a/tools/build/conf/src/main/java/org/onosproject/buckdaemon/BuckTask.java b/tools/build/conf/src/main/java/org/onosproject/buckdaemon/BuckTask.java
deleted file mode 100644
index d579305..0000000
--- a/tools/build/conf/src/main/java/org/onosproject/buckdaemon/BuckTask.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright 2016-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.
- */
-
-package org.onosproject.buckdaemon;
-
-/**
- * Abstraction of a Buck task that can be spawned by the Buck daemon.
- */
-public interface BuckTask {
-
-    /**
-     * Executes the task, consuming the specified input and producing output.
-     *
-     * @param context context for the tast operation
-     */
-    void execute(BuckTaskContext context);
-
-}
diff --git a/tools/build/conf/src/main/java/org/onosproject/buckdaemon/BuckTaskContext.java b/tools/build/conf/src/main/java/org/onosproject/buckdaemon/BuckTaskContext.java
deleted file mode 100644
index 8dabfd2..0000000
--- a/tools/build/conf/src/main/java/org/onosproject/buckdaemon/BuckTaskContext.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright 2016-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.
- */
-
-package org.onosproject.buckdaemon;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Lists;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.List;
-
-/**
- * Context for executing a single Buck task.
- */
-public class BuckTaskContext {
-
-    private final String taskName;
-    private final ImmutableList<String> input;
-    private final List<String> output;
-
-    public static BuckTaskContext createBuckTaskContext(InputStream inputStream) throws IOException {
-        ImmutableList<String> lines = slurpInput(inputStream);
-        if (lines.size() == 0) {
-            return null;
-        } else {
-            return new BuckTaskContext(lines);
-        }
-    }
-
-    BuckTaskContext(ImmutableList<String> lines) {
-        this.taskName = lines.get(0);
-        this.input = lines.subList(1, lines.size());
-        this.output = Lists.newArrayList();
-    }
-
-    /**
-     * Reads all input, line by line, from a stream until an empty line or EOF is encountered.
-     *
-     * @param stream input stream
-     * @return the lines of the input
-     * @throws IOException
-     */
-    private static ImmutableList<String> slurpInput(InputStream stream) throws IOException {
-        ImmutableList.Builder<String> lines = ImmutableList.builder();
-        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(stream));
-        while (true) {
-            String line = bufferedReader.readLine();
-            if (line == null || line.trim().length() == 0) {
-                // Empty line or EOF
-                break;
-            }
-            lines.add(line);
-        }
-        return lines.build();
-    }
-
-    /**
-     * Returns the symbolic task name.
-     *
-     * @return symbolic task name
-     */
-    public String taskName() {
-        return taskName;
-    }
-
-    /**
-     * Returns the input data a list of strings.
-     *
-     * @return input data
-     */
-    public List<String> input() {
-        return ImmutableList.copyOf(input);
-    }
-
-    /**
-     * Returns the output data a list of strings.
-     *
-     * @return output data
-     */
-    List<String> output() {
-        return ImmutableList.copyOf(output);
-    }
-
-    /**
-     * Adds a line to the output data.
-     *
-     * @param line line of output data
-     */
-    public void output(String line) {
-        output.add(line);
-    }
-
-}
diff --git a/tools/build/conf/start-buck-daemon b/tools/build/conf/start-buck-daemon
deleted file mode 100755
index b747376..0000000
--- a/tools/build/conf/start-buck-daemon
+++ /dev/null
@@ -1,80 +0,0 @@
-#!/bin/bash
-# -----------------------------------------------------------------------------
-# Launches Buck daemon if not already running and requests Buck task execution.
-# -----------------------------------------------------------------------------
-
-BUCK_DAEMON=$1
-TASK=${2:-unspecified}
-DATA=${3}
-
-# TODO: Figure out how to parametrize better
-BUCK_PROPS="-Dcheckstyle.config=$4 -Dcheckstyle.suppressions=$5"
-
-PORT_FILE="$1.port"
-
-function ppid() {
-    ps -p ${1:-$$} -o ppid= -o pid= -o comm=
-}
-
-function buck_pid() {
-    BUCK_PID=($(ppid))
-    while [ ${BUCK_PID[0]} -ne 0 ]; do
-        BUCK_PID=($(ppid $BUCK_PID))
-        if [ "${BUCK_PID[2]}" == "buck" ]; then
-            # use parent PID of buck
-            echo ${BUCK_PID[0]}
-            return
-        fi
-        if [ "${BUCK_PID[2]}" == "buckd" ] ||
-           [[ "${BUCK_PID[2]}" == *"python"* ]]; then
-            # use PID of buckd or python
-            echo ${BUCK_PID[1]}
-            return
-        fi
-    done
-    # fallback last read PID
-    echo ${BUCK_PID[1]}
-}
-
-function port() {
-    cat $PORT_FILE 2>/dev/null || echo 0
-}
-
-function check_socket() {
-    printf "\n" | nc localhost $(port) 2>/dev/null
-    return $?
-}
-
-# check to see if buck daemon is running; if not, start it
-if ! check_socket; then
-    # Starting buck daemon...
-    #FIXME change to /dev/null if/when we are confident
-    nohup java $BUCK_PROPS -jar $BUCK_DAEMON $PORT_FILE $(buck_pid) >>/tmp/buck.daemon 2>&1 &
-
-    TRIES=20
-    i=0
-    # Wait for buck daemon to start for 2 seconds
-    while [ $i -lt $TRIES ]; do
-        if check_socket; then
-            CONNECTED=true
-            break
-        fi
-        let i=i+1
-        sleep 0.1
-    done
-    if [ -z "$CONNECTED" ]; then
-        echo "Failed to start buck daemon"
-        exit 3
-    fi
-fi
-
-# run the actual buck daemon client
-OUT=$((printf "%s\n" $TASK; cat $DATA) | nc localhost $(port))
-if [ $? -ne 0 ]; then
-    echo "Error connecting to buck daemon server"
-    exit 2
-fi
-if [ -n "$OUT" ]; then
-    printf "$OUT"
-    exit 1
-fi
\ No newline at end of file
diff --git a/tools/build/jenkins/onos-buck-gerrit b/tools/build/jenkins/onos-buck-gerrit
deleted file mode 100644
index 7638a2a..0000000
--- a/tools/build/jenkins/onos-buck-gerrit
+++ /dev/null
@@ -1,37 +0,0 @@
-#!groovy
-
-pipeline {
-
-    agent { node { label 'ubuntu16.04-basebuild-8c-15g' } }
-
-    stages {
-
-        stage('build') {
-            steps {
-                sh '''#!/bin/bash -l
-                    ONOS_ROOT=`pwd`
-                    source tools/build/envDefaults
-                    onos-buck build onos
-                '''
-            }
-        }
-
-        stage('test') {
-            steps {
-                parallel (
-                    "unit-tests": {
-                        sh '''#!/bin/bash -l
-                            ONOS_ROOT=`pwd`
-                            source tools/build/envDefaults
-                            onos-buck test
-                            onos-buck build //docs:external //docs:internal --show-output
-                        '''
-                    },
-                    // additional steps here (STC, docker buld, etc)
-                )
-            }
-        }
-    }
-
-}
-
diff --git a/tools/build/libgen/pom.xml b/tools/build/libgen/pom.xml
index 9288bb3..e28cbb7 100644
--- a/tools/build/libgen/pom.xml
+++ b/tools/build/libgen/pom.xml
@@ -31,7 +31,7 @@
     <packaging>jar</packaging>
     <version>1.6-SNAPSHOT</version>
 
-    <description>Third-party library generator for Buck and Bazel workspaces</description>
+    <description>Third-party library generator for ONOS Bazel workspace</description>
     <url>http://onosproject.org/</url>
 
     <scm>
@@ -116,7 +116,7 @@
                     <transformers>
                         <transformer
                                 implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
-                            <mainClass>org.onosproject.libgen.BuckLibGenerator</mainClass>
+                            <mainClass>org.onosproject.libgen.BazelLibGenerator</mainClass>
                         </transformer>
                     </transformers>
                     <filters>
diff --git a/tools/build/libgen/src/main/java/org/onosproject/libgen/AetherResolver.java b/tools/build/libgen/src/main/java/org/onosproject/libgen/AetherResolver.java
index e97bad5..23ffc9e 100755
--- a/tools/build/libgen/src/main/java/org/onosproject/libgen/AetherResolver.java
+++ b/tools/build/libgen/src/main/java/org/onosproject/libgen/AetherResolver.java
@@ -24,10 +24,9 @@
 import org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory;
 import org.eclipse.aether.impl.DefaultServiceLocator;
 import org.eclipse.aether.repository.LocalRepository;
+import org.eclipse.aether.repository.Proxy;
 import org.eclipse.aether.repository.RemoteRepository;
 import org.eclipse.aether.repository.RepositoryPolicy;
-import org.eclipse.aether.repository.Proxy;
-import org.eclipse.aether.util.repository.AuthenticationBuilder;
 import org.eclipse.aether.resolution.ArtifactRequest;
 import org.eclipse.aether.resolution.ArtifactResult;
 import org.eclipse.aether.resolution.VersionRangeRequest;
@@ -37,6 +36,7 @@
 import org.eclipse.aether.spi.connector.transport.TransporterFactory;
 import org.eclipse.aether.transport.file.FileTransporterFactory;
 import org.eclipse.aether.transport.http.HttpTransporterFactory;
+import org.eclipse.aether.util.repository.AuthenticationBuilder;
 import org.eclipse.aether.version.Version;
 
 import java.io.BufferedReader;
@@ -49,8 +49,8 @@
 import java.util.List;
 import java.util.jar.Attributes;
 import java.util.jar.JarFile;
-import java.util.regex.Pattern;
 import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 import static org.eclipse.aether.repository.RepositoryPolicy.CHECKSUM_POLICY_WARN;
 import static org.eclipse.aether.repository.RepositoryPolicy.UPDATE_POLICY_ALWAYS;
@@ -68,40 +68,38 @@
 
     static {
         DefaultServiceLocator locator = MavenRepositorySystemUtils.newServiceLocator();
-        locator.addService(RepositoryConnectorFactory.class, BasicRepositoryConnectorFactory.class );
-        locator.addService(TransporterFactory.class, FileTransporterFactory.class );
-        locator.addService(TransporterFactory.class, HttpTransporterFactory.class );
+        locator.addService(RepositoryConnectorFactory.class, BasicRepositoryConnectorFactory.class);
+        locator.addService(TransporterFactory.class, FileTransporterFactory.class);
+        locator.addService(TransporterFactory.class, HttpTransporterFactory.class);
 
-        locator.setErrorHandler( new DefaultServiceLocator.ErrorHandler()
-        {
+        locator.setErrorHandler(new DefaultServiceLocator.ErrorHandler() {
             @Override
-            public void serviceCreationFailed( Class<?> type, Class<?> impl, Throwable exception )
-            {
+            public void serviceCreationFailed(Class<?> type, Class<?> impl, Throwable exception) {
                 exception.printStackTrace();
             }
-        } );
+        });
 
-        AetherResolver.system = locator.getService( RepositorySystem.class );
+        AetherResolver.system = locator.getService(RepositorySystem.class);
 
         DefaultRepositorySystemSession session = MavenRepositorySystemUtils.newSession();
 
-        LocalRepository localRepo = new LocalRepository("target/local-repo" );
-        session.setLocalRepositoryManager( system.newLocalRepositoryManager( session, localRepo ) );
+        LocalRepository localRepo = new LocalRepository("target/local-repo");
+        session.setLocalRepositoryManager(system.newLocalRepositoryManager(session, localRepo));
 
         //session.setTransferListener( new ConsoleTransferListener() );
         //session.setRepositoryListener( new ConsoleRepositoryListener() );
         AetherResolver.session = session;
     }
 
-    public static BuckArtifact getArtifact(String name, String uri, String repo, boolean generateForBazel) {
-        return new AetherResolver(repo).build(name, uri, generateForBazel);
+    public static BazelArtifact getArtifact(String name, String uri, String repo) {
+        return new AetherResolver(repo).build(name, uri);
     }
 
     private AetherResolver(String repoUrl) {
         this.repoUrl = repoUrl;
     }
 
-    private BuckArtifact build(String name, String uri, boolean generateForBazel) {
+    private BazelArtifact build(String name, String uri) {
         uri = uri.replaceFirst("mvn:", "");
         Artifact artifact = new DefaultArtifact(uri);
         String originalVersion = artifact.getVersion();
@@ -113,20 +111,20 @@
 
             if (originalVersion.endsWith("-SNAPSHOT")) {
                 String url = String.format("%s/%s/%s/%s/%s-%s.%s",
-                                            repoUrl,
-                                            artifact.getGroupId().replace('.', '/'),
-                                            artifact.getArtifactId(),
-                                            originalVersion,
-                                            artifact.getArtifactId(),
-                                            artifact.getVersion(),
-                                            artifact.getExtension());
+                                           repoUrl,
+                                           artifact.getGroupId().replace('.', '/'),
+                                           artifact.getArtifactId(),
+                                           originalVersion,
+                                           artifact.getArtifactId(),
+                                           artifact.getVersion(),
+                                           artifact.getExtension());
                 String mavenCoords = String.format("%s:%s:%s",
                                                    artifact.getGroupId(),
                                                    artifact.getArtifactId(),
                                                    originalVersion);
-                return BuckArtifact.getArtifact(name, url, sha, mavenCoords, osgiReady, generateForBazel);
+                return BazelArtifact.getArtifact(name, url, sha, mavenCoords, osgiReady);
             }
-            return BuckArtifact.getArtifact(name, artifact, sha, repoUrl, osgiReady, generateForBazel);
+            return BazelArtifact.getArtifact(name, artifact, sha, repoUrl, osgiReady);
         } catch (Exception e) {
             throw new RuntimeException(e);
         }
@@ -157,13 +155,13 @@
 
         // artifactId-version[-classifier].version.sha1
         file.append(artifact.getArtifactId())
-            .append('-').append(artifact.getVersion());
+                .append('-').append(artifact.getVersion());
 
         if (!artifact.getClassifier().isEmpty()) {
             file.append('-').append(artifact.getClassifier());
         }
         file.append('.').append(artifact.getExtension())
-            .append(".sha1");
+                .append(".sha1");
 
         String shaPath = Paths.get(directory, file.toString()).toString();
 
@@ -177,7 +175,7 @@
         rangeRequest.setArtifact(artifact);
         rangeRequest.setRepositories(repositories());
 
-        VersionRangeResult rangeResult = system.resolveVersionRange(session, rangeRequest );
+        VersionRangeResult rangeResult = system.resolveVersionRange(session, rangeRequest);
 
         Version newestVersion = rangeResult.getHighestVersion();
 
@@ -195,19 +193,19 @@
             // set authentication
             if ((proxyHostInfo.get(2) != null) && (proxyHostInfo.get(3) != null)) {
                 central.setProxy(
-                    new Proxy(Proxy.TYPE_HTTP, proxyHostInfo.get(0), Integer.valueOf(proxyHostInfo.get(1)),
-                          new AuthenticationBuilder()
-                          .addUsername(proxyHostInfo.get(2)).addPassword(proxyHostInfo.get(3)).build()));
+                        new Proxy(Proxy.TYPE_HTTP, proxyHostInfo.get(0), Integer.valueOf(proxyHostInfo.get(1)),
+                                  new AuthenticationBuilder()
+                                          .addUsername(proxyHostInfo.get(2)).addPassword(proxyHostInfo.get(3)).build()));
             } else {
                 central.setProxy(
-                    new Proxy(Proxy.TYPE_HTTP, proxyHostInfo.get(0), Integer.valueOf(proxyHostInfo.get(1))));
+                        new Proxy(Proxy.TYPE_HTTP, proxyHostInfo.get(0), Integer.valueOf(proxyHostInfo.get(1))));
             }
         }
 
         if (repoUrl != null && repoUrl.length() > 0) {
             RemoteRepository.Builder other =
-                new RemoteRepository.Builder("temp", "default", repoUrl)
-                    .setSnapshotPolicy(new RepositoryPolicy(true, UPDATE_POLICY_ALWAYS, CHECKSUM_POLICY_WARN));
+                    new RemoteRepository.Builder("temp", "default", repoUrl)
+                            .setSnapshotPolicy(new RepositoryPolicy(true, UPDATE_POLICY_ALWAYS, CHECKSUM_POLICY_WARN));
 
             // set https_proxy
             String env_https_proxy = System.getenv("HTTPS_PROXY");
@@ -217,12 +215,12 @@
                 // set authentication
                 if ((proxyHostInfo.get(2) != null) && (proxyHostInfo.get(3) != null)) {
                     other.setProxy(
-                        new Proxy(Proxy.TYPE_HTTPS, proxyHostInfo.get(0), Integer.valueOf(proxyHostInfo.get(1)),
-                            new AuthenticationBuilder()
-                            .addUsername(proxyHostInfo.get(2)).addPassword(proxyHostInfo.get(3)).build()));
+                            new Proxy(Proxy.TYPE_HTTPS, proxyHostInfo.get(0), Integer.valueOf(proxyHostInfo.get(1)),
+                                      new AuthenticationBuilder()
+                                              .addUsername(proxyHostInfo.get(2)).addPassword(proxyHostInfo.get(3)).build()));
                 } else {
                     other.setProxy(
-                        new Proxy(Proxy.TYPE_HTTPS, proxyHostInfo.get(0), Integer.valueOf(proxyHostInfo.get(1))));
+                            new Proxy(Proxy.TYPE_HTTPS, proxyHostInfo.get(0), Integer.valueOf(proxyHostInfo.get(1))));
                 }
             }
 
diff --git a/tools/build/libgen/src/main/java/org/onosproject/libgen/BazelArtifact.java b/tools/build/libgen/src/main/java/org/onosproject/libgen/BazelArtifact.java
new file mode 100644
index 0000000..ae13b56
--- /dev/null
+++ b/tools/build/libgen/src/main/java/org/onosproject/libgen/BazelArtifact.java
@@ -0,0 +1,235 @@
+/*
+ * Copyright 2016-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.
+ */
+package org.onosproject.libgen;
+
+import org.eclipse.aether.artifact.Artifact;
+
+/**
+ * Representation of a remote artifact for Bazel.
+ */
+public abstract class BazelArtifact {
+
+    private final String name;
+    private final String sha;
+    private final boolean osgiReady;
+
+    public static BazelArtifact getArtifact(String name, Artifact artifact, String sha, String repo,
+                                            boolean osgiReady) {
+        return new MavenArtifact(name, artifact, sha, repo, osgiReady);
+    }
+
+    public static BazelArtifact getArtifact(String name, String url, String sha, String mavenCoords,
+                                            boolean osgiReady) {
+        return new HTTPArtifact(name, url, sha, mavenCoords, osgiReady);
+    }
+
+    public static org.onosproject.libgen.BazelArtifact getArtifact(String name, String url, String sha) {
+        return new HTTPArtifact(name, url, sha, null, true);
+    }
+
+    public BazelArtifact(String name, String sha, boolean osgiReady) {
+        this.name = name;
+        this.sha = sha;
+        this.osgiReady = osgiReady;
+    }
+
+    public String name() {
+        return name.replaceAll("[.-]", "_");
+    }
+
+    abstract String fileName();
+
+    abstract String url();
+
+    abstract String url(boolean withClassifier);
+
+    private String jarTarget() {
+        return name != null ? name() : fileName();
+    }
+
+    private boolean isPublic() {
+        return name != null;
+    }
+
+    boolean isOsgiReady() {
+        return osgiReady;
+    }
+
+    String httpUrl() {
+        return "";
+    }
+
+    String mavenCoords() {
+        return null;
+    }
+
+    String bazelExport() {
+        return "@" + jarTarget() + "//:" + jarTarget();
+    }
+
+    private boolean isJar() {
+        return fileName().endsWith(".jar");
+    }
+
+    String getMavenJarFragment() {
+        System.out.println(name + " == " + httpUrl());
+        String sha256 = BazelLibGenerator.getHttpSha256(name, httpUrl());
+        String format = "\n" +
+                "    if \"%s\" not in native.existing_rules():\n" +
+                "        java_import_external(\n" +
+                "            name = \"%s\",\n" +
+                "            jar_sha256 = \"%s\",\n" +
+                "            licenses = [\"notice\"],\n" +
+                "            jar_urls = [\"%s\"]," +
+                "        )";
+
+        return String.format(format, jarTarget(), jarTarget(), sha256, httpUrl());
+
+    }
+
+    String getFragment() {
+        String visibility = isPublic() ? "[ 'PUBLIC' ]" : "[]";
+
+        String output = (isJar() ? "remote_jar" : "remote_file") + " (\n" +
+                "  name = '%s',\n" + // jar target
+                "  out = '%s',\n" + // jar file name
+                "  url = '%s',\n" + // maven url
+                "  sha1 = '%s',\n" + // artifact sha
+                (isJar() && mavenCoords() != null ?
+                        "  maven_coords = '" + mavenCoords() + "',\n" : "") +
+                "  visibility = %s,\n" +
+                ")\n\n";
+
+        return String.format(output, jarTarget(), fileName(), url(), sha, visibility);
+    }
+
+    private static class HTTPArtifact extends BazelArtifact {
+        private final String url;
+        private final String mavenCoords;
+
+        public HTTPArtifact(String name, String url, String sha,
+                            String mavenCoords, boolean osgiReady) {
+            super(name, sha, osgiReady);
+            this.url = url;
+            this.mavenCoords = mavenCoords;
+        }
+
+        @Override
+        String fileName() {
+            String[] parts = url.split("/");
+            return parts[parts.length - 1];
+        }
+
+        @Override
+        String mavenCoords() {
+            return mavenCoords;
+        }
+
+        @Override
+        String url() {
+            return url;
+        }
+
+        @Override
+        String url(boolean withClassifier) {
+            return url;
+        }
+
+        @Override
+        String httpUrl() {
+            return url;
+        }
+    }
+
+    private static class MavenArtifact extends BazelArtifact {
+        private final Artifact artifact;
+        private final String repo;
+
+        private MavenArtifact(String name, Artifact artifact, String sha,
+                              String repo, boolean osgiReady) {
+            super(name, sha, osgiReady);
+            this.artifact = artifact;
+            this.repo = repo;
+        }
+
+        @Override
+        String url() {
+            //mvn:[repo:]groupId:artifactId:[extension:[classifier:]]:version
+            StringBuilder mvnUrl = new StringBuilder("mvn:");
+            if (repo != null && repo.length() > 0) {
+                mvnUrl.append(repo).append(':');
+            }
+            mvnUrl.append(artifact.getGroupId()).append(':')
+                    .append(artifact.getArtifactId()).append(':')
+                    .append(artifact.getExtension()).append(':');
+            if (artifact.getClassifier() != null && artifact.getClassifier().length() > 0) {
+                mvnUrl.append(artifact.getClassifier()).append(':');
+            }
+            mvnUrl.append(artifact.getVersion());
+            return mvnUrl.toString();
+        }
+
+        @Override
+        String httpUrl() {
+            return "http://repo1.maven.org/maven2/" +
+                    artifact.getGroupId().replace(".", "/") +
+                    "/" + artifact.getArtifactId() +
+                    "/" + artifact.getVersion() +
+                    "/" + artifact.getFile().getName();
+        }
+
+        @Override
+        String url(boolean withClassifier) {
+            String url = url();
+            if (withClassifier && !isOsgiReady()) {
+                int i = url.lastIndexOf(':');
+                if (i > 0) {
+                    url = url.substring(0, i) + ":NON-OSGI" + url.substring(i);
+                }
+            }
+            return url;
+        }
+
+        //FIXME get sources jars
+
+        @Override
+        String mavenCoords() {
+            String classifer = artifact.getClassifier();
+            if ("jar".equals(artifact.getExtension().toLowerCase()) &&
+                    classifer.length() == 0) {
+                // shorter form
+                return String.format("%s:%s:%s",
+                                     artifact.getGroupId(),
+                                     artifact.getArtifactId(),
+                                     artifact.getVersion());
+            }
+            return String.format("%s:%s:%s:%s:%s",
+                                 artifact.getGroupId(),
+                                 artifact.getArtifactId(),
+                                 artifact.getExtension(),
+                                 classifer,
+                                 artifact.getVersion());
+        }
+
+        @Override
+        String fileName() {
+            return String.format("%s-%s.%s",
+                                 artifact.getArtifactId(),
+                                 artifact.getVersion(),
+                                 artifact.getExtension());
+        }
+    }
+}
diff --git a/tools/build/libgen/src/main/java/org/onosproject/libgen/BazelLibGenerator.java b/tools/build/libgen/src/main/java/org/onosproject/libgen/BazelLibGenerator.java
new file mode 100755
index 0000000..991d4dd
--- /dev/null
+++ b/tools/build/libgen/src/main/java/org/onosproject/libgen/BazelLibGenerator.java
@@ -0,0 +1,320 @@
+/*
+ * Copyright 2016-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.
+ */
+package org.onosproject.libgen;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.PrintWriter;
+import java.net.Authenticator;
+import java.net.InetSocketAddress;
+import java.net.PasswordAuthentication;
+import java.net.Proxy;
+import java.net.URL;
+import java.net.URLConnection;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+import java.time.Instant;
+import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import java.util.stream.Stream;
+
+/**
+ * Generates a worspace inclusion file from a JSON file containing third-party
+ * library dependencies.
+ */
+public class BazelLibGenerator {
+
+    private final ObjectNode jsonRoot;
+    private final List<BazelArtifact> artifacts = new ArrayList<>();
+    private final List<BazelLibrary> libraries = new ArrayList<>();
+
+    /**
+     * Main entry point.
+     *
+     * @param args command-line arguments; JSON input file and Bazel workspace output file
+     */
+    public static void main(String[] args) throws Exception {
+        if (args.length < 2) {
+            System.err.println("sage: onos-lib-gen <input-deps.json> <output-workspace.bzl>");
+            System.exit(5);
+        }
+
+        // Parse args
+        String jsonFilePath = args[0];
+        String outputWorkspaceFilePath = args[1];
+
+        // Load and parse input JSON file
+        ObjectMapper mapper = new ObjectMapper();
+        mapper.configure(JsonParser.Feature.ALLOW_COMMENTS, true);
+        ObjectNode json = (ObjectNode) mapper.reader()
+                .readTree(new FileInputStream(jsonFilePath));
+
+        // Traverse dependencies and build a dependency graph (DAG)
+        org.onosproject.libgen.BazelLibGenerator generator = new org.onosproject.libgen.BazelLibGenerator(json).resolve();
+
+        // Write the output workspace file
+        generator.write(outputWorkspaceFilePath);
+        System.out.printf("\nFinish writing %s\n", outputWorkspaceFilePath);
+    }
+
+    public BazelLibGenerator(ObjectNode root) {
+        this.jsonRoot = root;
+    }
+
+    private BazelArtifact parseArtifact(Map.Entry<String, JsonNode> entry) {
+        String name = entry.getKey();
+        JsonNode value = entry.getValue();
+        String uri;
+        String repo = null;
+        if (value.isTextual()) {
+            uri = value.asText();
+        } else if (value.isObject()) {
+            uri = value.get("uri").asText();
+            repo = value.get("repo").asText("");
+        } else {
+            throw new RuntimeException("Unknown element for name: " + name +
+                                               " of type: " + value.getNodeType());
+        }
+
+        System.out.print(name + " ");
+        System.out.flush();
+        BazelArtifact bazelArtifact;
+        if (uri.startsWith("http")) {
+            String sha = getHttpSha256(name, uri);
+            bazelArtifact = BazelArtifact.getArtifact(name, uri, sha);
+        } else if (uri.startsWith("mvn")) {
+            uri = uri.replaceFirst("mvn:", "");
+            bazelArtifact = AetherResolver.getArtifact(name, uri, repo);
+        } else {
+            throw new RuntimeException("Unsupported artifact uri: " + uri);
+        }
+        System.out.println(bazelArtifact.url());
+        return bazelArtifact;
+    }
+
+    private BazelLibrary parseLibrary(Map.Entry<String, JsonNode> entry) {
+        String libraryName = entry.getKey();
+        JsonNode list = entry.getValue();
+        if (list.size() == 0) {
+            throw new RuntimeException("Empty library: " + libraryName);
+        }
+
+        List<String> libraryTargets = new ArrayList<>(list.size());
+        list.forEach(node -> {
+            String name;
+            if (node.isObject()) {
+                name = node.get("name").asText();
+            } else if (node.isTextual()) {
+                name = node.asText();
+            } else {
+                throw new RuntimeException("Unknown node type: " + node.getNodeType());
+            }
+            if (!name.contains(":")) {
+                name = ':' + name;
+            }
+            libraryTargets.add(name);
+        });
+
+        return BazelLibrary.getLibrary(libraryName, libraryTargets);
+    }
+
+    public org.onosproject.libgen.BazelLibGenerator resolve() {
+        jsonRoot.get("artifacts").fields().forEachRemaining(entry -> {
+            BazelArtifact bazelArtifact = parseArtifact(entry);
+            artifacts.add(bazelArtifact);
+        });
+
+        jsonRoot.get("libraries").fields().forEachRemaining(entry -> {
+            BazelLibrary library = parseLibrary(entry);
+            libraries.add(library);
+        });
+
+        return this;
+    }
+
+    private String generateArtifacts() {
+        StringBuilder sb = new StringBuilder();
+        StringBuilder mavenJars = new StringBuilder();
+        mavenJars.append("\ndef generated_maven_jars():");
+        artifacts.forEach(artifact -> {
+            mavenJars.append(artifact.getMavenJarFragment());
+        });
+        sb.append(mavenJars);
+        return sb.toString();
+    }
+
+    private String generateArtifactMap() {
+        StringBuilder artifactMap = new StringBuilder();
+
+        artifactMap.append("\nartifact_map = {}");
+
+        artifacts.forEach(artifact -> {
+            artifactMap.append("\nartifact_map[\"" + artifact.bazelExport() + "\"] = \"" + artifact.url(true) + "\"");
+        });
+
+        artifactMap.append(
+                "\n\n" +
+                        "def maven_coordinates(label):\n" +
+                        "    label_string = str(label)\n" +
+                        "    if label_string in artifact_map:\n" +
+                        "        return artifact_map[label_string]\n" +
+                        "    if (label_string.endswith(\":jar\")):\n" +
+                        "        label_string = label_string.replace(\":jar\", \"\")\n" +
+                        "        if label_string in artifact_map:\n" +
+                        "            return artifact_map[label_string]\n" +
+                        "    if type(label) == \"string\":\n" +
+                        "        return \"mvn:%s:%s:%s\" % (ONOS_GROUP_ID, label_string, ONOS_VERSION)\n" +
+                        "    return \"mvn:%s:%s:%s\" % (ONOS_GROUP_ID, label.name, ONOS_VERSION)\n"
+        );
+
+        return artifactMap.toString();
+    }
+
+    void write(String outputFilePath) {
+        DateTimeFormatter formatter = DateTimeFormatter.RFC_1123_DATE_TIME.withZone(ZoneId.of("UTC"));
+        File outputFile = new File(outputFilePath);
+        if (!outputFile.setWritable(true)) {
+            error("Failed to make %s to writeable.", outputFilePath);
+        }
+        try (PrintWriter writer = new PrintWriter(outputFile)) {
+            writer.write(String.format(
+                    "# ***** This file was auto-generated at %s. Do not edit this file manually. *****\n",
+                    formatter.format(Instant.now())));
+            writer.write("# ***** Use onos-lib-gen *****\n");
+
+            writer.write("\nload(\"//tools/build/bazel:variables.bzl\", \"ONOS_GROUP_ID\", \"ONOS_VERSION\")\n\n");
+            writer.write("\nload(\"@bazel_tools//tools/build_defs/repo:java.bzl\", \"java_import_external\")\n\n");
+
+            libraries.forEach(library -> writer.print(library.getFragment()));
+            writer.print(generateArtifacts());
+            writer.print(generateArtifactMap());
+            writer.flush();
+        } catch (FileNotFoundException e) {
+            error("File not found: %s", outputFilePath);
+        }
+        if (!outputFile.setReadOnly()) {
+            error("Failed to set %s to read-only.", outputFilePath);
+        }
+    }
+
+    static String getHttpSha1(String name, String urlStr) {
+        return getHttpSha(name, urlStr, "SHA-1");
+    }
+
+    static String getHttpSha256(String name, String urlStr) {
+        return getHttpSha(name, urlStr, "SHA-256");
+    }
+
+    private static String getHttpSha(String name, String urlStr, String algorithm) {
+        try {
+            MessageDigest md = MessageDigest.getInstance(algorithm);
+            byte[] buffer = new byte[8192];
+
+            URL url = new URL(urlStr);
+
+            Optional<File> cache = Optional.ofNullable(System.getenv("ONOS_ROOT"))
+                    .map(Paths::get)
+                    .map(Stream::of)
+                    .orElseGet(Stream::empty)
+                    .map(Path::toFile)
+                    .filter(File::canRead)
+                    .findAny();
+
+            System.setProperty("jdk.http.auth.tunneling.disabledSchemes", "");
+
+            URLConnection connection;
+            String env_http_proxy = System.getenv("HTTP_PROXY");
+            if (env_http_proxy != null) {
+                List<String> proxyHostInfo = getProxyHostInfo(env_http_proxy);
+                Proxy http_proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHostInfo.get(0),
+                                                                                    Integer.valueOf(proxyHostInfo.get(1))));
+
+                if ((proxyHostInfo.get(2) != null) && (proxyHostInfo.get(3) != null)) {
+                    Authenticator authenticator = new Authenticator() {
+                        public PasswordAuthentication getPasswordAuthentication() {
+                            return (new PasswordAuthentication(proxyHostInfo.get(2), proxyHostInfo.get(3).toCharArray()));
+                        }
+                    };
+
+                    Authenticator.setDefault(authenticator);
+                }
+
+                connection = url.openConnection(http_proxy);
+            } else {
+                connection = url.openConnection();
+            }
+
+            connection.connect();
+            InputStream stream = connection.getInputStream();
+
+            int read;
+            while ((read = stream.read(buffer)) >= 0) {
+                md.update(buffer, 0, read);
+            }
+            StringBuilder result = new StringBuilder();
+            byte[] digest = md.digest();
+            for (byte b : digest) {
+                result.append(String.format("%02x", b));
+            }
+            return result.toString();
+        } catch (IOException | NoSuchAlgorithmException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    private static List<String> getProxyHostInfo(String proxyUrl) {
+        if (proxyUrl == null) {
+            return null;
+        }
+
+        // matching pattern
+        //  http://(host):(port) or http://(user):(pass)@(host):(port)
+        //  https://(host):(port) or https://(user):(pass)@(host):(port)
+        Pattern p = Pattern.compile("^(http|https):\\/\\/(([^:\\@]+):([^\\@]+)\\@)?([^:\\@\\/]+):([0-9]+)\\/?$");
+        Matcher m = p.matcher(proxyUrl);
+        if (!m.find()) {
+            return null;
+        }
+
+        // matcher group 3:user 4:pass 5:host 6:port (null if not set)
+        return Arrays.asList(m.group(5), m.group(6), m.group(3), m.group(4));
+    }
+
+    private void error(String format, String... args) {
+        if (!format.endsWith("\n")) {
+            format += '\n';
+        }
+        System.err.printf(format, args);
+        System.exit(1);
+    }
+}
diff --git a/tools/build/libgen/src/main/java/org/onosproject/libgen/BazelLibrary.java b/tools/build/libgen/src/main/java/org/onosproject/libgen/BazelLibrary.java
new file mode 100644
index 0000000..1bbbd57
--- /dev/null
+++ b/tools/build/libgen/src/main/java/org/onosproject/libgen/BazelLibrary.java
@@ -0,0 +1,76 @@
+/*
+ * Copyright 2016-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.
+ */
+package org.onosproject.libgen;
+
+import java.util.List;
+
+/**
+ * Representation of a java library for Bazel.
+ */
+public class BazelLibrary {
+
+    private final String name;
+    private final List<String> targets;
+
+    public static BazelLibrary getLibrary(String libraryName, List<String> libraryTargets) {
+        return new BazelLibrary(libraryName, libraryTargets);
+    }
+
+    private BazelLibrary(String name, List<String> targets) {
+        this.name = name;
+        this.targets = targets;
+    }
+
+    private String normalizeName(String name) {
+        if (!name.startsWith("//")) {
+            return name.replaceAll("[.-]", "_");
+        } else {
+            return name;
+        }
+    }
+
+    private String convertTargetName(String targetName) {
+        return normalizeName((targetName.startsWith("//") ?
+                targetName : targetName.replaceFirst(":", "@")));
+    }
+
+    private boolean isAllUpper(String s) {
+        return s.toUpperCase().equals(s);
+    }
+
+    public String name() {
+        return normalizeName(name);
+    }
+
+    public String getFragment() {
+        StringBuilder output = new StringBuilder()
+                .append(name())
+                .append(" = [");
+
+        targets.forEach(target -> {
+            if (isAllUpper(target)) {
+                output.append(String.format("] + %s + [", target.replaceFirst(":", "")));
+            } else {
+                String pathEnd = target.startsWith("//") ? "" : "//jar";
+                output.append(String.format("\n    \"%s%s\",", convertTargetName(target), pathEnd));
+            }
+        });
+        output.append("\n]\n");
+
+        return output.toString();
+    }
+
+}
\ No newline at end of file
diff --git a/tools/build/libgen/src/main/java/org/onosproject/libgen/BuckArtifact.java b/tools/build/libgen/src/main/java/org/onosproject/libgen/BuckArtifact.java
deleted file mode 100644
index 11f529a..0000000
--- a/tools/build/libgen/src/main/java/org/onosproject/libgen/BuckArtifact.java
+++ /dev/null
@@ -1,265 +0,0 @@
-/*
- * Copyright 2016-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.
- */
-package org.onosproject.libgen;
-
-import org.eclipse.aether.artifact.Artifact;
-
-/**
- * Representation of a remote artifact for Buck.
- */
-public abstract class BuckArtifact {
-
-    private final String name;
-    private final String sha;
-    private final boolean osgiReady;
-    private final boolean generateForBazel;
-
-    public static BuckArtifact getArtifact(String name, Artifact artifact, String sha, String repo,
-                                           boolean osgiReady, boolean generateForBazel) {
-        return new MavenArtifact(name, artifact, sha, repo, osgiReady, generateForBazel);
-    }
-    public static BuckArtifact getArtifact(String name, String url, String sha, String mavenCoords,
-                                           boolean osgiReady, boolean generateForBazel) {
-        return new HTTPArtifact(name, url, sha, mavenCoords, osgiReady, generateForBazel);
-    }
-    public static BuckArtifact getArtifact(String name, String url, String sha, boolean generateForBazel) {
-        return new HTTPArtifact(name, url, sha, null, true, generateForBazel);
-    }
-
-    public BuckArtifact(String name, String sha, boolean osgiReady, boolean generateForBazel) {
-        this.name = name;
-        this.sha = sha;
-        this.osgiReady = osgiReady;
-        this.generateForBazel = generateForBazel;
-    }
-
-    public String name() {
-        if (!generateForBazel) {
-            return name;
-        } else {
-            return name.replaceAll("[.-]", "_");
-        }
-    }
-
-    abstract String fileName();
-
-    abstract String url();
-
-    abstract String url(boolean withClassifier);
-
-    private String jarTarget() {
-        return name != null ? name() : fileName();
-    }
-
-    private boolean isPublic() {
-        return name != null;
-    }
-
-    boolean isOsgiReady() {
-        return osgiReady;
-    }
-
-    boolean isGenerateForBazel() {
-        return generateForBazel;
-    }
-
-    String httpUrl() {
-        return "";
-    }
-
-    String mavenCoords() {
-        return null;
-    }
-
-    String bazelExport() {
-        return "@" + jarTarget() + "//:" + jarTarget();
-    }
-
-    private boolean isJar() {
-        return fileName().endsWith(".jar");
-    }
-
-    private String extractRepo() {
-        // This is a hack because the code above us already got rid of the maven repo
-        // info for artifacts
-        String url = url();
-        if (url.startsWith("http")) {
-            return url.substring(0, url.indexOf(fileName()) - mavenCoords().length() - 1);
-        } else {
-            return "";
-        }
-    }
-
-    String getBazelMavenJarFragment() {
-        System.out.println(name + " == " + httpUrl());
-
-        //String repo = extractRepo();
-        //String repoAttribute = "";
-        //if (!"".equals(repo)) {
-        //    repoAttribute = "            repository = \"" + repo + "\",\n";
-        //}
-
-        String sha256 = BuckLibGenerator.getHttpSha256(name, httpUrl());
-        String format = "\n" +
-                "    if \"%s\" not in native.existing_rules():\n" +
-                "        java_import_external(\n" +
-                "            name = \"%s\",\n" +
-                "            jar_sha256 = \"%s\",\n" +
-                "            licenses = [\"notice\"],\n" +
-                "            jar_urls = [\"%s\"]," +
-                "        )";
-
-        return String.format(format, jarTarget(), jarTarget(), sha256, httpUrl());
-
-    }
-
-    public String getBuckFragment() {
-        String visibility = isPublic() ? "[ 'PUBLIC' ]" : "[]";
-
-        String output = (isJar() ? "remote_jar" : "remote_file") + " (\n" +
-                "  name = '%s',\n" + // jar target
-                "  out = '%s',\n" + // jar file name
-                "  url = '%s',\n" + // maven url
-                "  sha1 = '%s',\n" + // artifact sha
-                ( isJar() && mavenCoords() != null ?
-                "  maven_coords = '"+ mavenCoords()+"',\n" : "" ) +
-                "  visibility = %s,\n" +
-                ")\n\n";
-
-        return String.format(output, jarTarget(), fileName(), url(), sha, visibility);
-    }
-
-    private static class HTTPArtifact extends BuckArtifact {
-        private final String url;
-        private final String mavenCoords;
-
-        public HTTPArtifact(String name, String url, String sha,
-                            String mavenCoords, boolean osgiReady, boolean generateForBazel) {
-            super(name, sha, osgiReady, generateForBazel);
-            this.url = url;
-            this.mavenCoords = mavenCoords;
-        }
-
-        @Override
-        String fileName() {
-            String[] parts = url.split("/");
-            return parts[parts.length - 1];
-        }
-
-        @Override
-        String mavenCoords() {
-            return mavenCoords;
-        }
-
-        @Override
-        String url() {
-            return url;
-        }
-
-        @Override
-        String url(boolean withClassifier) {
-            return url;
-        }
-
-        @Override
-        String httpUrl() {
-            return url;
-        }
-    }
-
-    private static class MavenArtifact extends BuckArtifact {
-        private final Artifact artifact;
-        private final String repo;
-
-        private MavenArtifact(String name, Artifact artifact, String sha,
-                              String repo, boolean osgiReady, boolean generateForBazel) {
-            super(name, sha, osgiReady, generateForBazel);
-            this.artifact = artifact;
-            this.repo = repo;
-        }
-
-        @Override
-        String url() {
-            //mvn:[repo:]groupId:artifactId:[extension:[classifier:]]:version
-            StringBuilder mvnUrl = new StringBuilder("mvn:");
-            if (repo != null && repo.length() > 0) {
-                mvnUrl.append(repo).append(':');
-            }
-            mvnUrl.append(artifact.getGroupId()).append(':')
-                  .append(artifact.getArtifactId()).append(':')
-                  .append(artifact.getExtension()).append(':');
-            if (artifact.getClassifier() != null && artifact.getClassifier().length() > 0) {
-                mvnUrl.append(artifact.getClassifier()).append(':');
-            }
-            mvnUrl.append(artifact.getVersion());
-            return mvnUrl.toString();
-        }
-
-        @Override
-        String httpUrl() {
-            return "http://repo1.maven.org/maven2/" +
-                    artifact.getGroupId().replace(".", "/") +
-                    "/" + artifact.getArtifactId() +
-                    "/" + artifact.getVersion() +
-                    "/" + artifact.getFile().getName();
-        }
-
-        @Override
-        String url(boolean withClassifier) {
-            String url = url();
-            if (withClassifier && !isOsgiReady()) {
-                int i = url.lastIndexOf(':');
-                if (i > 0) {
-                    url = url.substring(0, i) + ":NON-OSGI" + url.substring(i);
-                }
-            }
-            return url;
-        }
-
-        //FIXME get sources jars
-
-        @Override
-        String mavenCoords() {
-            String classifer = artifact.getClassifier();
-            if (!isOsgiReady() && !isGenerateForBazel()) {
-                classifer = "NON-OSGI" + classifer;
-            }
-
-            if ("jar".equals(artifact.getExtension().toLowerCase()) &&
-                    classifer.length() == 0) {
-                // shorter form
-                return String.format("%s:%s:%s",
-                                     artifact.getGroupId(),
-                                     artifact.getArtifactId(),
-                                     artifact.getVersion());
-            }
-            return String.format("%s:%s:%s:%s:%s",
-                                 artifact.getGroupId(),
-                                 artifact.getArtifactId(),
-                                 artifact.getExtension(),
-                                 classifer,
-                                 artifact.getVersion());
-        }
-
-        @Override
-        String fileName() {
-            return String.format("%s-%s.%s",
-                                 artifact.getArtifactId(),
-                                 artifact.getVersion(),
-                                 artifact.getExtension());
-        }
-    }
-}
diff --git a/tools/build/libgen/src/main/java/org/onosproject/libgen/BuckLibGenerator.java b/tools/build/libgen/src/main/java/org/onosproject/libgen/BuckLibGenerator.java
deleted file mode 100755
index 9be3ef7..0000000
--- a/tools/build/libgen/src/main/java/org/onosproject/libgen/BuckLibGenerator.java
+++ /dev/null
@@ -1,382 +0,0 @@
-/*
- * Copyright 2016-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.
- */
-package org.onosproject.libgen;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintWriter;
-import java.net.URL;
-import java.net.URLConnection;
-import java.net.PasswordAuthentication;
-import java.net.Authenticator;
-import java.net.Proxy;
-import java.net.InetSocketAddress;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.time.Instant;
-import java.time.ZoneId;
-import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import java.util.stream.Stream;
-import java.util.regex.Pattern;
-import java.util.regex.Matcher;
-
-/**
- * Generates a BUCK file from a JSON file containing third-party library
- * dependencies.
- */
-public class BuckLibGenerator {
-
-//    public static final String MAVEN_COORDS = "maven_coords";
-//    public static final String COMPILE_ONLY = "compile_only";
-//    public static final String RUNTIME_ONLY = "runtime_only";
-
-    private final ObjectNode jsonRoot;
-    private final List<BuckArtifact> artifacts = new ArrayList<>();
-    private final List<BuckLibrary> libraries = new ArrayList<>();
-
-    private static boolean generateForBazel = false;
-
-    /**
-     * Main entry point.
-     *
-     * @param args command-line arguments; JSON input file and BUCK output file
-     */
-    public static void main(String[] args) throws Exception {
-        if (args.length < 2) {
-            System.err.println("Not enough args.\n\nUSAGE: <json file> <output>");
-            System.exit(5);
-        }
-
-        if (args.length == 3 && "--bazel".equals(args[2])) {
-            generateForBazel = true;
-        }
-
-        // Parse args
-        String jsonFilePath = args[0];
-        String outputBuckPath = args[1];
-
-        // Load and parse input JSON file
-        ObjectMapper mapper = new ObjectMapper();
-        mapper.configure(JsonParser.Feature.ALLOW_COMMENTS, true);
-        ObjectNode json = (ObjectNode) mapper.reader()
-                .readTree(new FileInputStream(jsonFilePath));
-
-        // Traverse dependencies and build a dependency graph (DAG)
-        BuckLibGenerator generator = new BuckLibGenerator(json).resolve();
-
-        // Write the output BUCK file
-        generator.write(outputBuckPath);
-        System.out.printf("\nFinish writing %s\n", outputBuckPath);
-    }
-
-    public BuckLibGenerator(ObjectNode root) {
-        this.jsonRoot = root;
-    }
-
-    private BuckArtifact parseArtifact(Map.Entry<String, JsonNode> entry) {
-        String name = entry.getKey();
-        JsonNode value = entry.getValue();
-        String uri;
-        String repo = null;
-        if (value.isTextual()) {
-            uri = value.asText();
-        } else if (value.isObject()) {
-            uri = value.get("uri").asText();
-            repo = value.get("repo").asText("");
-        } else {
-            throw new RuntimeException("Unknown element for name: " + name +
-                                       " of type: " + value.getNodeType());
-        }
-
-        System.out.print(name + " ");
-        System.out.flush();
-        BuckArtifact buckArtifact;
-        if (uri.startsWith("http")) {
-            String sha = generateForBazel ? getHttpSha256(name, uri) : getHttpSha1(name, uri);
-            buckArtifact = BuckArtifact.getArtifact(name, uri, sha, generateForBazel);
-        } else if (uri.startsWith("mvn")) {
-            uri = uri.replaceFirst("mvn:", "");
-//            if (repo != null) {
-//                System.out.println(name + " " + repo);
-//            }
-            buckArtifact = AetherResolver.getArtifact(name, uri, repo, generateForBazel);
-        } else {
-            throw new RuntimeException("Unsupported artifact uri: " + uri);
-        }
-        System.out.println(buckArtifact.url());
-        return buckArtifact;
-    }
-
-    private BuckLibrary parseLibrary(Map.Entry<String, JsonNode> entry) {
-        String libraryName = entry.getKey();
-        JsonNode list = entry.getValue();
-        if (list.size() == 0) {
-            throw new RuntimeException("Empty library: " + libraryName);
-        }
-
-        List<String> libraryTargets = new ArrayList<>(list.size());
-        list.forEach(node -> {
-            String name;
-            if (node.isObject()) {
-                name = node.get("name").asText();
-            } else if (node.isTextual()) {
-                name = node.asText();
-            } else {
-                throw new RuntimeException("Unknown node type: " + node.getNodeType());
-            }
-            if (!name.contains(":")) {
-                name = ':' + name;
-            }
-            libraryTargets.add(name);
-        });
-
-        return BuckLibrary.getLibrary(libraryName, libraryTargets, generateForBazel);
-    }
-
-    public BuckLibGenerator resolve() {
-        jsonRoot.get("artifacts").fields().forEachRemaining(entry -> {
-            BuckArtifact buckArtifact = parseArtifact(entry);
-            artifacts.add(buckArtifact);
-//            String artifactName = buckArtifact.name();
-//            if (artifacts.putIfAbsent(artifactName, buckArtifact) != null) {
-//                error("Duplicate artifact: %s", artifactName);
-//            }
-        });
-
-        jsonRoot.get("libraries").fields().forEachRemaining(entry -> {
-            BuckLibrary library = parseLibrary(entry);
-            libraries.add(library);
-//            String libraryName = library.name();
-//            if (libraries.putIfAbsent(libraryName, library) != null) {
-//                error("Duplicate library: %s", libraryName);
-//            }
-        });
-
-        return this;
-    }
-
-    private String generateArtifacts() {
-        StringBuilder sb = new StringBuilder();
-        if (!generateForBazel) {
-            artifacts.forEach(artifact -> sb.append(artifact.getBuckFragment()));
-        } else {
-            StringBuilder mavenJars = new StringBuilder();
-            mavenJars.append("\ndef generated_maven_jars():");
-            artifacts.forEach(artifact -> {
-                mavenJars.append(artifact.getBazelMavenJarFragment());
-            });
-            sb.append(mavenJars);
-        }
-        return sb.toString();
-    }
-
-    private String generateArtifactMap() {
-        StringBuilder artifactMap = new StringBuilder();
-
-        artifactMap.append("\nartifact_map = {}");
-
-        artifacts.forEach(artifact -> {
-            artifactMap.append("\nartifact_map[\"" + artifact.bazelExport() + "\"] = \"" + artifact.url(true) + "\"");
-        });
-
-        artifactMap.append(
-                "\n\n" +
-                "def maven_coordinates(label):\n" +
-                "    label_string = str(label)\n" +
-                "    if label_string in artifact_map:\n" +
-                "        return artifact_map[label_string]\n" +
-                "    if (label_string.endswith(\":jar\")):\n" +
-                "        label_string = label_string.replace(\":jar\", \"\")\n" +
-                "        if label_string in artifact_map:\n" +
-                "            return artifact_map[label_string]\n" +
-                "    if type(label) == \"string\":\n" +
-                "        return \"mvn:%s:%s:%s\" % (ONOS_GROUP_ID, label_string, ONOS_VERSION)\n" +
-                "    return \"mvn:%s:%s:%s\" % (ONOS_GROUP_ID, label.name, ONOS_VERSION)\n"
-        );
-
-        return artifactMap.toString();
-    }
-
-    void write(String outputFilePath) {
-        DateTimeFormatter formatter = DateTimeFormatter.RFC_1123_DATE_TIME.withZone(ZoneId.of("UTC"));
-        File outputFile = new File(outputFilePath);
-        if (!outputFile.setWritable(true)) {
-            error("Failed to make %s to writeable.", outputFilePath);
-        }
-        try (PrintWriter writer = new PrintWriter(outputFile)) {
-            writer.write(String.format(
-                    "# ***** This file was auto-generated at %s. Do not edit this file manually. *****\n",
-                    formatter.format(Instant.now())));
-            writer.write("# ***** Use onos-lib-gen *****\n");
-
-            if (!generateForBazel) {
-                // TODO - have to do this somehow for bazel
-                // rule to publish the onos dependency pom
-                writer.write("\npass_thru_pom(\n" +
-                        "    name = 'onos-dependencies-pom',\n" +
-                        "    src = 'pom.xml',\n" +
-                        "    out = 'onos-dependencies.pom',\n" +
-                        "    artifactId = 'onos-dependencies',\n" +
-                        ")\n\n");
-            } else {
-                writer.write("\nload(\"//tools/build/bazel:variables.bzl\", \"ONOS_GROUP_ID\", \"ONOS_VERSION\")\n\n");
-                writer.write("\nload(\"@bazel_tools//tools/build_defs/repo:java.bzl\", \"java_import_external\")\n\n");
-            }
-
-            libraries.forEach(library -> writer.print(library.getFragment()));
-            writer.print(generateArtifacts());
-            if (generateForBazel) {
-                writer.print(generateArtifactMap());
-            }
-            writer.flush();
-        } catch (FileNotFoundException e) {
-            error("File not found: %s", outputFilePath);
-        }
-        if (!outputFile.setReadOnly()) {
-            error("Failed to set %s to read-only.", outputFilePath);
-        }
-    }
-
-    static String getHttpSha1(String name, String urlStr) {
-        return getHttpSha(name, urlStr, "SHA-1");
-    }
-
-    static String getHttpSha256(String name, String urlStr) {
-        return getHttpSha(name, urlStr, "SHA-256");
-    }
-
-    private static String getHttpSha(String name, String urlStr, String algorithm) {
-        try {
-            MessageDigest md = MessageDigest.getInstance(algorithm);
-            byte[] buffer = new byte[8192];
-
-            URL url = new URL(urlStr);
-            String fname = new File(url.getPath()).getName();
-
-            // naively look for cache in buck-out/gen/
-            // only works for `buck fetch`-ed artifacts
-            // (=doesn't work for bndexe unless manually fetched)
-            Optional<File> cache = Optional.ofNullable(System.getenv("ONOS_ROOT"))
-                .map(Paths::get)
-                .map(Stream::of)
-                .orElseGet(Stream::empty)
-                // look for remote_file, remote_jar path
-                .flatMap(root -> Stream.of(root.resolve("buck-out/gen/lib/" + name + "/" + fname),
-                                           root.resolve("buck-out/gen/lib/" + fname + "/" + fname)))
-                .map(Path::toFile)
-                .filter(File::canRead)
-                .findAny();
-
-            if (cache.isPresent() && !generateForBazel) {
-                try (FileInputStream stream = new FileInputStream(cache.get())) {
-                    int read;
-                    while ((read = stream.read(buffer)) >= 0) {
-                        md.update(buffer, 0, read);
-                    }
-                    StringBuilder result = new StringBuilder();
-                    byte[] digest = md.digest();
-                    for (byte b : digest) {
-                        result.append(String.format("%02x", b));
-                    }
-                    return result.toString();
-                } catch (IOException e) {
-                    // fall back to regular download
-                }
-            }
-
-            System.setProperty("jdk.http.auth.tunneling.disabledSchemes", "");
-
-            URLConnection connection;
-            String env_http_proxy = System.getenv("HTTP_PROXY");
-            if (env_http_proxy != null) {
-                List<String> proxyHostInfo = getProxyHostInfo(env_http_proxy);
-                Proxy http_proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHostInfo.get(0),
-                                             Integer.valueOf(proxyHostInfo.get(1))));
-
-                if ((proxyHostInfo.get(2) != null) && (proxyHostInfo.get(3) != null)) {
-                    Authenticator authenticator = new Authenticator() {
-                        public PasswordAuthentication getPasswordAuthentication() {
-                            return (new PasswordAuthentication(proxyHostInfo.get(2), proxyHostInfo.get(3).toCharArray()));
-                        }
-                    };
-
-                    Authenticator.setDefault(authenticator);
-                }
-
-                connection = url.openConnection(http_proxy);
-            } else {
-                connection = url.openConnection();
-            }
-
-            connection.connect();
-            InputStream stream = connection.getInputStream();
-
-            int read;
-            while ((read = stream.read(buffer)) >= 0) {
-                md.update(buffer, 0, read);
-            }
-            StringBuilder result = new StringBuilder();
-            byte[] digest = md.digest();
-            for (byte b : digest) {
-                result.append(String.format("%02x", b));
-            }
-            return result.toString();
-        } catch (IOException | NoSuchAlgorithmException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    private static List<String> getProxyHostInfo(String proxyUrl) {
-        if (proxyUrl == null) {
-            return null;
-        }
-
-        // matching pattern
-        //  http://(host):(port) or http://(user):(pass)@(host):(port)
-        //  https://(host):(port) or https://(user):(pass)@(host):(port)
-        Pattern p = Pattern.compile("^(http|https):\\/\\/(([^:\\@]+):([^\\@]+)\\@)?([^:\\@\\/]+):([0-9]+)\\/?$");
-        Matcher m = p.matcher(proxyUrl);
-        if (!m.find()) {
-            return null;
-        }
-
-        // matcher group 3:user 4:pass 5:host 6:port (null if not set)
-        return Arrays.asList(m.group(5), m.group(6), m.group(3), m.group(4));
-    }
-
-    private void error(String format, String... args) {
-        if (!format.endsWith("\n")) {
-            format += '\n';
-        }
-        System.err.printf(format, args);
-        System.exit(1);
-    }
-}
diff --git a/tools/build/libgen/src/main/java/org/onosproject/libgen/BuckLibrary.java b/tools/build/libgen/src/main/java/org/onosproject/libgen/BuckLibrary.java
deleted file mode 100644
index bb89581..0000000
--- a/tools/build/libgen/src/main/java/org/onosproject/libgen/BuckLibrary.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright 2016-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.
- */
-package org.onosproject.libgen;
-
-import org.eclipse.aether.artifact.Artifact;
-
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-/**
- * Representation of a java library for Buck.
- */
-public class BuckLibrary {
-
-    private final String name;
-    private final List<String> targets;
-    private final boolean generateForBazel;
-
-    private final Set<Artifact> provided = new HashSet<>();
-    private final Set<Artifact> runtime = new HashSet<>();
-
-    public static BuckLibrary getLibrary(String libraryName, List<String> libraryTargets, boolean generateForBazel) {
-        return new BuckLibrary(libraryName, libraryTargets, generateForBazel);
-    }
-
-    private BuckLibrary(String name, List<String> targets, boolean generateForBazel) {
-        this.name = name;
-        this.targets = targets;
-        this.generateForBazel = generateForBazel;
-    }
-
-    private String normalizeName(String name) {
-        if (!name.startsWith("//")) {
-            return name.replaceAll("[.-]", "_");
-        } else {
-            return name;
-        }
-    }
-
-    private String convertBuckTargetName(String buckTargetName) {
-        return normalizeName((buckTargetName.startsWith("//") ?
-                buckTargetName : buckTargetName.replaceFirst(":", "@")));
-    }
-
-    private boolean isAllUpper(String s) {
-        return s.toUpperCase().equals(s);
-    }
-
-    public String name() {
-        if (!generateForBazel) {
-            return name;
-        } else {
-            return normalizeName(name);
-        }
-    }
-
-    public String getFragment() {
-        if (generateForBazel) {
-            return getBazelFragment();
-        } else {
-            return getBuckFragment();
-        }
-    }
-
-    private String getBazelFragment() {
-        StringBuilder output = new StringBuilder()
-                .append(name())
-                .append(" = [");
-
-        targets.forEach(target -> {
-            if (isAllUpper(target)) {
-                output.append(String.format("] + %s + [", target.replaceFirst(":", "")));
-            } else {
-                String pathEnd = target.startsWith("//") ? "" : "//jar";
-                output.append(String.format("\n    \"%s%s\",", convertBuckTargetName(target), pathEnd));
-            }
-        });
-        output.append("\n]\n");
-
-        return output.toString();
-    }
-
-    private String getBuckFragment() {
-        StringBuilder output = new StringBuilder()
-                .append("osgi_feature_group(\n")
-                .append(String.format("  name = '%s',\n", name))
-                .append("  visibility = ['PUBLIC'],\n")
-                .append("  exported_deps = [");
-
-        targets.forEach(target -> output.append(String.format("\n    '%s',", target)));
-        output.append("\n  ],\n)\n\n");
-
-        return output.toString();
-    }
-}
\ No newline at end of file
diff --git a/tools/build/onos-buck b/tools/build/onos-buck
deleted file mode 100755
index 0a839e0..0000000
--- a/tools/build/onos-buck
+++ /dev/null
@@ -1,130 +0,0 @@
-#!/bin/bash
-# -----------------------------------------------------------------------------
-# Runs the custom version of Buck required by ONOS.
-# -----------------------------------------------------------------------------
-
-set -e
-
-BUCK_URL="http://repo1.maven.org/maven2/org/onosproject/onos-buck/v2018.02.09.01/buck-v2018.02.09.01.zip"
-BUCK_SHA="45d8bd28f441991257babf89f7a317edb3a2b536"
-
-# onos-yang-tools buck plugin version
-YANG_VER="2.5"
-ONOS_PLUGIN_VER="1.0.3"
-MAVEN_BASE="https://repo1.maven.org/maven2"
-MAVEN_ONOSPROJECT="$MAVEN_BASE/org/onosproject"
-
-[  "-U" = "$1" ] && shift && FORCE_UPDATE=True
-
-ROOT_DIR=${ONOS_ROOT:-"$( cd "$( dirname "${BASH_SOURCE[0]}" )/../.." && pwd )"}
-
-mkdir -p $ROOT_DIR/bin
-pushd $ROOT_DIR/bin > /dev/null
-
-if [ -n "$FORCE_UPDATE" ] || [ ! -f "buck" ] || [ "$BUCK_SHA" != "$(cat .buck_sha)" ]; then
-    echo "Updating Buck..." >&2
-    rm -fr .buck_version .buck_sha buck plugins
-    mkdir -p cache
-    BUCK_FILE=$(basename $BUCK_URL)
-    # Check the local cache; download to cache if required
-    [ -f "cache/$BUCK_FILE" ] || curl -o cache/$BUCK_FILE -L $BUCK_URL
-    if [ -n "$(which shasum)" ]; then
-        SHA=$(shasum cache/$BUCK_FILE | cut -d' ' -f1)
-        if [ "$SHA" != "$BUCK_SHA" ]; then
-           echo "ERROR: Downloaded SHA ($SHA) does not match expected SHA ($BUCK_SHA)" &&
-           rm -f cache/$BUCK_FILE && exit 1
-        else
-           echo "$SHA" > .buck_sha
-        fi
-    else
-        echo "SHA cannot be verified"
-    fi
-    unzip -qq cache/$BUCK_FILE
-    # Kill buckd
-    ps -ef | egrep buckd | grep -v egrep | cut -c7-11 | xargs kill 2>/dev/null || :
-    rm -rf $ROOT_DIR/buck-out
-    printf "Successfully updated Buck in $ROOT_DIR/bin/buck to $BUCK_FILE\n\n"
-fi
-
-# Fetch & install onos yang tools buck plugin
-YANG_PLUGIN_CACHE="cache/onos-yang-compiler-buck-plugin-$YANG_VER.jar"
-if hash mvn 2>/dev/null; then
-  if [[ $YANG_VER = *"-SNAPSHOT" ]] || [ ! -f "$YANG_PLUGIN_CACHE" ]; then
-    echo "Updating Yang plugin $YANG_VER..." >&2
-    ARTIFACT="org.onosproject:onos-yang-compiler-buck-plugin:$YANG_VER"
-    mvn org.apache.maven.plugins:maven-dependency-plugin:3.0.2:copy \
-        -Dartifact=$ARTIFACT \
-        -Dtransitive=false -Dmdep.overWriteSnapshots=true \
-        -DoutputDirectory=cache > /dev/null
-  fi
-else
-  if [ ! -f "$YANG_PLUGIN_CACHE" ]; then
-    echo "Updating Yang plugin $YANG_VER..." >&2
-    if [[ $YANG_VER = *"-SNAPSHOT" ]]; then
-      echo "mvn command must be installed to handle SNAPSHOT version"
-      exit 1
-    fi
-
-    curl -o "$YANG_PLUGIN_CACHE" \
-      -L $MAVEN_ONOSPROJECT/onos-yang-compiler-buck-plugin/$YANG_VER/onos-yang-compiler-buck-plugin-$YANG_VER.jar
-  fi
-
-  if [[ $YANG_VER != *"-SNAPSHOT" ]] && hash shasum 2>/dev/null; then
-    SHA=$(shasum $YANG_PLUGIN_CACHE | cut -d' ' -f1)
-    if [ ! -f "$YANG_PLUGIN_CACHE".sha1 ]; then
-      curl -o "$YANG_PLUGIN_CACHE".sha1 \
-        -L $MAVEN_ONOSPROJECT/onos-yang-compiler-buck-plugin/$YANG_VER/onos-yang-compiler-buck-plugin-$YANG_VER.jar.sha1
-    fi
-    YANG_PLUGIN_SHA=$(cat "$YANG_PLUGIN_CACHE".sha1)
-    if [ "$SHA" != "$YANG_PLUGIN_SHA" ]; then
-       echo "ERROR: Downloaded SHA ($SHA) did not match expected SHA ($YANG_PLUGIN_SHA)" &&
-       rm -f $YANG_PLUGIN_CACHE $YANG_PLUGIN_CACHE.sha1 && exit 1
-     fi
-  else
-    echo "SHA verification skipped"
-  fi
-fi
-install -Cv "$YANG_PLUGIN_CACHE" plugins/yang.jar >/dev/null
-
-# Fetch & install onos buck plugin
-
-ONOS_PLUGIN_CACHE="cache/onos-buck-plugin-$ONOS_PLUGIN_VER.jar"
-
-if [ ! -f "$ONOS_PLUGIN_CACHE" ]; then
-  echo "Updating ONOS plugin $ONOS_PLUGIN_VER..." >&2
-  curl -o "$ONOS_PLUGIN_CACHE" \
-    -L $MAVEN_ONOSPROJECT/onos-buck-plugin/$ONOS_PLUGIN_VER/onos-buck-plugin-$ONOS_PLUGIN_VER.jar
-fi
-
-
-if hash shasum 2>/dev/null; then
-  SHA=$(shasum $ONOS_PLUGIN_CACHE | cut -d' ' -f1)
-  if [ ! -f "$ONOS_PLUGIN_CACHE".sha1 ]; then
-    curl -o "$ONOS_PLUGIN_CACHE".sha1 \
-         -L $MAVEN_ONOSPROJECT/onos-buck-plugin/$ONOS_PLUGIN_VER/onos-buck-plugin-$ONOS_PLUGIN_VER.jar.sha1
-  fi
-  ONOS_PLUGIN_SHA=$(cat "$ONOS_PLUGIN_CACHE".sha1)
-  if [ "$SHA" != "$ONOS_PLUGIN_SHA" ]; then
-    echo "ERROR: Downloaded SHA ($SHA) did not match expected SHA ($ONOS_PLUGIN_SHA)" &&
-      rm -f $ONOS_PLUGIN_CACHE $ONOS_PLUGIN_CACHE.sha1 && exit 1
-  fi
-else
-    echo "SHA verification skipped"
-fi
-install -Cv "$ONOS_PLUGIN_CACHE" plugins/onos.jar >/dev/null
-
-popd > /dev/null
-
-BUCK=$ROOT_DIR/bin/buck
-
-if [ "${ONOS_NO_BUCKD:-1}" == "1" ]; then
-  export NO_BUCKD=1
-fi
-
-# HACK: Clean-up frequent problem-causers from buck-out
-#rm -fr \
-#    $ONOS_ROOT/buck-out/bin/lib/.netty \
-#    $ONOS_ROOT/buck-out/bin/lib/.KRYO
-
-# Finally, run the Buck command...
-$BUCK "$@"
diff --git a/tools/build/onos-buck-build-docs b/tools/build/onos-buck-build-docs
deleted file mode 100755
index 658a539..0000000
--- a/tools/build/onos-buck-build-docs
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/bash
-# -----------------------------------------------------------------------------
-# Builds the ONOS Java API docs with buck.
-# -----------------------------------------------------------------------------
-
-set -e
-
-[ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1
-. $ONOS_ROOT/tools/build/envDefaults
-
-onos-buck build  `onos-buck query "filter('.*-javadoc', '//...')"`
-
diff --git a/tools/build/onos-buck-publish b/tools/build/onos-buck-publish
deleted file mode 100755
index a4db536..0000000
--- a/tools/build/onos-buck-publish
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/bin/bash
-#
-# Script that queries buck for main and test artifacts and publishes them to
-# a remote Maven repository. Main artifacts are published with javadoc and sources
-# jars and auto-generated pom.xml files. Test artifacts are published as compiled
-# jars only. All artifacts are signed.
-#
-
-ARTIFACT_PUB=$(mktemp /tmp/onos-publish.XXXXX) &&
-  echo "Created temp file for artifact publish: $ARTIFACT_PUB" ||
-  { echo "Failed to create temp file"; exit 1; }
-
-TEST_PUB=$(mktemp /tmp/onos-publish-tests.XXXXX) &&
-  echo "Created temp file for test artifact publish: $TEST_PUB" ||
-  { echo "Failed to create temp file"; exit 1; }
-
-trap "rm -f $ARTIFACT_PUB $ARTIFACT_PUB.bak $TEST_PUB $TEST_PUB.bak" EXIT
-
-set -e
-set -x
-
-# Prepare artifact publish commands
-cat ${ONOS_ROOT}/tools/build/publish-target-list | grep -v '#' >> $ARTIFACT_PUB
-sed -i.bak 's/^/onos-buck publish --to-maven-central --include-source --include-javadoc --sign /g' $ARTIFACT_PUB
-cp $ARTIFACT_PUB $ARTIFACT_PUB.bak
-( echo "set -e"; cat $ARTIFACT_PUB.bak ) >$ARTIFACT_PUB
-
-# Print commands to be run and then run them
-cat $ARTIFACT_PUB
-bash $ARTIFACT_PUB
-
-# Prepare feature commands
-onos-buck query "filter('.*-feature', deps(filter('.*-oar', deps('//tools/package:onos-package', 1)),1))" > $TEST_PUB
-echo "//tools/package:onos-features" >> $TEST_PUB
-
-# Prepare test commands
-cat ${ONOS_ROOT}/tools/build/publish-test-target-list | grep -v '#' >> $TEST_PUB
-sed -i.bak 's#^#onos-buck publish --to-maven-central --sign #g' $TEST_PUB
-cp $TEST_PUB $TEST_PUB.bak
-( echo "set -e"; cat $TEST_PUB.bak ) >$TEST_PUB
-
-# Print commands to be run and then run them
-cat $TEST_PUB
-bash $TEST_PUB
-
-# stage ONOS poms
-onos-buck publish --to-maven-central --sign //:top-level-pom
-onos-buck publish --to-maven-central --sign //lib:onos-dependencies-pom
-
-if ! grep "maven_url" $ONOS_ROOT/.buckconfig.local | grep -v '#' | grep -q snapshots ; then
-    # Close the staging area
-    onos-close-staging
-fi
diff --git a/tools/build/onos-buck-publish-local b/tools/build/onos-buck-publish-local
deleted file mode 100755
index 6c52db7..0000000
--- a/tools/build/onos-buck-publish-local
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-set -e
-onos-buck -V
-
-for package in `cat ${ONOS_ROOT}/tools/build/publish-target-list ${ONOS_ROOT}/tools/build/publish-test-target-list | grep -v '#'`; do
-    onos-buck publish --to-local-repo ${package}
-done
-
-
diff --git a/tools/build/onos-lib-gen b/tools/build/onos-lib-gen
index 82ddc5f..522c0ae 100755
--- a/tools/build/onos-lib-gen
+++ b/tools/build/onos-lib-gen
@@ -9,7 +9,7 @@
 cd $ONOS_ROOT
 
 REPO=${M2_REPO:-~/.m2/repository}
-VER=1.5
+VER=1.6-SNAPSHOT
 ARTIFACT=org/onosproject/onos-libgen/$VER/onos-libgen-$VER.jar
 JAR=$REPO/$ARTIFACT
 
@@ -21,4 +21,4 @@
     [ -f $JAR ] && printf "Done.\n"
 fi
 
-[ -z "$1" -o "$1" = "bazel" ] && java -jar $JAR lib/deps.json tools/build/bazel/generate_workspace.bzl --bazel
\ No newline at end of file
+java -jar $JAR lib/deps.json tools/build/bazel/generate_workspace.bzl --bazel
\ No newline at end of file
diff --git a/tools/build/push-buck-plugin b/tools/build/push-buck-plugin
deleted file mode 100755
index 97df2e5..0000000
--- a/tools/build/push-buck-plugin
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/bash
-# -----------------------------------------------------------------------------
-# Builds and uploads an ONOS buck plugin release
-# -----------------------------------------------------------------------------
-
-if [ $# -ne 1 ]; then
-    echo "Usage: push-buck-plugin version"
-    exit 1
-fi
-
-PLUGIN_VERSION="$1"
-PLUGIN_FILE="buck-out/gen/tools/build/buck-plugin/onos.jar"
-UPLOAD_BASE="https://oss.sonatype.org/service/local/staging/deploy/maven2/org/onosproject/onos-buck-plugin/$PLUGIN_VERSION"
-
-# Build the buck plugin
-onos-buck build //tools/build/buck-plugin:onos
-
-# Make the signature file
-gpg --armor --detach-sig $PLUGIN_FILE
-
-# Make the MD5 checksum file
-md5 -q $PLUGIN_FILE >$PLUGIN_FILE.md5
-
-# Make the SHA1 checksum file
-( shasum $PLUGIN_FILE | cut -d' ' -f1 ) > $PLUGIN_FILE.sha1
-
-curl -v -u "$SONATYPE_USER:$SONATYPE_PASSWORD" --upload-file $PLUGIN_FILE $UPLOAD_BASE/onos-buck-plugin-$PLUGIN_VERSION.jar
-curl -v -u "$SONATYPE_USER:$SONATYPE_PASSWORD" --upload-file $PLUGIN_FILE.asc $UPLOAD_BASE/onos-buck-plugin-$PLUGIN_VERSION.jar.asc
-curl -v -u "$SONATYPE_USER:$SONATYPE_PASSWORD" --upload-file $PLUGIN_FILE.md5 $UPLOAD_BASE/onos-buck-plugin-$PLUGIN_VERSION.jar.md5
-curl -v -u "$SONATYPE_USER:$SONATYPE_PASSWORD" --upload-file $PLUGIN_FILE.sha1 $UPLOAD_BASE/onos-buck-plugin-$PLUGIN_VERSION.jar.sha1
-
diff --git a/tools/build/swagger/BUILD b/tools/build/swagger/BUILD
new file mode 100644
index 0000000..fff3296
--- /dev/null
+++ b/tools/build/swagger/BUILD
@@ -0,0 +1,16 @@
+SWAGGER_EXECUTABLE = "swagger_generator"
+
+COMPILE_DEPS = JACKSON + [
+    "@com_google_guava_guava//jar",
+    "@qdox//jar",
+    "@org_apache_felix_scr_bnd//jar",
+]
+
+java_binary(
+    name = SWAGGER_EXECUTABLE,
+    srcs = glob(["src/main/java/org/onosproject/swagger/SwaggerGenerator.java"]),
+    main_class = "org.onosproject.swagger.SwaggerGenerator",
+    resources = glob(["src/main/resources/registrator.javat"]),
+    visibility = ["//visibility:public"],
+    deps = COMPILE_DEPS,
+)
diff --git a/tools/build/swagger/src/main/java/org/onosproject/swagger/SwaggerGenerator.java b/tools/build/swagger/src/main/java/org/onosproject/swagger/SwaggerGenerator.java
new file mode 100644
index 0000000..f2c6658
--- /dev/null
+++ b/tools/build/swagger/src/main/java/org/onosproject/swagger/SwaggerGenerator.java
@@ -0,0 +1,566 @@
+/*
+ * Copyright 2016-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.
+ */
+
+package org.onosproject.swagger;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import com.google.common.collect.ImmutableList;
+import com.google.common.io.ByteStreams;
+import com.google.common.io.Files;
+import com.thoughtworks.qdox.JavaProjectBuilder;
+import com.thoughtworks.qdox.model.DocletTag;
+import com.thoughtworks.qdox.model.JavaAnnotation;
+import com.thoughtworks.qdox.model.JavaClass;
+import com.thoughtworks.qdox.model.JavaMethod;
+import com.thoughtworks.qdox.model.JavaParameter;
+import com.thoughtworks.qdox.model.JavaType;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.time.Year;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+
+import static com.google.common.base.Strings.isNullOrEmpty;
+
+/**
+ * Generates Swagger JSON artifacts from the Java source files.
+ */
+public class SwaggerGenerator {
+
+    private final ObjectMapper mapper = new ObjectMapper();
+
+    private static final String JSON_FILE = "swagger.json";
+    private static final String GEN_SRC = "generated-sources";
+    private static final String REG_SRC = "/registrator.javat";
+
+    private static final String PATH = "javax.ws.rs.Path";
+    private static final String PATH_PARAM = "javax.ws.rs.PathParam";
+    private static final String QUERY_PARAM = "javax.ws.rs.QueryParam";
+    private static final String POST = "javax.ws.rs.POST";
+    private static final String PATCH = "javax.ws.rs.PATCH";
+    private static final String GET = "javax.ws.rs.GET";
+    private static final String PUT = "javax.ws.rs.PUT";
+    private static final String DELETE = "javax.ws.rs.DELETE";
+    private static final String PRODUCES = "javax.ws.rs.Produces";
+    private static final String CONSUMES = "javax.ws.rs.Consumes";
+    private static final String JSON = "MediaType.APPLICATION_JSON";
+    private static final String OCTET_STREAM = "MediaType.APPLICATION_OCTET_STREAM";
+    private static final String RESPONSES = "io.swagger.annotations.ApiResponses";
+
+    private final List<File> srcs;
+    private final List<File> resources;
+    private final File srcDirectory;
+    private final File resourceDirectory;
+    private final File genSrcOutputDirectory;
+    private final File genResourcesOutputDirectory;
+    private final String webContext;
+    private final String apiTitle;
+    private final String apiVersion;
+    private final String apiPackage;
+    private final String apiDescription;
+
+    private String x(File f) {
+        return f == null ? "null" : f.getAbsolutePath();
+    }
+
+    public SwaggerGenerator(List<File> srcs, List<File> resources,
+                            File srcDirectory, File resourceDirectory,
+                            File genSrcOutputDirectory, File genResourcesOutputDirectory,
+                            String webContext, String apiTitle, String apiVersion,
+                            String apiPackage, String apiDescription) {
+        this.srcs = srcs;
+        this.resources = resources;
+        this.srcDirectory = srcDirectory;
+        this.resourceDirectory = resourceDirectory;
+        this.genSrcOutputDirectory = genSrcOutputDirectory;
+        this.genResourcesOutputDirectory = genResourcesOutputDirectory;
+        this.webContext = webContext;
+
+        this.apiTitle = apiTitle;
+        this.apiVersion = apiVersion;
+        this.apiPackage = apiPackage;
+        this.apiDescription = apiDescription;
+    }
+
+    public void execute() {
+        try {
+            JavaProjectBuilder builder = new JavaProjectBuilder();
+            if (srcDirectory != null) {
+                builder.addSourceTree(new File(srcDirectory, "src/main/java"));
+            }
+            if (srcs != null) {
+                srcs.forEach(src -> {
+                    if (src.toString().endsWith(".java")) {
+                        try {
+                            builder.addSource(src);
+                        } catch (IOException e) {
+                            throw new RuntimeException(e);
+                        }
+                    }
+                });
+            }
+
+            ObjectNode root = initializeRoot(webContext, apiTitle, apiVersion, apiDescription);
+            ArrayNode tags = mapper.createArrayNode();
+            ObjectNode paths = mapper.createObjectNode();
+            ObjectNode definitions = mapper.createObjectNode();
+
+            root.set("tags", tags);
+            root.set("paths", paths);
+            root.set("definitions", definitions);
+
+            // TODO: Process resources to allow lookup of files by name
+
+            builder.getClasses().forEach(jc -> processClass(jc, paths, tags, definitions, srcDirectory));
+
+            if (paths.size() > 0) {
+                genCatalog(genResourcesOutputDirectory, root);
+                if (!isNullOrEmpty(apiPackage)) {
+                    genRegistrator(genSrcOutputDirectory, webContext, apiTitle, apiVersion,
+                                   apiPackage, apiDescription);
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new RuntimeException("Unable to generate ONOS REST API documentation", e);
+        }
+    }
+
+    // initializes top level root with Swagger required specifications
+    private ObjectNode initializeRoot(String webContext, String apiTitle,
+                                      String apiVersion, String apiDescription) {
+        ObjectNode root = mapper.createObjectNode();
+        root.put("swagger", "2.0");
+        ObjectNode info = mapper.createObjectNode();
+        root.set("info", info);
+
+        root.put("basePath", webContext);
+        info.put("version", apiVersion);
+        info.put("title", apiTitle);
+        info.put("description", apiDescription);
+
+        ArrayNode produces = mapper.createArrayNode();
+        produces.add("application/json");
+        root.set("produces", produces);
+
+        ArrayNode consumes = mapper.createArrayNode();
+        consumes.add("application/json");
+        root.set("consumes", consumes);
+
+        return root;
+    }
+
+    // Checks whether javaClass has a path tag associated with it and if it does
+    // processes its methods and creates a tag for the class on the root
+    void processClass(JavaClass javaClass, ObjectNode paths, ArrayNode tags,
+                      ObjectNode definitions, File srcDirectory) {
+        // If the class does not have a Path tag then ignore it
+        JavaAnnotation annotation = getPathAnnotation(javaClass);
+        if (annotation == null) {
+            return;
+        }
+
+        String path = getPath(annotation);
+        if (path == null) {
+            return;
+        }
+
+        String resourcePath = "/" + path;
+        String tagPath = path.isEmpty() ? "/" : path;
+
+        // Create tag node for this class.
+        ObjectNode tagObject = mapper.createObjectNode();
+        tagObject.put("name", tagPath);
+        if (javaClass.getComment() != null) {
+            tagObject.put("description", shortText(javaClass.getComment()));
+        }
+        tags.add(tagObject);
+
+        // Create an array node add to all methods from this class.
+        ArrayNode tagArray = mapper.createArrayNode();
+        tagArray.add(tagPath);
+
+        processAllMethods(javaClass, resourcePath, paths, tagArray, definitions, srcDirectory);
+    }
+
+    private JavaAnnotation getPathAnnotation(JavaClass javaClass) {
+        Optional<JavaAnnotation> optional = javaClass.getAnnotations()
+                .stream().filter(a -> a.getType().getName().equals(PATH)).findAny();
+        return optional.orElse(null);
+    }
+
+    // Checks whether a class's methods are REST methods and then places all the
+    // methods under a specific path into the paths node
+    private void processAllMethods(JavaClass javaClass, String resourcePath,
+                                   ObjectNode paths, ArrayNode tagArray, ObjectNode definitions,
+                                   File srcDirectory) {
+        // map of the path to its methods represented by an ObjectNode
+        Map<String, ObjectNode> pathMap = new HashMap<>();
+
+        javaClass.getMethods().forEach(javaMethod -> {
+            javaMethod.getAnnotations().forEach(annotation -> {
+                String name = annotation.getType().getName();
+                if (name.equals(PATCH) || name.equals(POST) || name.equals(GET) || name.equals(DELETE) ||
+                        name.equals(PUT)) {
+                    // substring(12) removes "javax.ws.rs."
+                    String method = annotation.getType().toString().substring(12).toLowerCase();
+                    processRestMethod(javaMethod, method, pathMap, resourcePath, tagArray, definitions, srcDirectory);
+                }
+            });
+        });
+
+        // for each path add its methods to the path node
+        for (Map.Entry<String, ObjectNode> entry : pathMap.entrySet()) {
+            paths.set(entry.getKey(), entry.getValue());
+        }
+
+
+    }
+
+    private void processRestMethod(JavaMethod javaMethod, String method,
+                                   Map<String, ObjectNode> pathMap,
+                                   String resourcePath, ArrayNode tagArray,
+                                   ObjectNode definitions, File srcDirectory) {
+        String fullPath = resourcePath, consumes = "", produces = "",
+                comment = javaMethod.getComment();
+        DocletTag tag = javaMethod.getTagByName("onos.rsModel");
+        for (JavaAnnotation annotation : javaMethod.getAnnotations()) {
+            String name = annotation.getType().getName();
+            if (name.equals(PATH)) {
+                fullPath = resourcePath + "/" + getPath(annotation);
+                fullPath = fullPath.replaceFirst("^//", "/");
+            }
+            if (name.equals(CONSUMES)) {
+                consumes = getIOType(annotation);
+            }
+            if (name.equals(PRODUCES)) {
+                produces = getIOType(annotation);
+            }
+        }
+        ObjectNode methodNode = mapper.createObjectNode();
+        methodNode.set("tags", tagArray);
+
+        addSummaryDescriptions(methodNode, comment);
+        addJsonSchemaDefinition(srcDirectory, definitions, tag);
+
+        processParameters(javaMethod, methodNode, method, tag);
+
+        processConsumesProduces(methodNode, "consumes", consumes);
+        processConsumesProduces(methodNode, "produces", produces);
+        if (tag == null || !(tag.getParameters().size() > 1)) {
+            addResponses(javaMethod, methodNode, tag, false);
+        } else {
+            addResponses(javaMethod, methodNode, tag, true);
+        }
+
+        ObjectNode operations = pathMap.get(fullPath);
+        if (operations == null) {
+            operations = mapper.createObjectNode();
+            operations.set(method, methodNode);
+            pathMap.put(fullPath, operations);
+        } else {
+            operations.set(method, methodNode);
+        }
+    }
+
+    private void addJsonSchemaDefinition(File srcDirectory, ObjectNode definitions, DocletTag tag) {
+        final File definitionsDirectory;
+        if (resourceDirectory != null) {
+            definitionsDirectory = new File(resourceDirectory, "definitions");
+        } else if (srcDirectory != null) {
+            definitionsDirectory = new File(srcDirectory + "/src/main/resources/definitions");
+        } else {
+            definitionsDirectory = null;
+        }
+        if (tag != null) {
+            tag.getParameters().forEach(param -> {
+                try {
+                    File config;
+                    if (definitionsDirectory != null) {
+                        config = new File(definitionsDirectory.getAbsolutePath() + "/" + param + ".json");
+                    } else {
+                        config = resources.stream().filter(f -> f.getName().equals(param + ".json")).findFirst().orElse(null);
+                    }
+                    definitions.set(param, mapper.readTree(config));
+                } catch (IOException e) {
+                    throw new RuntimeException(String.format("Could not process %s in %s@%s: %s",
+                                                             tag.getName(), tag.getContext(), tag.getLineNumber(),
+                                                             e.getMessage()), e);
+                }
+            });
+        }
+    }
+
+    private void processConsumesProduces(ObjectNode methodNode, String type, String io) {
+        if (!io.equals("")) {
+            ArrayNode array = mapper.createArrayNode();
+            methodNode.set(type, array);
+            array.add(io);
+        }
+    }
+
+    private void addSummaryDescriptions(ObjectNode methodNode, String comment) {
+        String summary = "", description;
+        if (comment != null) {
+            if (comment.contains(".")) {
+                int periodIndex = comment.indexOf(".");
+                summary = comment.substring(0, periodIndex);
+                description = comment.length() > periodIndex + 1 ?
+                        comment.substring(periodIndex + 1).trim() : "";
+            } else {
+                description = comment;
+            }
+            methodNode.put("summary", summary);
+            methodNode.put("description", description);
+        }
+    }
+
+    private Optional<JavaAnnotation> getResponsesAnnotation(JavaMethod javaMethod) {
+        return javaMethod.getAnnotations().stream().filter(
+                a -> a.getType().getName().equals(RESPONSES)
+        ).findAny();
+    }
+
+    // TODO: add json schema for responses
+    private void addResponses(JavaMethod javaMethod, ObjectNode methodNode, DocletTag tag, boolean responseJson) {
+        ObjectNode responses = mapper.createObjectNode();
+        methodNode.set("responses", responses);
+
+        Optional<JavaAnnotation> responsesAnnotation = getResponsesAnnotation(javaMethod);
+
+        if (responsesAnnotation.isPresent()) {
+            Object annotationsObj = responsesAnnotation.get().getNamedParameter("value");
+            if (annotationsObj != null && annotationsObj instanceof List) {
+                List<JavaAnnotation> responseAnnotation = (List<JavaAnnotation>) annotationsObj;
+                responseAnnotation.forEach(
+                        javaAnnotation -> {
+                            ObjectNode response = mapper.createObjectNode();
+                            response.put("description",
+                                    String.valueOf(javaAnnotation.getNamedParameter("message"))
+                                            .replaceAll("^\"|\"$", ""));
+                            responses.set(String.valueOf(javaAnnotation.getNamedParameter("code")), response);
+                        }
+                );
+            }
+        } else {
+            ObjectNode success = mapper.createObjectNode();
+            success.put("description", "successful operation");
+            responses.set("200", success);
+
+            ObjectNode defaultObj = mapper.createObjectNode();
+            defaultObj.put("description", "Unexpected error");
+            responses.set("default", defaultObj);
+
+            if (tag != null && responseJson) {
+                ObjectNode schema = mapper.createObjectNode();
+                tag.getParameters().stream().forEach(
+                        param -> schema.put("$ref", "#/definitions/" + param));
+                success.set("schema", schema);
+            }
+        }
+    }
+
+    // Checks if the annotations has a value of JSON and returns the string
+    // that Swagger requires
+    private String getIOType(JavaAnnotation annotation) {
+        if (annotation.getNamedParameter("value").toString().equals(JSON)) {
+            return "application/json";
+        } else if (annotation.getNamedParameter("value").toString().equals(OCTET_STREAM)) {
+            return "application/octet_stream";
+        }
+        return "";
+    }
+
+    // If the annotation has a Path tag, returns the value with leading and
+    // trailing double quotes and slash removed.
+    private String getPath(JavaAnnotation annotation) {
+        String path = annotation.getNamedParameter("value").toString();
+        return path == null ? null : path.replaceAll("(^[\\\"/]*|[/\\\"]*$)", "");
+    }
+
+    // Processes parameters of javaMethod and enters the proper key-values into the methodNode
+    private void processParameters(JavaMethod javaMethod, ObjectNode methodNode, String method, DocletTag tag) {
+        ArrayNode parameters = mapper.createArrayNode();
+        methodNode.set("parameters", parameters);
+        boolean required = true;
+
+        for (JavaParameter javaParameter : javaMethod.getParameters()) {
+            ObjectNode individualParameterNode = mapper.createObjectNode();
+            Optional<JavaAnnotation> optional = javaParameter.getAnnotations().stream().filter(
+                    annotation -> annotation.getType().getName().equals(PATH_PARAM) ||
+                            annotation.getType().getName().equals(QUERY_PARAM)).findAny();
+            JavaAnnotation pathType = optional.orElse(null);
+
+            String annotationName = javaParameter.getName();
+
+
+            if (pathType != null) { //the parameter is a path or query parameter
+                individualParameterNode.put("name",
+                                            pathType.getNamedParameter("value")
+                                                    .toString().replace("\"", ""));
+                if (pathType.getType().getName().equals(PATH_PARAM)) {
+                    individualParameterNode.put("in", "path");
+                } else if (pathType.getType().getName().equals(QUERY_PARAM)) {
+                    individualParameterNode.put("in", "query");
+                }
+                individualParameterNode.put("type", getType(javaParameter.getType()));
+            } else { // the parameter is a body parameter
+                individualParameterNode.put("name", annotationName);
+                individualParameterNode.put("in", "body");
+
+                // Adds the reference to the Json model for the input
+                // that goes in the post or put operation
+                if (tag != null && (method.toLowerCase().equals("post") ||
+                        method.toLowerCase().equals("put"))) {
+                    ObjectNode schema = mapper.createObjectNode();
+                    tag.getParameters().stream().forEach(param -> {
+                        schema.put("$ref", "#/definitions/" + param);
+                    });
+                    individualParameterNode.set("schema", schema);
+                }
+            }
+            for (DocletTag p : javaMethod.getTagsByName("param")) {
+                if (p.getValue().contains(annotationName)) {
+                    String description = "";
+                    if (p.getValue().split(" ", 2).length >= 2) {
+                        description = p.getValue().split(" ", 2)[1].trim();
+                        if (description.contains("optional")) {
+                            required = false;
+                        }
+                    } else {
+                        throw new RuntimeException(String.format("No description for parameter \"%s\" in " +
+                                                                         "method \"%s\" in %s (line %d)",
+                                                                 p.getValue(), javaMethod.getName(),
+                                                                 javaMethod.getDeclaringClass().getName(),
+                                                                 javaMethod.getLineNumber()));
+                    }
+                    individualParameterNode.put("description", description);
+                }
+            }
+            individualParameterNode.put("required", required);
+            parameters.add(individualParameterNode);
+        }
+    }
+
+    // Returns the Swagger specified strings for the type of a parameter
+    private String getType(JavaType javaType) {
+        String type = javaType.getFullyQualifiedName();
+        String value;
+        if (type.equals(String.class.getName())) {
+            value = "string";
+        } else if (type.equals("int")) {
+            value = "integer";
+        } else if (type.equals(boolean.class.getName())) {
+            value = "boolean";
+        } else if (type.equals(long.class.getName())) {
+            value = "number";
+        } else {
+            value = "";
+        }
+        return value;
+    }
+
+    // Writes the swagger.json file using the supplied JSON root.
+    private void genCatalog(File dstDirectory, ObjectNode root) {
+        File swaggerCfg = new File(dstDirectory, JSON_FILE);
+        if (dstDirectory.exists() || dstDirectory.mkdirs()) {
+            try (FileWriter fw = new FileWriter(swaggerCfg);
+                 PrintWriter pw = new PrintWriter(fw)) {
+                pw.println(root.toString());
+            } catch (IOException e) {
+                throw new RuntimeException("Unable to write " + JSON_FILE, e);
+            }
+        } else {
+            throw new RuntimeException("Unable to create " + dstDirectory);
+        }
+    }
+
+    // Generates the registrator Java component.
+    private void genRegistrator(File dstDirectory, String webContext,
+                                String apiTitle, String apiVersion,
+                                String apiPackage, String apiDescription) {
+        File dir = new File(dstDirectory, resourceDirectory != null ? GEN_SRC : ".");
+        File reg = new File(dir, apiRegistratorPath(apiPackage));
+        File pkg = reg.getParentFile();
+        if (pkg.exists() || pkg.mkdirs()) {
+            try {
+                String src = new String(ByteStreams.toByteArray(getClass().getResourceAsStream(REG_SRC)));
+                src = src.replace("${api.package}", apiPackage)
+                        .replace("${web.context}", webContext)
+                        .replace("${api.title}", apiTitle)
+                        .replace("${api.description}", apiDescription)
+                        .replace("${year}", Year.now().toString());
+
+                Files.write(src.getBytes(), reg);
+            } catch (IOException e) {
+                throw new RuntimeException("Unable to write " + reg, e);
+            }
+        } else {
+            throw new RuntimeException("Unable to create " + reg);
+        }
+    }
+
+    private String shortText(String comment) {
+        int i = comment.indexOf('.');
+        return i > 0 ? comment.substring(0, i) : comment;
+    }
+
+    public static String apiRegistratorPath(String apiPackage) {
+        return apiPackage.replaceAll("\\.", "/") + "/ApiDocRegistrator.java";
+    }
+
+    private static List<File> getFiles(String commaSeparatedList) {
+        String[] fileNames = commaSeparatedList.split(",");
+        ImmutableList.Builder<File> files = ImmutableList.builder();
+        Arrays.stream(fileNames).forEach(filename -> files.add(new File(filename)));
+        return files.build();
+    }
+
+    public static void main(String args[]) {
+        List<File> srcs = getFiles(args[0]);
+        List<File> resources = getFiles(args[1]);
+        File srcDirectory = null;//new File(args[2]);
+        File resourceDirectory = new File(args[3]);
+        File genSrcOutputDirectory = new File(args[4]);
+        File genResourcesOutputDirectory = new File(args[5]);
+        String webContext = args[6];
+        String apiTitle = args[7];
+        String apiVersion = args[8];
+        String apiPackage = args[9];
+        String apiDescription = args[10];
+
+        SwaggerGenerator generator = new SwaggerGenerator(
+                srcs,
+                resources,
+                srcDirectory, resourceDirectory,
+                genSrcOutputDirectory,
+                genResourcesOutputDirectory,
+                webContext,
+                apiTitle,
+                apiVersion,
+                apiPackage,
+                apiDescription);
+        generator.execute();
+    }
+}
\ No newline at end of file
diff --git a/tools/build/buck-plugin/src/main/resources/registrator.javat b/tools/build/swagger/src/main/resources/registrator.javat
similarity index 100%
rename from tools/build/buck-plugin/src/main/resources/registrator.javat
rename to tools/build/swagger/src/main/resources/registrator.javat
diff --git a/tools/package/BUCK b/tools/package/BUCK
deleted file mode 100644
index b7adf19..0000000
--- a/tools/package/BUCK
+++ /dev/null
@@ -1,48 +0,0 @@
-KARAF = '//lib:apache-karaf'
-BRANDING = '//tools/package/branding:onos-tools-package-branding'
-PATCHES = '//lib:apache-karaf-patches'
-
-#TODO move to buck-tools
-export_file (
-  name = 'onos-prep-karaf',
-)
-
-genrule(
-  name = 'onos-karaf',
-  srcs = glob(['bin/*', 'etc/*', 'init/*', 'runtime/bin/*']),
-  bash = '$(location :onos-prep-karaf) $OUT $(location %s) %s $(location %s) $(location %s)'\
-            % (KARAF, ONOS_VERSION, BRANDING, PATCHES),
-  out = 'karaf.zip',
-)
-
-staged_repos = ['$(location %s-repo)' % f for f in FEATURES]
-staged_apps = ['$(location %s)' % a for a in APPS]
-
-# feature_coords = 'foo:bar:1.3'
-sources = [ '$(location //tools/package/features:onos-features)', ]
-sources += staged_repos + staged_apps
-
-tar_file(
-  name = 'onos-package-runtime',
-  srcs = glob(['runtime/bin/*']),
-  root = 'tools/package',
-  out = 'package-runtime.tar.gz',
-  visibility = [ 'PUBLIC' ],
-)
-
-genrule(
-  name = 'onos-package',
-  srcs = glob(['bin/*', 'etc/*', 'init/*', 'config/*', 'runtime/bin/*']),
-  out = 'onos.tar.gz',
-  bash = '$(exe //buck-tools:onos-stage) $OUT ' + ONOS_VERSION + ' $(location :onos-karaf) ' + ' '.join(sources),
-  visibility = [ 'PUBLIC' ],
-)
-
-genrule(
-  name = 'onos-run',
-  out = 'onos-run',
-  srcs = [ 'onos-run-karaf' ],
-  bash = 'sed "s#ONOS_TAR=#ONOS_TAR=$(location :onos-package)#" $SRCS > $OUT; chmod +x $OUT',
-  executable = True,
-  visibility = [ 'PUBLIC' ],
-)
diff --git a/tools/package/branding/BUCK b/tools/package/branding/BUCK
deleted file mode 100644
index 3a2e916..0000000
--- a/tools/package/branding/BUCK
+++ /dev/null
@@ -1,2 +0,0 @@
-osgi_jar()
-# Really... that's it
\ No newline at end of file
diff --git a/tools/package/features/BUCK b/tools/package/features/BUCK
deleted file mode 100644
index 3744cc4..0000000
--- a/tools/package/features/BUCK
+++ /dev/null
@@ -1,176 +0,0 @@
-osgi_feature (
-  name="onos-thirdparty-base",
-  title="ONOS 3rd party dependencies",
-  required_features = [],
-  included_bundles = [
-    '//lib:atomix',
-    '//lib:atomix-cluster',
-    '//lib:atomix-gossip',
-    '//lib:atomix-primary-backup',
-    '//lib:atomix-primitive',
-    '//lib:atomix-raft',
-    '//lib:atomix-storage',
-    '//lib:atomix-utils',
-    '//lib:classgraph',
-    '//lib:commons-lang',
-    '//lib:commons-lang3',
-    '//lib:commons-text',
-    '//lib:commons-configuration',
-    '//lib:fast-classpath-scanner',
-    '//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_unix_common',
-    '//lib:io_netty_netty_transport-native-epoll',
-    '//lib:io_netty_netty_resolver',
-    '//lib:commons-pool',
-    '//lib:commons-math3',
-    '//lib:joda-time',
-    '//lib:metrics-core',
-    '//lib:metrics-json',
-    '//lib:minimal-json',
-    '//lib:kryo',
-    '//lib:reflectasm',
-    '//lib:asm',
-    '//lib:minlog',
-    '//lib:objenesis',
-    '//lib:jackson-core',
-    '//lib:jackson-annotations',
-    '//lib:jackson-databind',
-    '//lib:commons-collections',
-    '//lib:typesafe-config',
-    '//lib:concurrent-trees',
-    '//lib:commons-io',
-    '//lib:jersey-client',
-    '//lib:mapdb',
-    '//lib:bcpkix-jdk15on',
-    '//lib:bcprov-jdk15on',
-    '//lib:commons-jxpath', # FIXME: move xpath lib dependency to the right place
-    '//lib:commons-beanutils', # jxpath dependency
-    '//lib:jdom',  # jxpath dependency
-    '//lib:sigar',
-  ]
-)
-
-osgi_feature (
-  name="onos-thirdparty-web",
-  title="ONOS 3rd party dependencies for web apps",
-  required_features = [ 'war', 'onos-thirdparty-base' ],
-  included_bundles = [
-    '//lib:jersey-common',
-    '//lib:javax.annotation-api-mvn',
-    '//lib:javax.ws.rs-api',
-    '//lib:hk2-api',
-    '//lib:hk2-locator',
-    '//lib:hk2-osgi-resource-locator',
-    '//lib:javax.inject',
-    '//lib:jersey-server',
-    '//lib:jersey-hk2',
-    '//lib:aopalliance-repackaged',
-    '//lib:hk2-utils',
-    '//lib:validation-api',
-    '//lib:javassist',
-    '//lib:jersey-container-servlet',
-    '//lib:jersey-container-servlet-core',
-    '//lib:jersey-media-multipart',
-    '//lib:mimepull',
-  ]
-)
-
-osgi_feature (
-  name = 'onos-api',
-  title = 'ONOS services and model API',
-  required_features = ['scr', 'onos-thirdparty-base'],
-  included_bundles =[
-    '//utils/misc:onlab-misc',
-    '//utils/osgi:onlab-osgi',
-    '//core/api:onos-api',
-    '//incubator/api:onos-incubator-api',
-  ]
-)
-
-osgi_feature (
-  name='onos-core',
-  title='ONOS core components',
-  required_features = ['onos-api'],
-  included_bundles = [
-    '//core/net:onos-core-net',
-    '//core/common:onos-core-common',
-    '//core/store/dist:onos-core-dist',
-    '//core/store/primitives:onos-core-primitives',
-    '//core/store/persistence:onos-core-persistence',
-    '//core/store/serializers:onos-core-serializers',
-  ]
-)
-
-osgi_feature (
-  name='onos-incubator',
-  title='ONOS core incubator components',
-  required_features = ['onos-core'],
-  included_bundles = [
-    '//incubator/net:onos-incubator-net',
-    '//incubator/store:onos-incubator-store',
-    '//incubator/rpc:onos-incubator-rpc',
-  ]
-)
-
-osgi_feature (
-  name="onos-rest",
-  title="ONOS REST API components",
-  required_features = ['onos-api', 'onos-thirdparty-web'],
-  included_bundles = [
-    '//utils/rest:onlab-rest',
-    '//web/api:onos-rest',
-  ]
-)
-
-osgi_feature (
-  name = 'onos-gui',
-  title = 'ONOS GUI console components',
-  required_features = ['onos-api', 'onos-thirdparty-web'],
-  included_bundles = [
-    '//lib:jetty-websocket',
-    '//utils/rest:onlab-rest',
-    '//web/gui:onos-gui',
-  ]
-)
-
-osgi_feature (
-  name = 'onos-gui2',
-  title = 'ONOS GUI2 console components',
-  required_features = ['onos-api', 'onos-thirdparty-web'],
-  included_bundles = [
-    '//lib:jetty-websocket',
-    '//utils/rest:onlab-rest',
-    '//web/gui2:onos-gui2',
-  ]
-)
-
-osgi_feature (
-  name = 'onos-cli',
-  title="ONOS admin command console components",
-  required_features = ['onos-api'],
-  included_bundles = [
-    '//cli:onos-cli',
-  ]
-)
-
-osgi_feature (
-  name = 'onos-security',
-  title="Security-Mode ONOS",
-  required_features = ['onos-api'],
-  included_bundles = [
-    '//lib:org.apache.felix.framework.security',
-    '//core/security:onos-security',
-  ]
-)
-
-compile_features(
-  name = 'onos-features',
-  features = FEATURES,
-  maven_coords = 'org.onosproject:onos-features:xml:features:' + ONOS_VERSION,
-)
diff --git a/utils/junit/BUCK b/utils/junit/BUCK
deleted file mode 100644
index f4e5444..0000000
--- a/utils/junit/BUCK
+++ /dev/null
@@ -1,21 +0,0 @@
-SRC_DEPS = [
-    '//lib:junit',
-    '//lib:hamcrest-all',
-    '//lib:com_google_guava_guava',
-    '//lib:slf4j-api',
-]
-
-TEST_DEPS = [
-    '//lib:com_google_guava_guava_testlib',
-]
-
-osgi_jar_with_tests(
-    name = 'onlab-junit',
-    srcs = glob([SRC + '/*.java']),
-    deps = SRC_DEPS,
-    test_deps = TEST_DEPS,
-    visibility = ['PUBLIC'],
-    resources_root = 'src/main/resources',
-    resources = glob(['src/main/resources/**']),
-    package_name_root = 'org.onlab',
-)
diff --git a/utils/misc/BUCK b/utils/misc/BUCK
deleted file mode 100644
index 5df6e11..0000000
--- a/utils/misc/BUCK
+++ /dev/null
@@ -1,17 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:COMPILE',
-    '//lib:NETTY',
-    '//lib:METRICS',
-    '//lib:KRYO',
-    '//lib:io_netty_netty',
-    '//lib:JACKSON',
-]
-
-osgi_jar_with_tests(
-    name = 'onlab-misc',
-    deps = COMPILE_DEPS,
-    package_name_root = 'org.onlab',
-    visibility = ['PUBLIC'],
-)
-
-
diff --git a/utils/osgi/BUCK b/utils/osgi/BUCK
deleted file mode 100644
index 36d5819..0000000
--- a/utils/osgi/BUCK
+++ /dev/null
@@ -1,9 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:COMPILE',
-]
-
-osgi_jar_with_tests(
-  name = 'onlab-osgi',
-  deps = COMPILE_DEPS,
-  package_name_root = 'org.onlab',
-)
diff --git a/utils/osgiwrap/BUCK b/utils/osgiwrap/BUCK
deleted file mode 100644
index 3a91e9b..0000000
--- a/utils/osgiwrap/BUCK
+++ /dev/null
@@ -1,26 +0,0 @@
-SRC = 'src/main/java/org/onlab/**/'
-TEST = 'src/test/java/org/onlab/**/'
-CURRENT_NAME = 'onlab-osgiwrap'
-CURRENT_TARGET = ':' + CURRENT_NAME
-
-COMPILE_DEPS = [
-    '//lib:com_google_guava_guava',
-    '//lib:bndlib',
-    '//lib:org.apache.felix.scr.bnd'
-]
-
-
-java_library(
-    name = CURRENT_NAME,
-    #maven_coords = 'org.onosproject:' + CURRENT_NAME + ':' + '1.2.3',
-    srcs = glob([SRC + '/*.java']),
-    deps = COMPILE_DEPS,
-    visibility = ['PUBLIC'],
-)
-
-java_binary(
-    name = 'osgi-jar',
-    deps = COMPILE_DEPS + [ ':' + CURRENT_NAME ],
-    main_class = 'org.onlab.osgiwrap.OSGiWrapper',
-    visibility = [ 'PUBLIC' ]
-)
diff --git a/utils/rest/BUCK b/utils/rest/BUCK
deleted file mode 100644
index 2d7885b..0000000
--- a/utils/rest/BUCK
+++ /dev/null
@@ -1,14 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:COMPILE',
-    '//lib:JACKSON',
-    '//utils/osgi:onlab-osgi',
-    '//utils/misc:onlab-misc',
-    '//lib:javax.ws.rs-api',
-    '//lib:jersey-server',
-]
-
-osgi_jar_with_tests (
-    name = 'onlab-rest',
-    deps = COMPILE_DEPS,
-    package_name_root = 'org.onlab',
-)
diff --git a/web/api/BUCK b/web/api/BUCK
deleted file mode 100644
index c1c6ab4..0000000
--- a/web/api/BUCK
+++ /dev/null
@@ -1,25 +0,0 @@
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:METRICS',
-    '//incubator/api:onos-incubator-api',
-    '//lib:javax.ws.rs-api',
-    '//utils/rest:onlab-rest',
-]
-
-TEST_DEPS = [
-    '//lib:TEST_REST',
-    '//lib:minimal-json',
-    '//lib:jersey-security'
-]
-
-osgi_jar_with_tests (
-    name = 'onos-rest',
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    web_context = '/onos/v1',
-    api_title = 'ONOS Core REST API',
-    api_version = '1.0',
-    api_description = 'ONOS Core REST API',
-    api_package = 'org.onosproject.rest.impl',
-)
diff --git a/web/gui/BUCK b/web/gui/BUCK
deleted file mode 100644
index df70a20..0000000
--- a/web/gui/BUCK
+++ /dev/null
@@ -1,67 +0,0 @@
-NODE_VERSION = 'v8.11.1'
-
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:JACKSON',
-    '//lib:KRYO',
-    '//lib:javax.ws.rs-api',
-    '//lib:servlet-api',
-    '//lib:jetty-websocket',
-    '//lib:jetty-util',
-    '//lib:jersey-media-multipart',
-    '//lib:org.apache.karaf.shell.console',
-    '//cli:onos-cli',
-    '//lib:jersey-server',
-    '//incubator/api:onos-incubator-api',
-    '//incubator/net:onos-incubator-net',
-    '//utils/rest:onlab-rest',
-    '//core/store/serializers:onos-core-serializers',
-    ':onos-tools-gui',
-]
-
-TEST_DEPS = [
-    '//lib:TEST',
-    '//core/api:onos-api-tests',
-    '//drivers/default:onos-drivers-default',
-]
-
-RESOURCES = {
-    'WEB-INF/classes/index.html': 'src/main/webapp/index.html',
-    'WEB-INF/classes/login.html': 'src/main/webapp/login.html',
-    'WEB-INF/classes/error.html': 'src/main/webapp/error.html',
-    'WEB-INF/classes/not-ready.html': 'src/main/webapp/not-ready.html',
-    'WEB-INF/classes/onos.js': 'src/main/webapp/onos.js',
-    'WEB-INF/classes/nav.html': 'src/main/webapp/nav.html',
-    'WEB-INF/classes/app/view': 'src/main/webapp/app/view',
-    'WEB-INF/classes/raw': 'src/main/webapp/raw',
-}
-
-include_defs('//bucklets/node.bucklet')
-sh_src='onos-gui-build'
-
-fetch_node(version = NODE_VERSION)
-
-export_file (
-    name = 'onos-tools-gui-exe',
-    src = sh_src,
-    visibility = [ 'PUBLIC' ],
-)
-
-genrule(
-    name = 'onos-tools-gui',
-    srcs = glob(['src/main/webapp/*.js', 'src/main/webapp/app/**/*.js'], excludes = ['src/main/webapp/dist/*.js']),
-    bash = '$(location :onos-tools-gui-exe) '
-        + ' $(location :node-release-' + NODE_VERSION + ') '
-        + '$(location :node-bin-' + NODE_VERSION + ') > $OUT',
-    out = 'onos-tools-gui.log',
-    visibility = [ 'PUBLIC' ],
-)
-
-osgi_jar_with_tests (
-    name = 'onos-gui',
-    deps = COMPILE_DEPS,
-    test_deps = TEST_DEPS,
-    include_resources = RESOURCES,
-    web_context = '/onos/ui',
-    do_javadocs = False,
-)