diff --git a/aio/BUILD.bazel b/aio/BUILD.bazel index 99e2fd4a70e..bb6e6bfc0a6 100644 --- a/aio/BUILD.bazel +++ b/aio/BUILD.bazel @@ -1,5 +1,5 @@ load("@aio_npm//@angular-devkit/architect-cli:index.bzl", "architect", "architect_test") -load("@build_bazel_rules_nodejs//:index.bzl", "npm_package_bin") +load("@build_bazel_rules_nodejs//:index.bzl", "copy_to_bin", "npm_package_bin") load("//aio/tools:defaults.bzl", "nodejs_binary") load("@aspect_bazel_lib//lib:copy_to_directory.bzl", "copy_to_directory") load(":local_packages_util.bzl", "link_local_packages", "substitute_local_packages") @@ -91,9 +91,6 @@ APPLICATION_FILES = [ "tsconfig.worker.json", "//aio/src/assets", "//aio/src/assets/js", - ":dgeni", - ":stackblitz", - ":example-zips", ] + glob( ["src/**/*"], exclude = [ @@ -105,8 +102,11 @@ APPLICATION_FILES = [ ], ) -# External dependencies from aio/package.json required to build the docs app. +# Dependencies required to build the docs app. APPLICATION_DEPS = [ + ":dgeni", + ":stackblitz", + ":example-zips", "@aio_npm//@angular-devkit/build-angular", "@aio_npm//@angular/animations", "@aio_npm//@angular/cdk", @@ -138,7 +138,7 @@ TEST_FILES = APPLICATION_FILES + [ ["src/**/*.spec.ts"], ) -# External dependencies from aio/package.json required to test the docs app +# Dependencies required to test the docs app TEST_DEPS = APPLICATION_DEPS + [ "@aio_npm//@angular/dev-infra-private/bazel/browsers/chromium", "@aio_npm//@types/jasmine", @@ -158,7 +158,7 @@ TEST_DEPS = APPLICATION_DEPS + [ # and run e2e tests against it E2E_FILES = APPLICATION_FILES + glob(["tests/e2e/**"]) -# External dependencies from aio/package.json required by the e2e tests +# Dependencies required to run the e2e tests E2E_DEPS = APPLICATION_DEPS + [ "@aio_npm//@angular/dev-infra-private/bazel/browsers/chromium", "@aio_npm//@types/jasmine", @@ -172,15 +172,20 @@ E2E_DEPS = APPLICATION_DEPS + [ # first-party equivalent pacakge in angular. link_local_packages(deps = APPLICATION_DEPS) +copy_to_bin( + name = "application_files_bin", + srcs = APPLICATION_FILES, +) + architect( name = "build", args = [ "site:build:stable", - "--output-path=../$(@D)", + "--output-path=build", ], - chdir = package_name(), + chdir = "$(RULEDIR)", configuration_env_vars = ["NG_BUILD_CACHE"], - data = APPLICATION_FILES + select({ + data = [":application_files_bin"] + select({ ":aio_local_deps": substitute_local_packages(APPLICATION_DEPS), "//conditions:default": APPLICATION_DEPS, }), diff --git a/aio/local_packages_util.bzl b/aio/local_packages_util.bzl index 908217eefb6..96d05c00a77 100644 --- a/aio/local_packages_util.bzl +++ b/aio/local_packages_util.bzl @@ -8,15 +8,16 @@ def link_local_packages(deps): deps: list of npm dependency labels """ for dep in deps: - label = Label(dep) - if label.package in ALL_PACKAGES: - npm_link( - name = _npm_link_name(dep), - target = to_package_label(label.package), - package_name = label.package, - package_path = native.package_name(), - tags = ["manual"], - ) + if dep.startswith("@aio_npm//"): + label = Label(dep) + if label.package in ALL_PACKAGES: + npm_link( + name = _npm_link_name(dep), + target = to_package_label(label.package), + package_name = label.package, + package_path = native.package_name(), + tags = ["manual"], + ) def substitute_local_packages(deps): """Substitute npm dependencies for their local npm_link equivalent. @@ -32,11 +33,12 @@ def substitute_local_packages(deps): """ substituted = [] for dep in deps: - label = Label(dep) - if label.package in ALL_PACKAGES: - substituted.append(_npm_link_name(dep)) - else: - substituted.append(dep) + if dep.startswith("@aio_npm//"): + label = Label(dep) + if label.package in ALL_PACKAGES: + substituted.append(_npm_link_name(dep)) + else: + substituted.append(dep) return substituted def _npm_link_name(dep):