| Commit message (Collapse) | Author | Age |
|
|
|
| |
PiperOrigin-RevId: 200801973
|
|
|
|
| |
PiperOrigin-RevId: 200763653
|
|
|
|
|
| |
RELNOTES: Support for LIPO has been fully removed.
PiperOrigin-RevId: 200724578
|
|
|
|
|
|
|
|
|
| |
Ultimately, we'll need to make the call on whether these functions belong as part of the build API or as part of skylark builtins. For now, we keep them as skylark builtins.
(In either case, we'll want to migrate to @SkylarkCallable, but that's for a later change)
RELNOTES: None.
PiperOrigin-RevId: 200723605
|
|
|
|
|
|
| |
This is in preparation for interleaving config creation with loading+analysis.
PiperOrigin-RevId: 200695071
|
|
|
|
|
|
|
|
| |
This should be a no-op, mostly replacing PathConverter with
BuildEventArtifactUploader, since none of the implementations perform any
upload yet.
PiperOrigin-RevId: 200685325
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Note that this is not sufficient to see caching between builds on its own;
currently when any flag changes, the analysis cache is reset. A follow-up
will turn off this behavior when only test flags change while
trim_test_configuration is on.
config_settings which examine test options are treated the same as test rules;
that is, they can only be successfully analyzed at the top level or when
connected to the top level by an unbroken chain of test rules.
RELNOTES: None.
PiperOrigin-RevId: 200614584
|
|
|
|
|
|
|
| |
Move the testing class to the tests tree. This is in preparation for
dismantling BuildView and merging the relevant parts into AnalysisPhaseRunner.
PiperOrigin-RevId: 200532794
|
|
|
|
|
|
|
|
|
| |
constraints.
Closes #5341.
Change-Id: Ib74e59fec48102469a5039e045e3f3d0e0d86d8c
PiperOrigin-RevId: 200526448
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the output from composeTransitions is one of the input PatchTransitions, return it.
If it's a composed transition, make sure to wrap it in a class which respects equality.
Without this change, running the same RuleTransitionFactory on the same attribute and
target twice will produce two non-equal Dependencies which can't be deduplicated by
OrderedSetMultimap - no lambda is equal to any other instance of the same lambda.
RELNOTES: None.
PiperOrigin-RevId: 200472777
|
|
|
|
|
|
| |
package lookups to get Targets.
PiperOrigin-RevId: 200452642
|
|
|
|
| |
PiperOrigin-RevId: 200410988
|
|
|
|
| |
PiperOrigin-RevId: 200410790
|
|
|
|
|
|
|
| |
This is in preparation for dismantling BuildView and merging the relevant
parts into AnalysisPhaseRunner.
PiperOrigin-RevId: 200391088
|
|
|
|
| |
PiperOrigin-RevId: 200363345
|
|
|
|
|
|
|
|
|
| |
If this exception is thrown, performance no longer matters - we're detonating
the place and riding the explosion out to stderr. So we might as well just
dump everything we know.
RELNOTES: None.
PiperOrigin-RevId: 200290439
|
|
|
|
|
|
|
|
| |
invalidate the BUILD_INFO_KEY node on --workspace_status_command and related flag changes. Instead, the action has a supplier that allows it to retrieve the correct values at execution time.
This does not sacrifice correctness because the action executes unconditionally on every build, so it will never have stale data.
PiperOrigin-RevId: 200265375
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
repository name is remapped.
For example if main/WORKSPACE contains:
local_repository(
name = "a",
path = "../a",
repo_mapping = {"@x" : "@y"},
)
a/BUILD
load("@x//:sample.bzl", "sample")
Then the load in a/BUILD will be resolved as "@y//:sample.bzl"
RELNOTES: None
PiperOrigin-RevId: 200227431
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 200100871
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 200096226
|
|
|
|
|
|
|
| |
Also remove the old ConfiguredRuleClassProvider.addSkylarkModule() method, as it, after this change, has no callers.
RELNOTES: None.
PiperOrigin-RevId: 200078816
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 199880252
|
|
|
|
|
|
|
|
|
| |
ActionFS now allows output files to be created that do not correspond to known Artifacts.
Note that tests exercise a greater gamut of filesystem functionality (deleting files, deleting directory trees, moving files, etc.)
RELNOTES: None
PiperOrigin-RevId: 199809069
|
|
|
|
|
| |
RELNOTES:none
PiperOrigin-RevId: 199619691
|
|
|
|
|
| |
RELNOTES:none
PiperOrigin-RevId: 199604462
|
|
|
|
|
|
|
|
|
| |
Change-Id: Icdabf559303bfac459e1a88ff44ca95298574361
Closes #5333.
Change-Id: Icdabf559303bfac459e1a88ff44ca95298574361
PiperOrigin-RevId: 199527673
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
http://b/109733929 This CL breaks Blaze_CorpTest which must pass for Blaze's nightly candidate to form
*** Original change description ***
Add LabelLateBoundDefault to :coverage_support attribute
RELNOTES:none
PiperOrigin-RevId: 199352111
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
RuleClass.Builder now allows authors to specify whether a rule's targets
can add additional constraints on the execution platform, and to declare
additional constraints for all targets of that rule.
Targets which support this now have an attribute,
"exec_compatible_with", which supports specifying additional constraints
that the execution platform used must match.
This attribute is non-configurable. It will only affect execution
platforms used during toolchain resolution.
Part of #5217.
Change-Id: Id2400dbf869a00aa2be3e3d2f085c2850cd6dc00
Closes #5227.
Change-Id: If7d55f08f7f44bc7d7f6dfec86a3e6bcd68574b9
PiperOrigin-RevId: 199326255
|
|
|
|
|
|
|
|
| |
class is allowed to be serialized in the current context. A codec can now add an explicitly allowed class that can be serialized underneath it (via SerializationContext#addExplicitlyAllowedClass), and that class's codec can check that it is explicitly allowed (via SerializationContext#checkClassExplicitlyAllowed). It is a runtime crash if a codec checks that it was explicitly allowed and finds that it wasn't. Thus, if PackageCodec is invoked without it having been explicitly allowed, we will crash, preventing Package from sneaking into a value it shouldn't be in.
This is only enabled if the codec is memoizing.
PiperOrigin-RevId: 199317936
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
http://b/109733929
*** Original change description ***
Add LabelLateBoundDefault to :coverage_report_generator attribute
RELNOTES:none
PiperOrigin-RevId: 199308190
|
|
|
|
|
| |
RELNOTES:none
PiperOrigin-RevId: 199280443
|
|
|
|
|
| |
RELNOTES:none
PiperOrigin-RevId: 199256705
|
|
|
|
|
|
| |
toolchains attribute.
PiperOrigin-RevId: 199133235
|
|
|
|
|
|
|
|
|
|
| |
Supporting tools in inputs introduces a slow linear scan. Such tools should be moved to the 'tools' attribute. If --incompatible_no_support_tools_in_action_inputs is set the inputs are scanned, but a helpful error message is issued to the user.
Eventually we will remove the slow scanning. Errors will surface in the execution phase instead of during analysis, and the resulting error messages will be less obvious.
RELNOTES: None
RELNOTES[INC]: With --incompatible_no_support_tools_in_action_inputs enabled, Skylark action inputs are no longer scanned for tools. Move any such inputs to the newly introduced 'tools' attribute.
PiperOrigin-RevId: 198996093
|
|
|
|
|
|
|
|
| |
If multiple trimming transition factories are added, they are composed in
the order they were added.
RELNOTES: None.
PiperOrigin-RevId: 198934666
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 198906931
|
|
|
|
| |
PiperOrigin-RevId: 198877280
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 198728350
|
|
|
|
|
|
| |
and remove unused repositoryName field from BuildConfiguration.
PiperOrigin-RevId: 198723339
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
classes are not equal.
Also validate that there are no tree and file artifacts with the same exec path.
Fixes #4668.
Closes #5284.
Change-Id: Id97c0407a476a5bfc697b4ca7b858e3d0c0f8c75
PiperOrigin-RevId: 198540425
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
According to a post-submit regression test, this
commit increased Bazel's memory usage slightly
beyond some threshold. That event prompted me to
consider and question the necessity of this
commit.
My goal is to make Bazel work on Windows without
requiring MSYS, failing the build only if an
action is a shell action. Toolchainifying the
shell is related to, but not required by this
effort. What is required is to fail the build when
Bazel tries to create a shell action but the shell
is missing, and we have that already with
ShToolchain.getPath (which only considers the
ShellConfiguration fragment).
What's missing for my goal is to reimplement
hardcoded shell actions
(i.e. SpawnAction.builder().setShellCommand(...))
without using the shell where possible.
*** Original change description ***
shell toolchain: genrule now uses it
genrule() now uses the shell toolchain (as well as
the ShellConfiguration config fragment) to look up
the shell interpreter's path.
Also the CommandHelper no longer looks up the
shell interpreter's path itself. Instead its ctor
takes the path as an argument. This allows
supporting rules that already use the shell
toolchain and rules that still only consider the
configuration fragment.
With these changes genrule() is now able to use
the shell interpreter registered as a toolchain,
even if there's no `--shell_executable` flag
specified (or its value is empty).
Subsequent commits will migrate more and more
rules to depend on the shell toolchain.
This commit takes us closer to:
1. be able to detect the local shell interpreter's
location, especially when it's not the default
/bin/bash
2. be able to define different shell toolchains
(different interpreter paths) for remote builds
3. gracefully fail the build if the machine has no
shell installed but the action graph included a
shell action
See https://github.com/bazelbuild/bazel/issues/4319
Change-Id: I0674c7e2d5917643d87b48b19a1cb43e606ad2f7
Closes #5282.
***
RELNOTES: none
PiperOrigin-RevId: 198527351
|
|
|
|
|
|
| |
Part of https://docs.google.com/document/d/1_UJKmAQ9EE8i3Pl0il3YLTYr-Q9EKYYyLatt2zohfyM/edit#
PiperOrigin-RevId: 198420365
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
genrule() now uses the shell toolchain (as well as
the ShellConfiguration config fragment) to look up
the shell interpreter's path.
Also the CommandHelper no longer looks up the
shell interpreter's path itself. Instead its ctor
takes the path as an argument. This allows
supporting rules that already use the shell
toolchain and rules that still only consider the
configuration fragment.
With these changes genrule() is now able to use
the shell interpreter registered as a toolchain,
even if there's no `--shell_executable` flag
specified (or its value is empty).
Subsequent commits will migrate more and more
rules to depend on the shell toolchain.
This commit takes us closer to:
1. be able to detect the local shell interpreter's
location, especially when it's not the default
/bin/bash
2. be able to define different shell toolchains
(different interpreter paths) for remote builds
3. gracefully fail the build if the machine has no
shell installed but the action graph included a
shell action
See https://github.com/bazelbuild/bazel/issues/4319
Change-Id: I0674c7e2d5917643d87b48b19a1cb43e606ad2f7
Closes #5282.
Change-Id: I0674c7e2d5917643d87b48b19a1cb43e606ad2f7
PiperOrigin-RevId: 198394021
|
|
|
|
|
|
| |
We now track Causes instead of plain Labels, which will allow us to do better reporting in the future. Add basic tests.
PiperOrigin-RevId: 198380468
|
|
|
|
|
|
|
| |
on a proto_library.
RELNOTES: None
PiperOrigin-RevId: 198304295
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 198302692
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The CommandHelper no longer looks up the shell
interpreter's path itself. Instead its ctor takes
the path as an argument.
This change will allow incrementally migrating
rules that use CommandHelper to start depending on
the shell toolchain.
Shell-using rules today only use the
ShellConfiguration config fragment to look up the
shell's path. In the future, more and more rules
will also retrieve the active shell toolchain, and
be able to:
1. use the auto-detected local shell interpreter's
location, especially when it's not the default
/bin/bash
2. use define different shell toolchains
(different interpreter paths) for remote builds
3. gracefully fail the build if the machine has no
shell installed but the action graph included a
shell action
See https://github.com/bazelbuild/bazel/issues/4319
Change-Id: I4da4e77e7d1fe57e8e4f5eb8820d03a840915e20
Closes #5283.
Change-Id: I4da4e77e7d1fe57e8e4f5eb8820d03a840915e20
PiperOrigin-RevId: 198298315
|
|
|
|
|
|
| |
WANT_LGTM=all
RELNOTES:none
PiperOrigin-RevId: 198269370
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 198126134
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 198095817
|