#
# Copyright 2021 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

""" Workspace for Zetasql example """

workspace(name = "zetasql_example")

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

# 2021-05-14
http_archive(
    name = "com_google_zetasql",
    sha256 = "9141d9755d1f91ff4d1c5a73087255bd9c5eb020e46109db92022906c77d760c",
    strip_prefix = "zetasql-dd883180de6387ad80bcf7534b5aae8191e66621",
    url = "https://github.com/google/zetasql/archive/dd883180de6387ad80bcf7534b5aae8191e66621.tar.gz",
)

load("@com_google_zetasql//bazel:zetasql_deps_step_1.bzl", "zetasql_deps_step_1")

zetasql_deps_step_1()

load("@com_google_zetasql//bazel:zetasql_deps_step_2.bzl", "zetasql_deps_step_2")

zetasql_deps_step_2()

load("@com_google_zetasql//bazel:zetasql_deps_step_3.bzl", "zetasql_deps_step_3")

zetasql_deps_step_3()

load("@com_google_zetasql//bazel:zetasql_deps_step_4.bzl", "zetasql_deps_step_4")

zetasql_deps_step_4()
