mirror of
https://github.com/angular/angular.git
synced 2026-09-14 13:54:52 +08:00
445fbf81fd
Previously devtools used a nested workspace for its bazel configurations. This meant framework dependencies were consumed via npm. Now devtools is part of the root bazel directory that all other files in this codebase fall under. This allows us to build devtools using local angular packages, removing the need to consume these dependencies with npn. This is useful because we no longer have to update these dependencies with an automated tool like renovate, and our CI tests will always run against the most up to date framework packages.
96 lines
3.2 KiB
Python
96 lines
3.2 KiB
Python
workspace(
|
|
name = "angular",
|
|
managed_directories = {"@npm": ["node_modules"]},
|
|
)
|
|
|
|
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
|
|
|
|
# Fetch rules_nodejs so we can install our npm dependencies
|
|
http_archive(
|
|
name = "build_bazel_rules_nodejs",
|
|
sha256 = "ddb78717b802f8dd5d4c01c340ecdc007c8ced5c1df7db421d0df3d642ea0580",
|
|
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.6.0/rules_nodejs-4.6.0.tar.gz"],
|
|
)
|
|
|
|
# The PKG rules are needed to build tar packages for integration tests. The builtin
|
|
# rule in `@bazel_tools` is not Windows compatible and outdated.
|
|
http_archive(
|
|
name = "rules_pkg",
|
|
sha256 = "a89e203d3cf264e564fcb96b6e06dd70bc0557356eb48400ce4b5d97c2c3720d",
|
|
urls = [
|
|
"https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.5.1/rules_pkg-0.5.1.tar.gz",
|
|
"https://github.com/bazelbuild/rules_pkg/releases/download/0.5.1/rules_pkg-0.5.1.tar.gz",
|
|
],
|
|
)
|
|
|
|
# Check the rules_nodejs version and download npm dependencies
|
|
# Note: bazel (version 2 and after) will check the .bazelversion file so we don't need to
|
|
# assert on that.
|
|
load("@build_bazel_rules_nodejs//:index.bzl", "check_rules_nodejs_version", "node_repositories", "yarn_install")
|
|
|
|
check_rules_nodejs_version(minimum_version_string = "2.2.0")
|
|
|
|
# Setup the Node.js toolchain
|
|
node_repositories(
|
|
node_version = "16.10.0",
|
|
package_json = ["//:package.json"],
|
|
)
|
|
|
|
load("//integration:npm_package_archives.bzl", "npm_package_archives")
|
|
|
|
yarn_install(
|
|
name = "npm",
|
|
# Note that we add the postinstall script here so that the dependencies are re-installed
|
|
# when the postinstall patches are modified.
|
|
data = ["//tools:postinstall-patches.js"],
|
|
manual_build_file_contents = npm_package_archives(),
|
|
package_json = "//:package.json",
|
|
yarn_lock = "//:yarn.lock",
|
|
)
|
|
|
|
# Load protractor dependencies
|
|
load("@npm//@bazel/protractor:package.bzl", "npm_bazel_protractor_dependencies")
|
|
|
|
npm_bazel_protractor_dependencies()
|
|
|
|
# Setup the rules_webtesting toolchain
|
|
load("@io_bazel_rules_webtesting//web:repositories.bzl", "web_test_repositories")
|
|
|
|
web_test_repositories()
|
|
|
|
load("@npm//@angular/dev-infra-private/bazel/browsers:browser_repositories.bzl", "browser_repositories")
|
|
|
|
browser_repositories()
|
|
|
|
load("@build_bazel_rules_nodejs//toolchains/esbuild:esbuild_repositories.bzl", "esbuild_repositories")
|
|
|
|
esbuild_repositories()
|
|
|
|
load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
|
|
|
|
rules_pkg_dependencies()
|
|
|
|
load("//packages/common/locales/generate-locales-tool:cldr-data.bzl", "cldr_data_repository")
|
|
|
|
cldr_data_repository(
|
|
name = "cldr_data",
|
|
urls = {
|
|
"https://github.com/unicode-org/cldr-json/releases/download/39.0.0/cldr-39.0.0-json-full.zip": "a631764b6bb7967fab8cc351aff3ffa3f430a23646899976dd9d65801446def6",
|
|
},
|
|
)
|
|
|
|
# sass rules
|
|
http_archive(
|
|
name = "io_bazel_rules_sass",
|
|
sha256 = "435efe759f1c8baffadc320ecc1830454da181fa790aa83bb4326f07e903a0f4",
|
|
strip_prefix = "rules_sass-1.41.0",
|
|
urls = [
|
|
"https://github.com/bazelbuild/rules_sass/archive/1.41.0.zip",
|
|
],
|
|
)
|
|
|
|
# Setup the rules_sass toolchain
|
|
load("@io_bazel_rules_sass//sass:sass_repositories.bzl", "sass_repositories")
|
|
|
|
sass_repositories()
|