// Copyright (c) 2019, the R8 project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

import org.gradle.internal.os.OperatingSystem

rootProject.name = 'r8'

// Bootstrap building by downloading dependencies.
def dependencies_bucket = "r8-deps"
def dependencies_sha1_file = "third_party/dependencies.tar.gz.sha1"
def extension = OperatingSystem.current().isWindows() ? ".bat" : ".py"

def cmd =
        ("download_from_google_storage${extension} --extract"
                + " --bucket ${dependencies_bucket}"
                + " --sha1_file ${dependencies_sha1_file}")
def process = cmd.execute()
process.waitFor()
if (process.exitValue() != 0) {
    throw new GradleException(
            "Bootstrapping dependencies download failed:\n"
                    + "STDOUT:\n${process.in.text}\n"
                    + "STDERR:\n${process.err.text}")
}