build: remove `skydoc` and `rules_sass` from repository (#42760)
Skydoc is no longer used as `@angular/bazel` is no longer a public API. The Sass rules were only used in a single place in the repo where Sass is not really needed and has just been added by accident most likely. We want to remove the Sass dependency in preparation for Rules NodeJS v4.x where the Sass rules currently still use an older version of `@bazel/worker` that is incompatible. PR Close #42760
This commit is contained in:
parent
53b281ae1b
commit
12443ea739
|
@ -24,14 +24,14 @@ version: 2.1
|
|||
# **NOTE 2 **: If you change the cache key prefix, also sync the cache_key_fallback to match.
|
||||
# **NOTE 3 **: Keep the static part of the cache key as prefix to enable correct fallbacks.
|
||||
# See https://circleci.com/docs/2.0/caching/#restoring-cache for how prefixes work in CircleCI.
|
||||
var_3: &cache_key v4-angular-node-14-{{ checksum "month.txt" }}-{{ checksum ".bazelversion" }}-{{ checksum "yarn.lock" }}-{{ checksum "WORKSPACE" }}-{{ checksum "packages/bazel/package.bzl" }}-{{ checksum "aio/yarn.lock" }}
|
||||
var_3: &cache_key v4-angular-node-14-{{ checksum "month.txt" }}-{{ checksum ".bazelversion" }}-{{ checksum "yarn.lock" }}-{{ checksum "WORKSPACE" }}-{{ checksum "aio/yarn.lock" }}
|
||||
# We invalidate the cache if the Bazel version changes because otherwise the `bazelisk` cache
|
||||
# folder will contain all previously used versions and ultimately cause the cache restoring to
|
||||
# be slower due to its growing size.
|
||||
var_4: &cache_key_fallback v4-angular-node-14-{{ checksum "month.txt" }}-{{ checksum ".bazelversion" }}
|
||||
|
||||
# Windows needs its own cache key because binaries in node_modules are different.
|
||||
var_3_win: &cache_key_win v4-angular-win-node-14-{{ checksum "month.txt" }}-{{ checksum ".bazelversion" }}-{{ checksum "yarn.lock" }}-{{ checksum "WORKSPACE" }}-{{ checksum "packages/bazel/package.bzl" }}-{{ checksum "aio/yarn.lock" }}
|
||||
var_3_win: &cache_key_win v4-angular-win-node-14-{{ checksum "month.txt" }}-{{ checksum ".bazelversion" }}-{{ checksum "yarn.lock" }}-{{ checksum "WORKSPACE" }}-{{ checksum "aio/yarn.lock" }}
|
||||
var_4_win: &cache_key_win_fallback v4-angular-win-node-14-{{ checksum "month.txt" }}-{{ checksum ".bazelversion" }}
|
||||
|
||||
# Cache key for the `components-repo-unit-tests` job. **Note** when updating the SHA in the
|
||||
|
|
15
WORKSPACE
15
WORKSPACE
|
@ -34,11 +34,6 @@ yarn_install(
|
|||
yarn_lock = "//:yarn.lock",
|
||||
)
|
||||
|
||||
# Load angular dependencies
|
||||
load("//packages/bazel:package.bzl", "rules_angular_dev_dependencies")
|
||||
|
||||
rules_angular_dev_dependencies()
|
||||
|
||||
# Load protractor dependencies
|
||||
load("@npm//@bazel/protractor:package.bzl", "npm_bazel_protractor_dependencies")
|
||||
|
||||
|
@ -52,13 +47,3 @@ web_test_repositories()
|
|||
load("//dev-infra/bazel/browsers:browser_repositories.bzl", "browser_repositories")
|
||||
|
||||
browser_repositories()
|
||||
|
||||
# Setup the rules_sass toolchain
|
||||
load("@io_bazel_rules_sass//:defs.bzl", "sass_repositories")
|
||||
|
||||
sass_repositories()
|
||||
|
||||
# Setup the skydoc toolchain
|
||||
load("@io_bazel_skydoc//skylark:skylark.bzl", "skydoc_repositories")
|
||||
|
||||
skydoc_repositories()
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
package(default_visibility = ["//visibility:public"])
|
||||
|
||||
load("@npm//@bazel/concatjs:index.bzl", "karma_web_test_suite")
|
||||
load("@io_bazel_rules_sass//:defs.bzl", "sass_binary")
|
||||
load("@npm//@angular/bazel:index.bzl", "ng_package")
|
||||
load("//tools:ng_ts_library.bzl", "ng_ts_library")
|
||||
|
||||
package(default_visibility = ["//visibility:public"])
|
||||
|
||||
sass_binary(
|
||||
name = "hello-world-styles",
|
||||
src = "hello-world.component.scss",
|
||||
|
|
|
@ -1,12 +1,6 @@
|
|||
package(default_visibility = ["//modules/benchmarks:__subpackages__"])
|
||||
|
||||
load("@io_bazel_rules_sass//:defs.bzl", "sass_binary")
|
||||
load("//dev-infra/benchmark/component_benchmark:component_benchmark.bzl", "component_benchmark")
|
||||
|
||||
sass_binary(
|
||||
name = "class_bindings_styles",
|
||||
src = ":styles.scss",
|
||||
)
|
||||
package(default_visibility = ["//modules/benchmarks:__subpackages__"])
|
||||
|
||||
component_benchmark(
|
||||
name = "benchmark",
|
||||
|
@ -28,5 +22,5 @@ component_benchmark(
|
|||
exclude = ["**/*.perf-spec.ts"],
|
||||
),
|
||||
prefix = "",
|
||||
styles = [":class_bindings_styles"],
|
||||
styles = ["styles.css"],
|
||||
)
|
||||
|
|
|
@ -1,51 +0,0 @@
|
|||
# Copyright Google LLC All Rights Reserved.
|
||||
#
|
||||
# Use of this source code is governed by an MIT-style license that can be
|
||||
# found in the LICENSE file at https://angular.io/license
|
||||
|
||||
"""Package file which defines dependencies of Angular rules in skylark
|
||||
"""
|
||||
|
||||
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
|
||||
|
||||
def rules_angular_dependencies():
|
||||
print("""DEPRECATION WARNING:
|
||||
rules_angular_dependencies is no longer needed, and will be removed in a future release.
|
||||
We assume you will fetch rules_nodejs in your WORKSPACE file, and no other dependencies remain here.
|
||||
Simply remove any calls to this function and the corresponding call to
|
||||
load("@angular//:package.bzl", "rules_angular_dependencies")
|
||||
""")
|
||||
|
||||
def rules_angular_dev_dependencies():
|
||||
"""
|
||||
Fetch dependencies needed for local development, but not needed by users.
|
||||
|
||||
These are in this file to keep version information in one place, and make the WORKSPACE
|
||||
shorter.
|
||||
"""
|
||||
|
||||
#############################################
|
||||
# Dependencies for generating documentation #
|
||||
#############################################
|
||||
_maybe(
|
||||
http_archive,
|
||||
name = "io_bazel_rules_sass",
|
||||
sha256 = "596ab3616d370135e0ecc710e103422e0aa3719f1c970303a0886b70c81ee819",
|
||||
strip_prefix = "rules_sass-1.32.2",
|
||||
urls = [
|
||||
"https://github.com/bazelbuild/rules_sass/archive/1.32.2.zip",
|
||||
"https://mirror.bazel.build/github.com/bazelbuild/rules_sass/archive/1.32.2.zip",
|
||||
],
|
||||
)
|
||||
|
||||
http_archive(
|
||||
name = "io_bazel_skydoc",
|
||||
sha256 = "f88058b43112e9bdc7fdb0abbdc17c5653268708c01194a159641119195e45c6",
|
||||
strip_prefix = "skydoc-a9550cb3ca3939cbabe3b589c57b6f531937fa99",
|
||||
# TODO: switch to upstream when https://github.com/bazelbuild/skydoc/pull/103 is merged
|
||||
url = "https://github.com/alexeagle/skydoc/archive/a9550cb3ca3939cbabe3b589c57b6f531937fa99.zip",
|
||||
)
|
||||
|
||||
def _maybe(repo_rule, name, **kwargs):
|
||||
if name not in native.existing_rules():
|
||||
repo_rule(name = name, **kwargs)
|
|
@ -1,3 +1,5 @@
|
|||
load("@build_bazel_rules_nodejs//:index.bzl", "nodejs_binary")
|
||||
|
||||
# BEGIN-DEV-ONLY
|
||||
package(default_visibility = ["//packages/bazel:__subpackages__"])
|
||||
|
||||
|
@ -6,11 +8,6 @@ filegroup(
|
|||
srcs = glob(["*"]),
|
||||
)
|
||||
|
||||
# For generating skydoc
|
||||
exports_files(glob(["*.bzl"]))
|
||||
|
||||
load("@build_bazel_rules_nodejs//:index.bzl", "nodejs_binary")
|
||||
|
||||
nodejs_binary(
|
||||
name = "modify_tsconfig",
|
||||
data = [
|
||||
|
|
|
@ -693,19 +693,11 @@ def _ng_module_impl(ctx):
|
|||
|
||||
return ts_providers_dict_to_struct(ts_providers)
|
||||
|
||||
local_deps_aspects = [node_modules_aspect, _collect_summaries_aspect]
|
||||
|
||||
# Workaround skydoc bug which assumes DEPS_ASPECTS is a str type
|
||||
[local_deps_aspects.append(a) for a in DEPS_ASPECTS]
|
||||
|
||||
NG_MODULE_ATTRIBUTES = {
|
||||
"srcs": attr.label_list(allow_files = [".ts"]),
|
||||
|
||||
# Note: DEPS_ASPECTS is already a list, we add the cast to workaround
|
||||
# https://github.com/bazelbuild/skydoc/issues/21
|
||||
"deps": attr.label_list(
|
||||
doc = "Targets that are imported by this target",
|
||||
aspects = local_deps_aspects,
|
||||
aspects = [node_modules_aspect, _collect_summaries_aspect] + DEPS_ASPECTS,
|
||||
),
|
||||
"assets": attr.label_list(
|
||||
doc = ".html and .css files needed by the Angular compiler",
|
||||
|
|
|
@ -125,10 +125,6 @@ WELL_KNOWN_GLOBALS = {p: _global_name(p) for p in [
|
|||
"rxjs/operators",
|
||||
]}
|
||||
|
||||
# skydoc fails with type(depset()) so using "depset" here instead
|
||||
# TODO(gregmagolan): clean this up
|
||||
_DEPSET_TYPE = "depset"
|
||||
|
||||
def _compute_node_modules_root(ctx):
|
||||
"""Computes the node_modules root from the node_modules and deps attributes.
|
||||
|
||||
|
@ -282,7 +278,11 @@ def _flatten_paths(directory):
|
|||
# Optionally can filter out files that do not belong to a specified package path.
|
||||
def _filter_out_generated_files(files, extension, package_path = None):
|
||||
result = []
|
||||
files_list = files.to_list() if type(files) == _DEPSET_TYPE else files
|
||||
|
||||
# If `files` is a depset, convert it to a list. Note that we do not compare the type
|
||||
# of files against a literal as per best practices within Bazel Starlark.
|
||||
# https://docs.bazel.build/versions/main/skylark/lib/globals.html#type.
|
||||
files_list = files.to_list() if type(files) == type(depset()) else files
|
||||
for file in files_list:
|
||||
# If the "package_path" parameter has been specified, filter out files
|
||||
# that do not start with the specified package path.
|
||||
|
@ -298,7 +298,7 @@ def _filter_out_generated_files(files, extension, package_path = None):
|
|||
return depset(result)
|
||||
|
||||
def _filter_js_inputs(all_inputs):
|
||||
all_inputs_list = all_inputs.to_list() if type(all_inputs) == _DEPSET_TYPE else all_inputs
|
||||
all_inputs_list = all_inputs.to_list() if type(all_inputs) == type(depset()) else all_inputs
|
||||
return [
|
||||
f
|
||||
for f in all_inputs_list
|
||||
|
|
Loading…
Reference in New Issue