Migrated release script to use Buck exclusively.
Change-Id: I04371594b68071488788c4ecbdb896a6306a2a14
diff --git a/BUCK b/BUCK
index 056750b..d1b5cfc 100644
--- a/BUCK
+++ b/BUCK
@@ -47,3 +47,13 @@
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-app',
+ 'tools/build/envDefaults'
+ ],
+)
\ No newline at end of file
diff --git a/bucklets/onos.bucklet b/bucklets/onos.bucklet
index 7f46235..8636a2a 100644
--- a/bucklets/onos.bucklet
+++ b/bucklets/onos.bucklet
@@ -262,3 +262,25 @@
srcs = test_srcs,
jar_target = ':' + name + '-tests',
)
+
+def tar_file(
+ name,
+ srcs,
+ root = None,
+ out = None,
+ visibility = [ 'PUBLIC' ],
+ ):
+
+ cmd = ( 'mkdir -p $TMP/%(root_dir)s && '
+ 'cp -r $SRCDIR/ $TMP/%(root_dir)s && '
+ 'tar -C $TMP -zcf $OUT %(root_dir)s' ) % {
+ '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,
+ )
diff --git a/tools/build/onos-package-test b/tools/build/onos-package-test
index 94d153d..1e23786 100755
--- a/tools/build/onos-package-test
+++ b/tools/build/onos-package-test
@@ -3,6 +3,9 @@
# Packages ONOS test facilities into onos-test.tar.gz
# -----------------------------------------------------------------------------
+echo "Use 'onos-buck build //:onos-test' instead"
+exit 1
+
set -e
[ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1
diff --git a/tools/build/onos-release b/tools/build/onos-release
index d4c1a80..774b0de 100755
--- a/tools/build/onos-release
+++ b/tools/build/onos-release
@@ -26,10 +26,14 @@
onos-validate-change-version
# Build ONOS & deploy to staging repo using the release profile.
-onos-build && onos-package --tar --zip && mvn -Prelease clean deploy -DskipTests
+onos-buck build onos
+time onos-buck-publish
# Build ONOS docs
-onos-build-docs
+onos-buck build //docs:internal //docs:external
+
+# Package test tar.gz
+onos-buck build //:onos-test
# Build ONOS archetypes & deploy to staging repo using the release profile.
# Note that release of the staging repository is a separate manual step.
diff --git a/tools/build/onos-upload-bits b/tools/build/onos-upload-bits
index e3bb83c..c9f4c80 100755
--- a/tools/build/onos-upload-bits
+++ b/tools/build/onos-upload-bits
@@ -9,6 +9,20 @@
. $ONOS_ROOT/tools/build/envDefaults
#FIXME need to export s3Creds
-#TODO we could verify that ONOS_VERSION is set, and only upload that version
-onosUploadBits.py
+# Stage the onos tar in /tmp
+rm -f $ONOS_TAR
+cp $(onos-buck build onos --show-output | tail -1 | cut -d\ -f2) $ONOS_TAR
+
+# Repackage the onos tar
+pushd /tmp/
+tar xf onos-$ONOS_VERSION.tar.gz
+rm -f onos-$ONOS_VERSION.zip
+zip -r onos-$ONOS_VERSION.zip onos-$ONOS_VERSION/
+popd
+
+# Stage the test bits tar in /tmp
+rm -f $ONOS_TEST_TAR
+cp $(onos-buck build //:onos-test --show-output | tail -1 | cut -d\ -f2) $ONOS_TEST_TAR
+
+onosUploadBits.py $ONOS_VERSION
diff --git a/tools/build/onosUploadBits.py b/tools/build/onosUploadBits.py
index dc2f0a4..ae88b5c 100755
--- a/tools/build/onosUploadBits.py
+++ b/tools/build/onosUploadBits.py
@@ -14,11 +14,11 @@
nightlyTag = 'NIGHTLY'
bitsPath = '/tmp'
-prefix = 'onos-(\d+\.\d+\.\d+)'
+prefix = 'onos-(?:test-)?(\d+\.\d+\.\d+)'
buildNum = '\.?([\w-]*)'
ext = '\.(?:tar\.gz|zip|deb|noarch\.rpm)'
-def findBits( path ):
+def findBits( path, target_version=None ):
for file in listdir( path ):
filePath = join( path, file )
if not isfile( filePath ):
@@ -28,6 +28,9 @@
match = re.match( regex, file )
if match:
version = match.group(1)
+ if target_version is not None and version != target_version:
+ print 'Skipping %s...' % filePath
+ continue
build = match.group(2)
if build:
if 'NIGHTLY' in build or 'rc' in build:
@@ -37,4 +40,7 @@
uploadFile(filePath, dest='release/')
if __name__ == '__main__':
- findBits( '/tmp' )
+ import sys
+
+ version = sys.argv[1] if len(sys.argv) >= 2 else None
+ findBits( '/tmp', version )