#!/usr/bin/env python
# Copyright (c) 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import os
import stat
import subprocess

from webkitpy.common.system import filesystem
from webkitpy.common.webkit_finder import WebKitFinder

finder = WebKitFinder(filesystem.FileSystem())

output_file_ = finder.path_from_chromium_base('out', 'downloads', 'sky_server')
subprocess.call([
    'download_from_google_storage',
    '--no_resume',
    '--no_auth',
    '--bucket', 'mojo',
    '--sha1_file', finder.path_from_chromium_base('sky', 'tools', 'skygo', 'sky_server.sha1'),
    '--output', output_file_
])
os.chmod(output_file_, os.stat(output_file_).st_mode | stat.S_IEXEC)
