NODE_VERSION = "v8.1.2"
NODE_RELEASE_BASE_URL = "https://nodejs.org/dist/"

NODE_SHA1S = {
    "node-v8.1.2-linux-x64.tar.gz":"61a609c83e2d3458cc2301a63b212a97e6b9f809",
    "node-v8.1.2-darwin-x64.tar.gz":"a8b31fd645480661a8a777d9b4466dca0e6deb33"
}

def get_system_arch():
    import platform
    os = platform.system().lower()
    return os

def fetch_node(version):
    file_name = "node-%s-%s-x64" % (version, get_system_arch())
    file_fullname = "node-%s-%s-x64.tar.gz" % (version, get_system_arch())
    if file_fullname not in NODE_SHA1S:
        raise Exception("Cannot download %s, architecture or version not supported" % file_name)

    remote_file(
        name = 'node-release-' + version,
        url = NODE_RELEASE_BASE_URL + version + '/' + file_fullname,
        sha1 = NODE_SHA1S[file_fullname],
    )

    genrule(
        name = 'node-bin-' + version,
        bash = 'tar -xf $(location :node-release-' + version + ') && ' +
               'mv ' + file_name + ' $OUT && ' +
               'chmod +x $OUT',
        out = 'node-binaries',
        executable = False,
        visibility = [ "PUBLIC" ],
    )
