diff --git a/tools/build/envDefaults b/tools/build/envDefaults
index f72d3ae..8aa45bd 100644
--- a/tools/build/envDefaults
+++ b/tools/build/envDefaults
@@ -14,8 +14,8 @@
 export PATH="$ONOS_ROOT/tools/dev/bin:$ONOS_ROOT/tools/test/bin:$PATH"
 export PATH="$ONOS_ROOT/tools/build:$PATH"
 
-# Fallback build number us derived from from the user name & time
-export BUILD_NUMBER=${BUILD_NUMBER:-$(id -un)~$(date +'%Y/%m/%d@%H:%M')}
+# Fallback build number us derived from from the user name
+export BUILD_NUMBER=${BUILD_NUMBER:-$(id -un)}
 
 # ONOS Version and onos.tar.gz staging environment
 export ONOS_POM_VERSION="1.8.0-SNAPSHOT"
@@ -39,10 +39,6 @@
 export ONOS_TEST_STAGE=$ONOS_STAGE_ROOT/$ONOS_TEST_BITS
 export ONOS_TEST_TAR=$ONOS_TEST_STAGE.tar.gz
 
-# Defaults for ONOS testing using remote machines.
-# if [ -n "${ONOS_CELL}" -a -f $ONOS_ROOT/tools/test/cells/${ONOS_CELL} ]; then
-#   . $ONOS_ROOT/tools/test/cells/${ONOS_CELL}
-# fi
 export ONOS_INSTALL_DIR="/opt/onos"     # Installation directory on remote
 export OCI="${OCI:-192.168.56.101}"     # ONOS Controller Instance
 export ONOS_USER="${ONOS_USER:-sdn}"    # ONOS user on remote system
diff --git a/tools/build/onos-build b/tools/build/onos-build
index b9c752e..99a48a4 100755
--- a/tools/build/onos-build
+++ b/tools/build/onos-build
@@ -3,9 +3,5 @@
 # Builds the ONOS from source.
 # -----------------------------------------------------------------------------
 
-set -e
-
 [ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1
-. $ONOS_ROOT/tools/build/envDefaults
-
-cd $ONOS_ROOT && mvn clean install "$@"
+cd $ONOS_ROOT && onos-buck build onos && onos-buck test
diff --git a/tools/build/onos-build-docs b/tools/build/onos-build-docs
index bc1d912..cdac83f 100755
--- a/tools/build/onos-build-docs
+++ b/tools/build/onos-build-docs
@@ -8,37 +8,4 @@
 [ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1
 . $ONOS_ROOT/tools/build/envDefaults
 
-apidocs=onos-apidocs-${ONOS_VERSION%~*}
-
-function expandList {
-    list="";
-    while read line; do
-        [ -n "$line" ] && list="$list:$line"
-    done < $1
-    echo "${list#:*}"
-}
-
-function processPom {
-    cp $1 aux-$1
-    egrep '@[a-zA-Z0-9.-]+' $1 | sed 's:^[^@]*@::g' | sed 's:</.*$::g' | while read line; do
-        packages="$(expandList $line)"
-        sed "s/@$line/$packages/" aux-$1 > aux-$1.aux
-        mv aux-$1.aux aux-$1
-    done
-}
-
-set -e
-
-trap "rm aux-internal.xml aux-external.xml 2>/dev/null" EXIT
-rm -fr $ONOS_ROOT/docs/target
-
-cd $ONOS_ROOT/docs
-processPom external.xml
-mvn -f aux-external.xml javadoc:aggregate "$@"
-
-cd target && mv site/apidocs $apidocs
-tar zcf $apidocs.tar.gz $apidocs && cp $apidocs.tar.gz $ONOS_STAGE_ROOT
-
-cd $ONOS_ROOT/docs
-processPom internal.xml
-mvn -f aux-internal.xml javadoc:aggregate "$@"
+onos-buck build //docs:external //docs:internal --show-output
diff --git a/tools/build/onos-package b/tools/build/onos-package
index 471d25c..4576aa0 100755
--- a/tools/build/onos-package
+++ b/tools/build/onos-package
@@ -3,6 +3,16 @@
 # Packages ONOS distributable into onos.tar.gz, onos.zip or a deb file
 # -----------------------------------------------------------------------------
 
+[ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1
+cd $ONOS_ROOT && onos-buck build onos --show-output && onos-check-bits
+exit $?
+
+#=============================================================================
+
+# FIXME: This needs to be refactored using Buck; for now it is disabled
+# FIXME: .deb, .rpm, .zip need to be re-implemented
+# FIXME: SM-ONOS packaging flavour needs to be re-implemented
+
 set -e
 
 # Build the staging directory used to produce the packages
diff --git a/tools/dev/bash_profile b/tools/dev/bash_profile
index b0c6133..4999963 100644
--- a/tools/dev/bash_profile
+++ b/tools/dev/bash_profile
@@ -45,25 +45,27 @@
         egrep "${1:-$ONOS_ROOT}" | head -n 1)
 }
 
-# Short-hand for 'mvn clean install' for us lazy folk
-alias mci='mvn clean install'
-alias mcis='mvn clean install -DskipTests -Dcheckstyle.skip'
-alias mis='mvn install -DskipTests -Dcheckstyle.skip'
+# Buck (if "buck" is not on the PATH)
+[ -z "$(which buck)" ] && alias buck="onos-buck"
 
 # Short-hand for ONOS build, package and test.
 alias ob='onos-build'
-alias obf='ob -DskipTests -Dcheckstyle.skip'
-alias obi='onos-build -Dmaven.test.failure.ignore=true'
-alias obs='onos-build-selective'
+alias obf='(cd $ONOS_ROOT && buck build onos)'
 alias obd='onos-build-docs'
 alias op='onos-package'
-alias ok='onos-karaf'
 alias ot='onos-test'
+
+alias deprecatedAlias='echo "This alias has been deprecated."'
+alias obi=deprecatedAlias
+alias obs=deprecatedAlias
+
+alias ok='buck run onos-local'
+alias oh='onos localhost halt'
+
 alias ol='onos-log'
 alias ow='onos-watch'
 alias ocl='onos-check-logs'
 alias oi='setPrimaryInstance'
-alias pub='onos-push-update-bundle'
 
 # Short-hand for tailing and searching the ONOS (karaf) log
 alias tl='$ONOS_ROOT/tools/dev/bin/onos-local-log'
@@ -89,6 +91,13 @@
 alias rsdocs='onos-rsdocs'
 alias gui='onos-gui'
 
+# Short-hand for 'mvn clean install' for us lazy folk
+alias mci='mvn clean install'
+alias mcis='mvn clean install -DskipTests -Dcheckstyle.skip'
+alias mis='mvn install -DskipTests -Dcheckstyle.skip'
+
+# Git annotated one-line log
+alias gil='git log --oneline --decorate=short'
 
 # Test related conveniences
 
@@ -97,7 +106,6 @@
 alias sshnet='onos-ssh $OCN'
 
 
-
 # Applies the settings in the specified topology recipe file or lists current
 # topo recipe definition if no topo recipe file is given.
 function topo {
@@ -276,9 +284,3 @@
 
 # Load UK topo GEO data
 alias uktopo='onos-netcfg $OCI $ONOS_ROOT/tools/test/topos/uk-cfg.json'
-
-# Git annotated one-line log
-alias gil='git log --oneline --decorate=short'
-
-# Buck (if "buck" is not on the PATH)
-[ -z "$(which buck)" ] && alias buck="onos-buck"
diff --git a/tools/test/bin/onos-check-bits b/tools/test/bin/onos-check-bits
index 6b91a48..98ce3f5 100755
--- a/tools/test/bin/onos-check-bits
+++ b/tools/test/bin/onos-check-bits
@@ -22,7 +22,7 @@
   echo "ONOS archive is not a valid tar file" && exit 1
 fi
 
-tar tzf ${ONOS_TAR} | grep -q onos-${ONOS_VERSION}.*/VERSION
+tar tzf ${ONOS_TAR} | grep -q onos-${ONOS_POM_VERSION}.*/VERSION
 if [ $? -ne 0 ]; then
   echo "ONOS archive does not contain the proper version file" && exit 1
 fi
diff --git a/tools/test/bin/onos-push-update-bundle b/tools/test/bin/onos-push-update-bundle
deleted file mode 100755
index a75769a..0000000
--- a/tools/test/bin/onos-push-update-bundle
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/bash
-# -----------------------------------------------------------------------------
-# Pushes the specified bundle to the remote ONOS cell machines and updates it.
-# -----------------------------------------------------------------------------
-
-[ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1
-. $ONOS_ROOT/tools/build/envDefaults
-
-cd ~/.m2/repository
-jar=$(find org/onosproject -type f -name '*.jar' | grep -e $1 | grep -v -e -tests | head -n 1)
-
-[ -z "$jar" ] && echo "No bundle $1 found for" && exit 1
-
-bundle=$(echo $(basename $jar .jar) | sed 's/-[0-9].*//g')
-
-echo "pushing bundle: $bundle"
-
-nodes=$(env | sort | egrep "^OC[0-9]+" | cut -d= -f2)
-for node in $nodes; do
-    scp -q $jar $ONOS_USER@$node:.m2/repository/$jar
-    scp -q $jar $ONOS_USER@$node:$ONOS_INSTALL_DIR/$KARAF_DIST/system/$jar
-    ssh $ONOS_USER@$node "
-        $ONOS_INSTALL_DIR/bin/onos \"bundle:stop -f $bundle\"
-        $ONOS_INSTALL_DIR/bin/onos \"bundle:update -f $bundle\"
-        $ONOS_INSTALL_DIR/bin/onos \"bundle:start -f $bundle\"
-    " 2>/dev/null
-done
