style: enforce buildifier lint on CI (#28186)

PR Close #28186
This commit is contained in:
Wassim Chegham
2019-01-16 10:19:01 +01:00
committed by Ben Lesh
parent dc335194ab
commit ce68b4d839
129 changed files with 333 additions and 302 deletions

View File

@ -7,14 +7,14 @@
Users should not load files under "/src"
"""
load("//packages/bazel/src:ng_module.bzl", _ng_module = "ng_module")
load("//packages/bazel/src:ng_setup_workspace.bzl", _ng_setup_workspace = "ng_setup_workspace")
load("//packages/bazel/src/ng_package:ng_package.bzl", _ng_package = "ng_package")
load(
"//packages/bazel/src/protractor:protractor_web_test.bzl",
_protractor_web_test = "protractor_web_test",
_protractor_web_test_suite = "protractor_web_test_suite",
)
load("//packages/bazel/src:ng_module.bzl", _ng_module = "ng_module")
load("//packages/bazel/src:ng_setup_workspace.bzl", _ng_setup_workspace = "ng_setup_workspace")
ng_module = _ng_module
ng_package = _ng_package

View File

@ -8,8 +8,6 @@ filegroup(
# For generating skydoc
exports_files(glob(["*.bzl"]))
load("@build_bazel_rules_nodejs//:defs.bzl", "nodejs_binary")
nodejs_binary(
name = "rollup_with_build_optimizer",
data = [

View File

@ -1,3 +1,5 @@
load("//tools:defaults.bzl", "ts_library")
package(default_visibility = ["//visibility:public"])
filegroup(
@ -8,8 +10,6 @@ filegroup(
visibility = ["//packages/bazel:__subpackages__"],
)
load("//tools:defaults.bzl", "ts_library")
ts_library(
name = "builders",
srcs = [

View File

@ -170,6 +170,11 @@ esm5_outputs_aspect = aspect(
executable = True,
cfg = "host",
),
"_tsc_wrapped": attr.label(
default = Label("@build_bazel_rules_typescript//:@bazel/typescript/tsc_wrapped"),
executable = True,
cfg = "host",
),
},
)

View File

@ -244,6 +244,8 @@ def _expected_outs(ctx):
# TODO(alxhub): i18n is only produced by the legacy compiler currently. This should be re-enabled
# when ngtsc can extract messages
if is_legacy_ngc:
# TODO(manekinekko): due to bazelbuild/bazel#4858 we cannot fix the call to ctx.new_file(genfiles_dir)
# so the rule is turned off for now.
i18n_messages_files = [ctx.new_file(ctx.genfiles_dir, ctx.label.name + "_ngc_messages.xmb")]
else:
i18n_messages_files = []
@ -268,9 +270,9 @@ def _ngc_tsconfig(ctx, files, srcs, **kwargs):
expected_outs = outs.closure_js
angular_compiler_options = {
"enableResourceInlining": ctx.attr.inline_resources,
"generateCodeForLibraries": False,
"allowEmptyCodegenFiles": True,
"enableIvy": _enable_ivy_value(ctx),
"enableResourceInlining": ctx.attr.inline_resources,
# Summaries are only enabled if Angular outputs are to be produced.
"enableSummariesForJit": is_legacy_ngc,
"enableIvy": _enable_ivy_value(ctx),
@ -537,8 +539,8 @@ def ng_module_impl(ctx, ts_compile_actions):
if is_legacy_ngc:
providers["angular"] = {
"summaries": outs.summaries,
"metadata": outs.metadata,
"summaries": outs.summaries,
}
providers["ngc_messages"] = outs.i18n_messages
@ -568,13 +570,6 @@ local_deps_aspects = [collect_node_modules_aspect, _collect_summaries_aspect]
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,
),
"assets": attr.label_list(
doc = ".html and .css files needed by the Angular compiler",
allow_files = [
@ -583,14 +578,6 @@ NG_MODULE_ATTRIBUTES = {
".html",
],
),
"factories": attr.label_list(
allow_files = [".ts", ".html"],
mandatory = False,
),
"filter_summaries": attr.bool(default = False),
"type_check": attr.bool(default = True),
"inline_resources": attr.bool(default = True),
"no_i18n": attr.bool(default = False),
"compiler": attr.label(
doc = """Sets a different ngc compiler binary to use for this library.
@ -605,16 +592,40 @@ NG_MODULE_ATTRIBUTES = {
executable = True,
cfg = "host",
),
"factories": attr.label_list(
allow_files = [".ts", ".html"],
mandatory = False,
),
"filter_summaries": attr.bool(default = False),
"inline_resources": attr.bool(default = True),
"ng_xi18n": attr.label(
default = Label(DEFAULT_NG_XI18N),
executable = True,
cfg = "host",
),
"no_i18n": attr.bool(default = False),
"type_check": attr.bool(default = True),
# 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,
),
"_supports_workers": attr.bool(default = True),
}
NG_MODULE_RULE_ATTRS = dict(dict(COMMON_ATTRIBUTES, **NG_MODULE_ATTRIBUTES), **{
"tsconfig": attr.label(allow_files = True, single_file = True),
"entry_point": attr.string(),
# Default is %{name}_public_index
# The suffix points to the generated "bundle index" files that users import from
# The default is intended to avoid collisions with the users input files.
# Later packaging rules will point to these generated files as the entry point
# into the package.
# See the flatModuleOutFile documentation in
# https://github.com/angular/angular/blob/master/packages/compiler-cli/src/transformers/api.ts
"flat_module_out_file": attr.string(),
"node_modules": attr.label(
doc = """The npm packages which should be available during the compile.

View File

@ -1,5 +1,3 @@
package(default_visibility = ["//visibility:public"])
load("@build_bazel_rules_nodejs//:defs.bzl", "nodejs_binary")
# BEGIN-DEV-ONLY

View File

@ -16,6 +16,12 @@ specification of this format at https://goo.gl/jB3GVv
load("@build_bazel_rules_nodejs//internal/common:collect_es6_sources.bzl", "collect_es6_sources")
load("@build_bazel_rules_nodejs//internal/common:node_module_info.bzl", "NodeModuleInfo")
load("@build_bazel_rules_nodejs//internal/common:sources_aspect.bzl", "sources_aspect")
load(
"@build_bazel_rules_nodejs//:internal/npm_package/npm_package.bzl",
"NPM_PACKAGE_ATTRS",
"NPM_PACKAGE_OUTPUTS",
"create_package",
)
load(
"@build_bazel_rules_nodejs//:internal/rollup/rollup_bundle.bzl",
"ROLLUP_ATTRS",
@ -32,6 +38,7 @@ load(
load("//packages/bazel/src:external.bzl", "FLAT_DTS_FILE_SUFFIX")
load("//packages/bazel/src:esm5.bzl", "esm5_outputs_aspect", "esm5_root_dir", "flatten_esm5")
load("//packages/bazel/src/ng_package:collect-type-definitions.bzl", "collect_type_definitions")
load("//packages/bazel/src:esm5.bzl", "esm5_outputs_aspect", "esm5_root_dir", "flatten_esm5")
_DEFAULT_NG_PACKAGER = "@npm//@angular/bazel/bin:packager"
@ -336,8 +343,8 @@ def _ng_package_impl(ctx):
packager_inputs.extend([m.metadata_file])
metadata_arg[m.module_name] = {
"index": m.typings_file.path.replace(".d.ts", ".js"),
"typings": m.typings_file.path,
"metadata": m.metadata_file.path,
"typings": m.typings_file.path,
}
packager_args.add(str(metadata_arg))
@ -401,7 +408,6 @@ DEPS_ASPECTS = [esm5_outputs_aspect, sources_aspect]
NG_PACKAGE_ATTRS = dict(NPM_PACKAGE_ATTRS, **dict(ROLLUP_ATTRS, **{
"srcs": attr.label_list(allow_files = True),
"deps": attr.label_list(aspects = DEPS_ASPECTS),
"data": attr.label_list(
doc = "Additional, non-Angular files to be added to the package, e.g. global CSS assets.",
allow_files = True,
@ -412,11 +418,15 @@ NG_PACKAGE_ATTRS = dict(NPM_PACKAGE_ATTRS, **dict(ROLLUP_ATTRS, **{
"entry_point_name": attr.string(
doc = "Name to use when generating bundle files for the primary entry-point.",
),
"globals": attr.string_dict(default = {}),
"include_devmode_srcs": attr.bool(default = False),
"ng_packager": attr.label(
default = Label(_DEFAULT_NG_PACKAGER),
executable = True,
cfg = "host",
),
"readme_md": attr.label(allow_single_file = [".md"]),
"deps": attr.label_list(aspects = DEPS_ASPECTS),
"_rollup": attr.label(
default = Label("@build_bazel_rules_nodejs//internal/rollup"),
executable = True,
@ -479,8 +489,8 @@ def ng_package_outputs(name, entry_point, entry_point_name):
basename = primary_entry_point_name(name, entry_point, entry_point_name)
outputs = {
"fesm5": "fesm5/%s.js" % basename,
"fesm2015": "fesm2015/%s.js" % basename,
"fesm5": "fesm5/%s.js" % basename,
"umd": "%s.umd.js" % basename,
"umd_min": "%s.umd.min.js" % basename,
}

View File

@ -91,7 +91,7 @@ def _run_tsc(ctx, input, output):
args.add(input)
args.add("--outFile", output)
ctx.action(
ctx.actions.run(
executable = ctx.executable._tsc,
inputs = [input],
outputs = [output],
@ -170,16 +170,16 @@ ng_rollup_bundle = rule(
Typically this will be `ts_library` or `ng_module` targets.""",
aspects = DEPS_ASPECTS,
),
"_rollup": attr.label(
executable = True,
cfg = "host",
default = Label("@angular//packages/bazel/src:rollup_with_build_optimizer"),
),
"_brotli": attr.label(
executable = True,
cfg = "host",
default = Label("@org_brotli//:brotli"),
),
"_rollup": attr.label(
executable = True,
cfg = "host",
default = Label("@angular//packages/bazel/src:rollup_with_build_optimizer"),
),
}),
outputs = dict(ROLLUP_OUTPUTS, **{
"build_es5_min_compressed": "%{name}.min.js.br",

View File

@ -62,9 +62,9 @@ def _protractor_web_test_impl(ctx):
substitutions = {
"TMPL_config": expand_path_into_runfiles(ctx, configuration_file.short_path) if configuration_file else "",
"TMPL_on_prepare": expand_path_into_runfiles(ctx, on_prepare_file.short_path) if on_prepare_file else "",
"TMPL_workspace": ctx.workspace_name,
"TMPL_server": ctx.executable.server.short_path if ctx.executable.server else "",
"TMPL_specs": "\n".join([" '%s'," % e for e in specs]),
"TMPL_workspace": ctx.workspace_name,
},
)
@ -121,14 +121,17 @@ _protractor_web_test = rule(
test = True,
executable = True,
attrs = {
"srcs": attr.label_list(
doc = "A list of JavaScript test files",
allow_files = [".js"],
),
"configuration": attr.label(
doc = "Protractor configuration file",
allow_single_file = True,
aspects = [sources_aspect],
),
"srcs": attr.label_list(
doc = "A list of JavaScript test files",
allow_files = [".js"],
"data": attr.label_list(
doc = "Runtime dependencies",
),
"on_prepare": attr.label(
doc = """A file with a node.js script to run once before all tests run.
@ -137,27 +140,22 @@ _protractor_web_test = rule(
allow_single_file = True,
aspects = [sources_aspect],
),
"deps": attr.label_list(
doc = "Other targets which produce JavaScript such as `ts_library`",
"protractor": attr.label(
doc = "Protractor executable target (set by protractor_web_test macro)",
executable = True,
cfg = "target",
allow_files = True,
aspects = [sources_aspect],
),
"data": attr.label_list(
doc = "Runtime dependencies",
),
"server": attr.label(
doc = "Optional server executable target",
executable = True,
cfg = "target",
single_file = False,
allow_files = True,
),
"protractor": attr.label(
doc = "Protractor executable target (set by protractor_web_test macro)",
executable = True,
cfg = "target",
single_file = False,
"deps": attr.label_list(
doc = "Other targets which produce JavaScript such as `ts_library`",
allow_files = True,
aspects = [sources_aspect],
),
"_conf_tmpl": attr.label(
default = Label(_CONF_TMPL),

View File

@ -2,6 +2,8 @@ package(default_visibility = ["//visibility:public"])
load("@npm_bazel_typescript//:defs.bzl", "ts_library")
package(default_visibility = ["//visibility:public"])
ts_library(
name = "utils",
srcs = ["index.ts"],

View File

@ -1,3 +1,5 @@
load("//tools:defaults.bzl", "jasmine_node_test")
package(default_visibility = ["//visibility:public"])
filegroup(
@ -8,8 +10,6 @@ filegroup(
visibility = ["//packages/bazel:__subpackages__"],
)
load("//tools:defaults.bzl", "jasmine_node_test", "ts_library")
jasmine_node_test(
name = "test",
bootstrap = ["angular/tools/testing/init_node_spec.js"],

View File

@ -1,7 +1,7 @@
package(default_visibility = ["//visibility:public"])
load("//tools:defaults.bzl", "ts_library")
package(default_visibility = ["//visibility:public"])
ts_library(
name = "bazel-workspace",
srcs = [

View File

@ -1,7 +1,7 @@
package(default_visibility = ["//visibility:public"])
load("//tools:defaults.bzl", "ts_library")
package(default_visibility = ["//visibility:public"])
ts_library(
name = "ng-new",
srcs = [

View File

@ -1,7 +1,7 @@
package(default_visibility = ["//packages/bazel/test:__subpackages__"])
load("//tools:defaults.bzl", "ng_module", "ng_package", "npm_package")
package(default_visibility = ["//packages/bazel/test:__subpackages__"])
ng_module(
name = "example",
srcs = glob(["*.ts"]),

View File

@ -1,7 +1,7 @@
package(default_visibility = ["//packages/bazel/test:__subpackages__"])
load("//tools:defaults.bzl", "ng_module")
package(default_visibility = ["//packages/bazel/test:__subpackages__"])
ng_module(
name = "secondary",
srcs = glob(["*.ts"]),