| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 194536202
|
|
|
|
|
|
|
|
| |
late bound option defaults
BuildConfiguration.Fragment#lateBoundOptionDefaults() is going away soon, this flag is added to decouple its removal with the release process.
PiperOrigin-RevId: 194527657
|
|
|
|
| |
PiperOrigin-RevId: 194512971
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 194459347
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 194433721
|
|
|
|
|
|
|
|
|
| |
Rule authors frequently wants to make assertions on the parameter files their rule implementations have created. However, if they do not explicitly create parameter file write actions, or if indeed _there aren't_ any parameter file write actions inserted into the action graph, the tests will fail.
This CL adds necessary methods for the migration.
RELNOTES: None
PiperOrigin-RevId: 194379748
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Design doc: https://docs.google.com/document/d/1JXqwwVHYosZOgmjN8xrfTalyhiUYJ99Qe2D0qBcqZ1c
The behaviour is gated on --defer_param_files (default off) and is controlled by --min_param_file_size.
This CL adds support for VirtualActionInputs to LocalSpawnRunner, and all remote runners already supports them. The sandboxed runners are not yet supported, but that can be added in a future CL.
This CL does not add support for spawn runner using different param file limits. This will require refactoring of the spawn strategies and runners to be viable.
RELNOTES: None
PiperOrigin-RevId: 194265291
|
|
|
|
| |
PiperOrigin-RevId: 194236287
|
|
|
|
|
|
|
| |
This is needed for constructors that want to be able to use SkylarkSemantics.
RELNOTES: None
PiperOrigin-RevId: 194180124
|
|
|
|
|
|
| |
TemplateVariableInfo.
PiperOrigin-RevId: 194088329
|
|
|
|
|
|
| |
RELNOTES[NEW]: TemplateVariableInfo can now be constructed from Skylark.
PiperOrigin-RevId: 194072452
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 193962460
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SpawnAction.setShellCommand(String) now expects
the shell interpreter's path as an argument. This
change enables two things:
- rules can report an error if the shell is
missing
- SpawnAction no longer has to know about a
default shell
The new ShToolchain class will later also be
responsible for retrieving the active shell
toolchain (added in https://github.com/bazelbuild/bazel/commit/81ed3add408adb20bddbc3ba1818c65806738dc5).
This change brings Bazel closer to not depend on
the shell unless it has to (e.g. to run shell
scripts).
See https://github.com/bazelbuild/bazel/issues/4319
RELNOTES: none
PiperOrigin-RevId: 193885943
|
|
|
|
|
|
| |
Always use the more-qualified class name for clarity at the site of use. There are too many classes named Builder.
PiperOrigin-RevId: 193649193
|
|
|
|
|
|
|
|
|
|
| |
This RuleTransitionFactory will be applied to all targets after other
transitions, and is intended to be used to manually trim the configuration
based on tagging of that target. This is a stopgap feature until automatic
trimming of configuration can be implemented.
RELNOTES: None.
PiperOrigin-RevId: 193573013
|
|
|
|
| |
PiperOrigin-RevId: 193270108
|
|
|
|
|
|
|
| |
Previously this was a member of SkylarkAttr, which didn't make much sense, as the function was not under the attr namespace. This moves configuration_field to a new spot for global functions, "SkylarkBuildApiGlobals".
RELNOTES: None.
PiperOrigin-RevId: 193253435
|
|
|
|
|
|
|
| |
The only things that remain are Provider subclasses, as they require special treatment. (Namely, they are referencable at the top level as a Provider and not a function.)
RELNOTES: None.
PiperOrigin-RevId: 193249523
|
|
|
|
|
|
|
|
| |
- Move test_timeout to BuildConfiguration.
- Add test_timeout_seconds field to BEP TargetCompleteEvent.
- Deprecate test_timeout field in ExecutionInfo. Data is still written to deprecated field to allow consumer transition.
PiperOrigin-RevId: 193192636
|
|
|
|
|
|
|
| |
We do not wish to support the attribute being Noneable forever.
RELNOTES: None
PiperOrigin-RevId: 193139282
|
|
|
|
| |
PiperOrigin-RevId: 193130164
|
|
|
|
|
|
|
|
|
|
| |
@SkylarkCallable methods as representing constructors of other skylark types.
This change also demonstrates the new pattern on the global Label() constructor.
As an added bonus, it fixes documentation of that constructor. The old documentation used to read "Label.Label(...)" and the new documentation reads "Label(...)".
RELNOTES: None.
PiperOrigin-RevId: 193109338
|
|
|
|
|
|
|
| |
Since we're only supporting a single %s anyway, make this explicit in the docs, fail in the analysis phase, and use a more efficient format method in the implementation.
RELNOTES: None
PiperOrigin-RevId: 193099585
|
|
|
|
|
|
|
|
|
| |
This will allow us to stop iterating all inputs in an expensive manner looking for tools so we can add their runfiles.
If users specify the 'tools' attribute, it is assumed they know what they are doing and inputs will no longer be scanned for tools.
RELNOTES: Introduce 'tools' attribute to ctx.actions.run.
PiperOrigin-RevId: 193092258
|
|
|
|
|
|
|
|
|
| |
global skylark functions to use @SkylarkCallable instead of @SkylarkSignature.
Also migrate skylark's global "rule" function to @SkylarkCallable, thus demonstrating the new feature.
RELNOTES: None.
PiperOrigin-RevId: 193085313
|
|
|
|
|
|
|
|
|
|
|
| |
We now support calls like:
args = ctx.action.args()
args.add("--foo", value)
args.add_all("--foo", values)
RELNOTES: Support two-arg overloads for ctx.actions.args (eg. args.add("--foo", val))
PiperOrigin-RevId: 193074060
|
|
|
|
|
|
|
|
| |
RELNOTES:
`FileType` is deprecated and will be removed soon.
Try the `--incompatible_disallow_filetype` flag to ensure your code
is forward-compatible.
PiperOrigin-RevId: 192758063
|
|
|
|
|
|
| |
of a StringBuilder.
PiperOrigin-RevId: 192681870
|
|
|
|
|
|
| |
RELNOTES: Args objects (ctx.actions.args()) have new methods add_all() and add_joined() for building command lines using depsets.
RELNOTES[INC]: Added flag --incompatible_disallow_old_style_args_add to help migrate from args.add() to args.add_all() / args.add_joined() where appropriate.
PiperOrigin-RevId: 192633763
|
|
|
|
| |
PiperOrigin-RevId: 192621318
|
|
|
|
|
|
|
|
|
| |
BuildConfiguration.Fragment#compatibleWithStrategy().
The experiment did not work out.
RELNOTES: None.
PiperOrigin-RevId: 192567832
|
|
|
|
|
|
|
|
| |
the ones in SkyframeExecutor, called once for each Root in the package path list. This ensures there is a single canonical ArtifactRoot for each source root.
It is still the case that every Package loaded has its own Root (https://source.bazel.build/bazel/+/master:src/main/java/com/google/devtools/build/lib/packages/Package.java;l=287?q=Package.java), which is a waste of memory, but because of the map inside ArtifactFactory introduced in this change, all Artifacts with the same logical source root share a single ArtifactRoot instance.
PiperOrigin-RevId: 192513819
|
|
|
|
|
|
| |
Action execution.
PiperOrigin-RevId: 192488641
|
|
|
|
| |
PiperOrigin-RevId: 192479952
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 192479130
|
|
|
|
|
|
| |
now unused ConfigurationEnvironment#getBlazeDirectories()
PiperOrigin-RevId: 192443323
|
|
|
|
|
|
|
|
|
|
|
| |
This class is currently unused. In order to keep CL sizes down we introduce this class prior to using it in the spawn runners.
This class can manage an action's list of command lines and param files. For instance, SpawnAction will contain one of these instances (instead of keeping a single command line object and adding param file write actions to the action graph).
At spawn execution time, the spawn runners will use this class to resolve the list of command lines and param files into a master argument list + some number of param files that need to be written. The local spawn runners can simply write the param files using a helper. In the distributed cases the param files are ready-made VirtualActionInputs that can be added to the Spawn's other inputs.
RELNOTES: None
PiperOrigin-RevId: 192439501
|
|
|
|
|
|
|
| |
Not a lot of chance that this will accidentally get used for something, but let's keep our house tidy.
RELNOTES: None.
PiperOrigin-RevId: 192426276
|
|
|
|
|
|
|
| |
This is accomplished by moving it to ConfiguredRuleClassProvider. This also suggests a neat way to get rid of logic in ShellConfiguration.Loader() by moving the determination of the shell executable, there, too, but not in this change.
RELNOTES: None.
PiperOrigin-RevId: 192411609
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 192349971
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 192337555
|
|
|
|
|
|
|
|
|
|
|
| |
When using nested sets, we reuse sub-fingerprint computations by using the nested set key cache. map_each is supported.
All formats, before_each, join_with and so on are computed via adding a specific UUID to the fingerprint + the control string (eg. the format string) rather than performing the actual computation.
In legacy mode (existence of old map_fn), it falls back to trivial (and slow) fingerprint calculation.
RELNOTES: None
PiperOrigin-RevId: 192288783
|
|
|
|
|
|
| |
refactorings of Target and BuildConfiguration out of ConfiguredTarget. Also use fully qualified imports as per style guide, since RuleConfiguredTargetFactory.java is in lib:build-base, and so has access to all the things.
PiperOrigin-RevId: 192288463
|
|
|
|
|
|
|
| |
Also rename it to a separate function since boolean args are vague.
RELNOTES: None
PiperOrigin-RevId: 192201308
|
|
|
|
|
|
|
|
|
| |
encoding the same in ConfiguredRuleClassProvider.
This is a step towards dumbing down BuildConfiguration.Fragment and the ConfigurationFactoryLoader, which is in needed so that we can rewrite C++/Java/Python rules in Skylark without having to introduce the concept of "configuration loader" in Skylark, too.
RELNOTES: None.
PiperOrigin-RevId: 192104912
|
|
|
|
| |
PiperOrigin-RevId: 191971225
|
|
|
|
| |
PiperOrigin-RevId: 191930771
|
|
|
|
|
|
|
| |
This involves enforcing additional compiletime restrictions on Param ordering and semantics.
RELNOTES: None.
PiperOrigin-RevId: 191927206
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 191916828
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also include the test target in the test log for easier debugging of tests.
Fixes #4960.
Change-Id: Ic79bf21e8eeba765b607755c1d290ee4e910d01f
Closes #4972.
Sample output:
```
exec ${PAGER:-/usr/bin/less} "$0" || exit 1
Executing tests from //src/test/shell/bazel:bazel_example_test
-----------------------------------------------------------------------------
```
Change-Id: I433cd9251a564b269da5566bb8401151ae4c99b7
PiperOrigin-RevId: 191891278
|