| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Also change it to java.time.Duration, rather than Jodatime. Now that we're on
Java 8, we no longer need Jodatime.
PiperOrigin-RevId: 162917526
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
links to "deptset" and "list".
PiperOrigin-RevId: 162607082
|
|
|
|
|
|
| |
Evidently the blanket disabling for all "data" attributes doesn't apply there.
PiperOrigin-RevId: 162602015
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a partial rollback.
I restored the old flags (with PathListConverter),
added the new ones, added deprecation warnings and
annotations, and added code to concat the values
of new and old.
Existing released versions of Bazel should keep
working with the new code until 2018-01-31, i.e.
for the next ~6 months. After that I'll remove the
old flags and the PathListConverter.
*** Reason for rollback ***
Fixed broken integration with release Blaze.
*** Original change description ***
Automated rollback of commit 5752463ece84ebb4fb074888cba57412ab8d86b3.
*** Reason for rollback ***
Broke too many targets.
***
RELNOTES: none
PiperOrigin-RevId: 162587548
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
--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
|
|
|
|
|
|
| |
convenience methods that didn't (IMO) carry their weight.
PiperOrigin-RevId: 162528716
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Because OptionsBase implements equals() as a final method, subclasses can
only add fields in certain ways for OptionsBase to properly obey equals()
semantics. Specifically, all fields must be public and @Option annotated.
The OptionsTester checks for these two things.
Additionally, Converters must make sure to always return equals() values
on equals() (or equivalent) input. The OptionsTester includes a check that
all Converters named by the OptionsBase subclass being tested have matching
ConverterTesters, and if valid default values are specified (i.e., on
Options which are not multi-valued or default null), that these defaults
are among the values tested by the ConverterTesters.
The ConverterTesters themselves are wrapped EqualsTesters, testing that
the output of a Converter obeys equals() as expected for the same input
(or equivalent ones), and is consistent across calls to the same Converter
instance or different Converter instances.
Between these two, OptionsBase subclasses can have reasonable certainty
that two instances of themselves which were parsed equally - or underwent
equivalent transformations - will be equal.
This does not actually test any OptionsBase subclasses or Converter
implementations; it merely adds a framework. Future changes will cover
automatically testing all of the OptionsBase subclasses in a
RuleClassProvider, but naturally, this requires writing test data for
each Converter in the Bazel codebase first.
RELNOTES: None.
PiperOrigin-RevId: 162522445
|
|
|
|
|
|
|
|
| |
- Make TargetPatternPhaseKey implement SkyKey
- Move the TargetParsingCompleteEvent posting into the function
- Split the time reporting out into TargetParsingPhaseTimeEvent
PiperOrigin-RevId: 162475743
|
|
|
|
|
|
|
|
|
|
|
|
| |
TestRunner actions are special because their action outputs are
different from their spawn outputs. If there's a spawn output that's
not an action output, SymlinkExecroot can't rely on the parent
directories for that output existing in the real execroot. Thus,
copyOutputs() must ensure the real execroot has the relevant ancestral
directories before copying the output over.
Change-Id: I84fd69cd51628c51de9c8993b6a4407bbff038a0
PiperOrigin-RevId: 162470058
|
|
|
|
|
|
|
| |
A few are left, but they will require actual code changes (as opposed to changes to test cases only)
RELNOTES: None.
PiperOrigin-RevId: 162453092
|
|
|
|
| |
PiperOrigin-RevId: 162411695
|