| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
This is no longer meaningful with the turndown of
(C++) LIPO.
PiperOrigin-RevId: 198092974
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 198086078
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a precursor to removing the DATA transition outright.
While we could also have changed the Mode.DATA instances to
Mode.TARGET (which would declare that we expect the attribute not
to apply any transition), that would break existing definitions and
make depot cleanup more delicate. Plus, these checks weren't being
consistently applied across attributes anyway so they don't really
offer much. A lot of this logic is really just leftover legacy
from the pre-dynamic configuration days.
PiperOrigin-RevId: 198085059
|
|
|
|
| |
PiperOrigin-RevId: 198053509
|
|
|
|
|
|
|
| |
Also refactor away SkylarkModule.Resolver.
RELNOTES: None
PiperOrigin-RevId: 197955164
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 197949354
|
|
|
|
|
|
|
| |
with generic parameters
RELNOTES: None.
PiperOrigin-RevId: 197932265
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 197915097
|
|
|
|
|
|
| |
Part of https://docs.google.com/document/d/1_UJKmAQ9EE8i3Pl0il3YLTYr-Q9EKYYyLatt2zohfyM/edit#
PiperOrigin-RevId: 197890685
|
|
|
|
|
|
|
|
|
|
|
| |
The Android data Skylark API includes references to FileProvider. To move that
API to the skylarkbuildapi, we must first move this provider.
For more information about this migration, see
https://docs.google.com/document/d/1UDEpjP_qWQRYsPRvx7TOsdB8J4o5khfhzGcWplW7zzI/
RELNOTES: none
PiperOrigin-RevId: 197882296
|
|
|
|
|
|
|
|
| |
Split the AnalysisFailureEvent into a legacy and a new variant; always post an
AnalysisFailureEvent, even if the legacy variant is not posted - this gives us
some coverage for loading failures.
PiperOrigin-RevId: 197862257
|
|
|
|
|
|
| |
construction. Also restrict visibility of some test-only OptionsDiff methods, and remove a server-specific part of the ConfiguredTargetKey #toString representation.
PiperOrigin-RevId: 197830577
|
|
|
|
|
|
| |
Part of https://docs.google.com/document/d/1_UJKmAQ9EE8i3Pl0il3YLTYr-Q9EKYYyLatt2zohfyM/edit#
PiperOrigin-RevId: 197800831
|
|
|
|
|
|
| |
This results in less special logic in the implementation and a simpler API.
PiperOrigin-RevId: 197772283
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I've pulled out the API for separate review. It includes all
hooks from blaze/skylark used by the debugger.
Debuggable thread contexts are currently declared in 3 places:
- BuildFileAST (top-level evaluation of BUILD files)
- SkylarkRuleConfiguredTargetUtil (rules)
- SkylarkAspectFactory (aspects)
The purpose of declaring these contexts is so that the debugger
can track currently-active threads (and stop tracking them when
the task is completed).
Details of the actual debugging server are in unknown commit.
PiperOrigin-RevId: 197770547
|
|
|
|
|
|
|
| |
This unclashes with the incoming ConfigurationTransition.apply
method described in https://docs.google.com/document/d/1_UJKmAQ9EE8i3Pl0il3YLTYr-Q9EKYYyLatt2zohfyM/edit#heading=h.96gongkwg852.
PiperOrigin-RevId: 197769784
|
|
|
|
|
|
|
| |
build API to a global environment.
RELNOTES: None.
PiperOrigin-RevId: 197742427
|
|
|
|
|
|
|
|
|
|
| |
This is in preparation for removing the AbstractAction constructors that do
not accept an action environment (with the exception of the first one, which
is intended for use by actions which don't need an environment at all, e.g.,
file write actions).
SKIP_CI=Flaky windows test (see #5242)
PiperOrigin-RevId: 197701713
|
|
|
|
|
|
| |
Having it in there makes serializing events harder.
PiperOrigin-RevId: 197648233
|
|
|
|
|
|
|
|
| |
message in build_event_stream.proto.
This gets in the way of serializing TargetCompleteEvent.
PiperOrigin-RevId: 197630444
|
|
|
|
|
|
|
| |
This dramatically improves documentation generation for JavaInfo and it makes it far more maintainable and extensible going forward.
RELNOTES: None.
PiperOrigin-RevId: 197619040
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 197578417
|
|
|
|
|
|
|
|
| |
Instead, internally look up the correct context by mnemonic. This simplifies
all the callers. We still need a little bit of special casing when constructing
the action context map.
PiperOrigin-RevId: 197572357
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Manifest processing methods are particularly messy for this migration, since
the old ApplicationManifest class is still around. Anyway, pass around
AndroidDataContext instead of RuleContext everywhere we can.
Note that the built-in expander does not seem able to be modified to support
decoupling attributes and other information, and thus really can't be done once
we get rid of RuleContext. Instead, for Skylark rules, document that expansion
must happen outside of the Android data Skylark method calls (for example, for
manifest_values and nocompress_extensions).
RELNOTES: none
PiperOrigin-RevId: 197567541
|
|
|
|
|
|
|
|
| |
In particular, fix its use of client make variables.
Fixes #4750.
PiperOrigin-RevId: 197545415
|
|
|
|
|
|
|
| |
The important_outputs field is deprecated, and this adds a flag to disable
its generation entirely.
PiperOrigin-RevId: 197186530
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new error consumer is simple to create from @SkylarkCallable methods, so we
won't need to pass SkylarkRuleContext into those methods for that reason
anymore.
Create a new abstract class, rather than expand the existing
AbstractRuleErrorConsumer class, since the latter is already being extended and
used in a variety of tests, and I prefer not to have to migrate all of them as
needed. Add Javadoc to make clear that this class should not be used similarly.
RELNOTES: none
PiperOrigin-RevId: 197148849
|
|
|
|
|
|
|
| |
TestConfiguration.
RELNOTES:none
PiperOrigin-RevId: 197135911
|
|
|
|
|
| |
RELNOTES: An internal action for symlinking runfiles will use Command instead of a Spawns. This should have no functional chages; the only user visible consequence should be that the internal action is no longer be included in statistics when calculating processes count.
PiperOrigin-RevId: 197131917
|
|
|
|
|
| |
RELNOTES:none
PiperOrigin-RevId: 197117392
|