# Copyright 2022 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

workspace(name = "sdk-integration")

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

fuchsia_sdk_repository(
    name = "rules_fuchsia",
    workspace_root  = "//:WORKSPACE.bazel",
    rules_path = "bazel_rules_fuchsia/fuchsia/private",
    defs_path = "rules/defs.bzl",
)


# TODO(fxbug.dev/93945) Remove this http_archive and use a submodule instead
http_archive(
    name = "bazel_skylib",
    sha256 = "1c531376ac7e5a180e0237938a2536de0c54d93f5c278634818e0efc952dd56c",
    urls = [
        "https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz",
        "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz",
    ],
)

load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
bazel_skylib_workspace()
