diff options
Diffstat (limited to 'utils/new-publish/publish-start')
-rwxr-xr-x | utils/new-publish/publish-start | 37 |
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) |