| Commit message (Collapse) | Author | Age |
|
|
|
| |
PiperOrigin-RevId: 163538636
|
|
|
|
|
|
|
|
|
|
| |
The only way to use those was in the `ctx.action(...executable...)`
parameter, made that accept string.
Fixes #2931.
RELNOTES: None.
PiperOrigin-RevId: 163511248
|
|
|
|
|
|
|
|
|
|
| |
This extends the "easy use" idea of MockRule from just custom
attributes to full-on custom behavior.
For a proof of concept, also port Bazel's late-bound attribute
tests.
PiperOrigin-RevId: 163483121
|
|
|
|
|
|
|
|
|
| |
DeclaredToolchainInfo.
Fixes #3458.
Change-Id: I24dd6d9d24432b9aaf0229de658f07e465ad63cb
PiperOrigin-RevId: 163466882
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Actually hook up the resource filtering configuration transitions to
AndroidConfiguration's topLevelConfigurationHook.
Dynamic configuration is inefficient when multiple configurations are used.
Multiple configurations result in splitting the build graph and duplicating
work.
To avoid using multiple configurations as much as possible, dynamically
configured resource filtering will only be applied for top-level android_binary
targets. When android_binary targets are included as dependencies, it's very
likely that multiple binaries with many shared dependencies but different
configurations would be used. Only applying dynamic filtering to top-level
binaries removes this concern.
It is still possible to build multiple top-level binary targets with different
configurations at once. Previous versions of this code considered not using
dynamic configuration in that case as well, but that raised some unanswered
questions about whether Bazel's invariants should allow modifying one target's
configuration based solely on targets that happen to be building in parallel.
As a result, that optimization is not included for now; we assume that
developers manually building multiple similar binaries at once is relatively
rare (plus, dynamically configured resource filtering in general is not turned
on by default and will not be turned on by default until we're confident the
benefits outweigh the costs).
RELNOTES: none
PiperOrigin-RevId: 163464415
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change:
1. Added launcher to @bazel_tools
If the host platform is Windows, we use a prebuilt launcher.exe
, otherwise the launcher needs to be built with MSVC first.
2. Launching sh_binary using native launcher.
Change-Id: I5a63135455057fbfe04ff0cce7ec7994ef0c347a
PiperOrigin-RevId: 163442540
|
|
|
|
|
|
|
| |
Also fix the remaining violations.
RELNOTES: None.
PiperOrigin-RevId: 163391215
|
|
|
|
|
|
|
|
|
|
| |
1) Update the javadocs.
2) Clarify that allowedRuleClases and allowedRuleClassesWithWarning
must be disjoint sets.
3) Enforce 2).
4) Fix error messaging when only "with warnings" is set.
PiperOrigin-RevId: 163379567
|
|
|
|
|
|
|
| |
Instead use MetadataHandler.getMetadata().isFile(), which is basically what
isRegularFile did before.
PiperOrigin-RevId: 163351014
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 163343931
|
|
|
|
|
|
|
| |
Introduced by b344e2c5a97b0eeacb796db20bb894f21283d358
Change-Id: I942b63cd52520a37e5bf2c7b04f3eed1615ec71e
PiperOrigin-RevId: 163323682
|
|
|
|
|
|
|
|
| |
Also PintoSourcesContextProvider should not be a SkylarkApiProvider: it
is not facade for anything but a provider in its own right.
RELNOTES: None.
PiperOrigin-RevId: 163323130
|
|
|
|
|
|
|
| |
Also, restructure the code for better read- and testability.
Change-Id: Ibdd0413f89e4687b836b768a9e7d6315234cb825
PiperOrigin-RevId: 163322658
|
|
|
|
|
|
|
|
| |
Also added tests specifically for the output, to ensure we don't break it again.
TESTED=remote worker, unit tests
RELNOTES: fixes #3380
PiperOrigin-RevId: 163283558
|
|
|
|
|
|
|
|
|
|
| |
This lets a parent choose a transition for its dep based
on the dep's rule class.
Implement (experimental) dynamic Android resource filtering
trimming with this.
PiperOrigin-RevId: 163259052
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before this change, density-based resource filtering tracked resources by
qualifiers and name. Resources with density qualifiers specified would go into
this code, but only one resource would be chosen from each each (qualifier,
name) pair.
Instead, track the resource using its entire path, this tracking resources with
the same name seperately.
Also, in case multiple resource are passed to the resource processing action,
resource filtering only ignores a file if its name was in the list of resources
to ignore *and* it does not exist. Otherwise, legitimate resources with the
same name as a filtered resource might be ignored.
RELNOTES: none
PiperOrigin-RevId: 163235681
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Broke bundling of objc_frameworks.
PiperOrigin-RevId: 163215950
|
|
|
|
|
|
|
|
| |
This builds on top of mstaib's idea to use package groups to whitelist
projects which can use certain features in the analysis phase. Instead of using configurations and a flag, this way of implementing whitelists requires using two helper methods, one that adds an implicit attribute to every rule that has functionality that must be whitelisted and a different method to check whether a given package is whitelisted to use that feature.
RELNOTES:none
PiperOrigin-RevId: 163200890
|
|
|
|
|
|
|
|
|
| |
toolchain selection.
Fixes #3431.
Change-Id: Ia38415575b6a121cbb6a028bfc0276691cd11b6d
PiperOrigin-RevId: 163196646
|
|
|
|
|
|
| |
Part of the static configuration removal cleanup.
PiperOrigin-RevId: 163130922
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 163126457
|
|
|
|
|
|
|
| |
unwrapped ObjcProvider." after skylark rule fixes.
RELNOTES: None.
PiperOrigin-RevId: 163121697
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Generally speaking, it should be as easy as possible to create custom
rule classes in tests. Aside from the tests that *need* this, this also
helps disentangle traditional tests from the implementation logic
of predefined rules.
This nudges us further forward toward the paradigm of Bazel as "build
execution engine" with all rule implementations (and tests) in
Skylark.
PiperOrigin-RevId: 163114414
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 163114020
|
|
|
|
|
|
|
| |
Also fix minor bug where a[b] += c would evaluate b twice.
RELNOTES: None
PiperOrigin-RevId: 163103618
|
|
|
|
|
|
|
| |
RecursivePackageProvider dealing with the concept of "excluded directories".
RELNOTES: None
PiperOrigin-RevId: 163074794
|
|
|
|
|
|
|
| |
Also, a few small cleanups of some duplicate test methods.
RELNOTES: None
PiperOrigin-RevId: 163066349
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Broke bazel_apple_rules
*** Original change description ***
Make all WithLegacySkylarkName providers declared providers.
RELNOTES: None
PiperOrigin-RevId: 163054821
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 163042362
|
|
|
|
|
|
|
| |
on Apple rules.
RELNOTES: None.
PiperOrigin-RevId: 163035922
|
|
|
|
|
|
| |
to indicate unserializability, improve error message in Path when serialization fails, and add some test-only methods to SkyframeExecutor and PackageFactory.
PiperOrigin-RevId: 162993806
|
|
|
|
|
|
|
| |
Fixes TODO in AndroidRuleClasses.java.
RELNOTES: None
PiperOrigin-RevId: 162955052
|
|
|
|
|
|
|
| |
It's bad to crash with an exception, let's show proper rule error instead.
RELNOTES: None.
PiperOrigin-RevId: 162916138
|
|
|
|
|
|
| |
This removes a bunch of code duplication that I previously introduced.
PiperOrigin-RevId: 162909430
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 162906513
|
|
|
|
|
|
|
|
|
|
| |
We don't yet have a SKIPPED test status. So for now we report
"NO STATUS".
Also moved top-level constraint checking to its own file,
since its logic is getting more complicated.
PiperOrigin-RevId: 162790879
|
|
|
|
|
|
|
|
|
|
| |
an iterable of events without calling into the heavyweight MoreAsserts.
Use that in Skyframe instead of MoreAsserts.
Also delete an unused method in MoreAsserts.
PiperOrigin-RevId: 162754283
|
|
|
|
|
|
|
| |
This is more consistent with other values, and removes the need to inject it
into the constructor of the various strategy implementations.
PiperOrigin-RevId: 162729187
|
|
|
|
|
|
|
| |
Fixes #2874.
Change-Id: I636e0f6b56a1e33adfc64e90f36f76d4254d0281
PiperOrigin-RevId: 162726099
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 162715619
|
|
|
|
|
|
|
| |
This has the added benefit of improving ObjcProvider documentation generated in bazel docs.
RELNOTES: None.
PiperOrigin-RevId: 162658384
|
|
|
|
|
|
| |
The plan is to add it to ActionExecutionContext, which is also there.
PiperOrigin-RevId: 162656835
|
|
|
|
|
|
|
|
|
| |
success.
This can happen per spec, if multiple builds try to upload the same blob concurrently.
Also, added this to the RemoteWorker, per spec.
PiperOrigin-RevId: 162647548
|
|
|
|
|
|
|
| |
Part of #2219.
Change-Id: Id4929d5ddcd57b4635af5e513eb9a09f16a78e71
PiperOrigin-RevId: 162634398
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes the problem that
config_setting(
name = "a_and_b",
values = {
"define": "a=c",
"define": "b=d"
})
doesn't work as expected because BUILD parsing removes duplicate dictionary keys in accordance with Pythonic behavior. Even worse, Skylark will soon enforce this more aggressively by making this an outright error.
This change introduces the define_values attribute:
config_setting(
name = "a_and_b",
values = {
"normal_flag": "normal_value",
},
define_values = {
"a: "c",
"b": "d"
})
This is equivalent to "$ bazel build ... --normal_flag=normal_value --define a=c --define b=d" at the command line.
Also tried to clean up some ConfigSetting naming for clarity around the different kind of flags.
PiperOrigin-RevId: 162627180
|
|
|
|
|
|
|
|
|
|
| |
We don't check explicitly that these are the only two ways, but this can happen if the error transience node is a dep of a node that's being injected, or if an injected node is an "external" file that needs to depend on an external package.
The first possibility can happen if there was an IOException reading the node on the previous build.
We handle the situation by just dirtying the node, not injecting it. Actual evaluation can handle the re-stat.
PiperOrigin-RevId: 162622092
|
|
|
|
|
|
|
|
|
| |
given type.
Fixes https://github.com/katre/bazel/issues/6.
Change-Id: I6c6e303384277b013bdc27eb80743aa51f2fb98a
PiperOrigin-RevId: 162618674
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 162613289
|
|
|
|
|
|
| |
Evidently the blanket disabling for all "data" attributes doesn't apply there.
PiperOrigin-RevId: 162602015
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
--experimental_dynamic_configs=off
--experimental_dynamic_configs=notrim_partial
are now aliases for
--experimental_dynamic_configs=notrim (the default).
Also remove outdated --nodistinct_host_configuration warning.
PiperOrigin-RevId: 162549307
|