1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-14 16:33:45 -05:00
denoland-deno/tools/gcloud_upload.py
Ryan Dahl 89096c9210 Use prebuilt V8 library by default.
This still retains the ability to build V8 from scratch, with an number
of configurations. The prebuilt binaries were created using

DENO_BUILD_MODE=release ./tools/build.py v8
2018-11-27 15:47:31 -08:00

54 lines
1.2 KiB
Python
Executable file

#!/usr/bin/env python
# Prereq:
# - gcloud auth login
# - gcloud config set project deno-223616
# This program uploads the specified file to GCloud Storage in the denoland
# bucket. It places a checksum file into the current directory using the base
# filename of the specified file.
import os
import sys
import hashlib
from util import root_path, run
from third_party import tp
def print_usage():
print "Usage: ./tools/gcloud_upload.py target/release/obj/third_party/v8/libv8.a"
sys.exit(1)
def compute_sha1(filename):
m = hashlib.sha1()
with open(filename) as f:
m.update(f.read())
return m.hexdigest()
def main(argv):
if len(argv) != 2:
print_usage()
os.chdir(root_path)
filename = sys.argv[1]
basename = os.path.basename(filename)
sha1 = compute_sha1(filename)
print sha1
gs_url = "gs://denoland/" + sha1
#gsutil = tp("depot_tools/gsutil.py")
gsutil = "gsutil" # standalone installation
run([gsutil, "cp", filename, gs_url])
run([gsutil, "acl", "ch", "-u", "AllUsers:R", gs_url])
target_filename = basename + ".sha1"
with open(target_filename, 'w') as f:
f.write(sha1)
print "Wrote", target_filename
if __name__ == '__main__':
sys.exit(main(sys.argv))