aboutsummaryrefslogtreecommitdiff
path: root/utils/new-publish/publish-start
diff options
context:
space:
mode:
Diffstat (limited to 'utils/new-publish/publish-start')
-rwxr-xr-xutils/new-publish/publish-start37
1 files changed, 37 insertions, 0 deletions
diff --git a/utils/new-publish/publish-start b/utils/new-publish/publish-start
new file mode 100755
index 0000000..290d09d
--- /dev/null
+++ b/utils/new-publish/publish-start
@@ -0,0 +1,37 @@
+#!/usr/bin/env python
+import sys
+import os
+import glob
+import optparse
+
+
+REMOTE_HOST = "android-build.linaro.org"
+USER_NAME = "publish-copy"
+UPLOAD_DIR = "/uploads"
+KEY_FILE = "/var/run/lava/publish-copy"
+
+if __name__ == "__main__":
+ optparser = optparse.OptionParser(usage="%prog")
+ optparser.add_option("-d", "--dest-dir", metavar="DIR", help="Destination directory")
+ optparser.add_option("-p", "--strip", metavar="NUM", type=int, default=0,
+ help="Strip leading components from dest file names.")
+ optparser.add_option("-i", "--identity", metavar="KEY", default=KEY_FILE, help="SSH key file")
+ optparser.add_option("-n", "--dry-run", action="store_true", help="Don't actually publish files, log commands")
+ options, args = optparser.parse_args(sys.argv[1:])
+ if len(args) == 0:
+ optparser.error("Wrong number of arguments")
+ if options.dest_dir is None:
+ optparser.error("--dest-dir is required option")
+
+ patterns = args
+ # Support Jenkins syntax, with comma as separator
+ if len(args) == 1 and "," in args[0]:
+ patterns = args[0].split(",")
+
+ file_list = get_file_list(patterns)
+ print "File list:", file_list
+ dir_list = make_dir_struct(file_list, UPLOAD_DIR, options.dest_dir, options.strip)
+ print "Dir list:", dir_list
+ create_dir_struct(dir_list, REMOTE_HOST, USER_NAME, options.identity)
+ upload_script = make_upload_script(file_list, UPLOAD_DIR, options.dest_dir, options.strip)
+ upload_files(upload_script, REMOTE_HOST, USER_NAME, options.identity, options)