| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
| |
For now, only for aspects, but eventually expand to Attribute's
mandatory providers as well.
--
PiperOrigin-RevId: 144063369
MOS_MIGRATED_REVID=144063369
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 143991903
MOS_MIGRATED_REVID=143991903
|
|
|
|
|
|
|
|
|
|
|
| |
Since we evaluate the BUILD file despite errors (e.g. parse errors), we
should provide the .bzl dependencies to the BUILD file.
This change removes some confusing/irrelevant error messages.
--
PiperOrigin-RevId: 143696291
MOS_MIGRATED_REVID=143696291
|
|
|
|
|
|
|
|
|
| |
The code assumed that the last element before a cycle was a BUILD file. It can
also be a .bzl file.
--
PiperOrigin-RevId: 143673940
MOS_MIGRATED_REVID=143673940
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 143547986
MOS_MIGRATED_REVID=143547986
|
|
|
|
|
|
|
|
| |
The start time of critical path component wasn't recorded correctly since #getStartWallTimeMillis() didn't work right. However, since profiler tasks store nanotime anyway, it's pointless to try to convert back and forth.
--
PiperOrigin-RevId: 143438289
MOS_MIGRATED_REVID=143438289
|
|
|
|
|
|
|
|
| |
WalkableGraph#getException to be given non-existent keys without crashing. Add WalkableGraph#isCycle to fill the gap in testing for the difference between non-existence and depending on a cycle.
--
PiperOrigin-RevId: 143205289
MOS_MIGRATED_REVID=143205289
|
|
|
|
|
|
|
|
|
| |
This used to be how test_suites depended on other test_suites.
Now they just go in "tests".
--
PiperOrigin-RevId: 142607603
MOS_MIGRATED_REVID=142607603
|
|
|
|
|
|
|
|
|
| |
This is required for a configuration transtion to set cpu. Without a
distinguisher, such a transition will lead to two identical configurations.
--
PiperOrigin-RevId: 142603930
MOS_MIGRATED_REVID=142603930
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If an Aspect registered an action that an extra-action is
shadowing, its name is used when creating the extra-action's ID and
name.
Since recently, an aspect can see other aspects applied to the same
target. This CL record the names of other aspects applied to the target
as well, disambiguating the action owners.
--
PiperOrigin-RevId: 142264153
MOS_MIGRATED_REVID=142264153
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The short story is that env.valuesMissing() returns true without regard
for which Skyframe evaluation missed values. In other words, given:
env.getValues(missingValues); // Not all values ready.
env.getValues(presentValues); // All value ready.
if (env.valuesMissing()) { return null; }
this returns null even if "env.getValues(presentValues)" has all its
results.
This doesn't have correctness consequences, but it does have (major)
performance consequences, particularly in ConfiguredTargetFunction.
The quick reason is that the successful call can still do useful
followup work, but that gets short-circuited if the function nulls
out early. See the code changes for full details.
This eliminates a 30% hit on analysis time with dynamic configurations.
With this change, that goes down to 0.
The takeaway: ConfiguredTargetFunction
is both unintuitively complex and performance-critical. C'est la vie.
--
PiperOrigin-RevId: 142044069
MOS_MIGRATED_REVID=142044069
|
|
|
|
|
|
|
|
|
|
|
|
| |
loading external repositories.
Fixes #2198.
--
Change-Id: Ife0232f8e4652a90bc3b7dceec6e67312a142879
Reviewed-on: https://cr.bazel.build/7691
PiperOrigin-RevId: 141771126
MOS_MIGRATED_REVID=141771126
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 141561079
MOS_MIGRATED_REVID=141561079
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also:
- Make ConfiguredTargetFunction.getDynamicConfigurations more readable.
- Add a bit more testing coverage for configured dep resolution.
This is a roll forward of commit 7505d94c19727e3100ac5e16a960bff2cb324f23. The original changed failed for two
reasons:
1) Windows-only: "ppc" wasn't recognized as a valid cpu:
https://github.com/bazelbuild/bazel/issues/2191
2) Bazel requires android_binary's "manifest" attribute to be "AndroidManifest.xml":
https://www.google.com/url?sa=D&q=http%3A%2F%2Fci.bazel.io%2Fjob%2Fbazel-tests%2FBAZEL_VERSION%3DHEAD%2CPLATFORM_NAME%3Dubuntu_15.10-x86_64%2FlastCompletedBuild%2FtestReport%2F
This version uses "armeabi-v7a" instead of "ppc" and "AndroidManifest.xml"
in the splitDeps test.
--
PiperOrigin-RevId: 141313454
MOS_MIGRATED_REVID=141313454
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Still fails bazel-tests
See http://ci.bazel.io/job/bazel-tests/BAZEL_VERSION=HEAD,PLATFORM_NAME=ubuntu_15.10-x86_64/lastCompletedBuild/testReport/ for instance
*** Original change description ***
Provide deterministic order for split configured deps (roll forward)
Also:
- Make ConfiguredTargetFunction.getDynamicConfigurations more readable.
- Add a bit more testing coverage for configured dep resolution.
This is a roll forward of commit 7505d94c19727e3100ac5e16a960bff2cb324f23. The original changed failed on
Windows because "ppc" wasn't recognized as a valid cpu:
https://github.com/bazelbuild/bazel/issues/2191
This version uses "armeabi-v7a" instead.
--
PiperOrigin-RevId: 141212457
MOS_MIGRATED_REVID=141212457
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also:
- Make ConfiguredTargetFunction.getDynamicConfigurations more readable.
- Add a bit more testing coverage for configured dep resolution.
This is a roll forward of commit 7505d94c19727e3100ac5e16a960bff2cb324f23. The original changed failed on
Windows because "ppc" wasn't recognized as a valid cpu:
https://github.com/bazelbuild/bazel/issues/2191
This version uses "armeabi-v7a" instead.
--
PiperOrigin-RevId: 141185293
MOS_MIGRATED_REVID=141185293
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Newly added test fail on Windows platform
Fixes https://github.com/bazelbuild/bazel/issues/2191
*** Original change description ***
Provide deterministic order for split configured deps.
Also:
- Make ConfiguredTargetFunction.getDynamicConfigurations more readable.
- Add a bit more testing coverage for configured dep resolution.
--
PiperOrigin-RevId: 141167110
MOS_MIGRATED_REVID=141167110
|
|
|
|
|
|
|
|
|
|
| |
Also:
- Make ConfiguredTargetFunction.getDynamicConfigurations more readable.
- Add a bit more testing coverage for configured dep resolution.
--
PiperOrigin-RevId: 141095973
MOS_MIGRATED_REVID=141095973
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Short story: Dependency -> BuildConfiguration maps can have multiple values
because of split transitions.
This is unfortunately one of those instances where the test logic is forked from
production. So this doesn't actually demonstrate bugs in production code. We
already have tests in ConfigurationsForTargetsTest that directly check the
production logic. So this cl's primary value is to unbreak tests that depend on
the forked logic.
--
PiperOrigin-RevId: 141094830
MOS_MIGRATED_REVID=141094830
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a concept of aspect_id: an unique string that identifies a
propagating aspect (aspect class + parameters).
This string is designed to be:
- Unique for each aspect
- human-readable for debugging purposes
- not easily parsable.
Skylark API:
- `ctx.aspect_id` returns an identifier of the current aspect inside
aspect implementation function
- `Target.aspect_ids` return a list of aspect ids for aspects applied to
a given Target (https://www.bazel.io/versions/master/docs/skylark/lib/Target.html)
--
PiperOrigin-RevId: 141057865
MOS_MIGRATED_REVID=141057865
|
|
|
|
|
|
|
|
|
|
|
| |
In particular, correctly report the expansion of a test
suite even if only requested to build (but not test).
--
Change-Id: Ia25305a4f5ed53118cbb1970a8055d156e8e50be
Reviewed-on: https://cr.bazel.build/7535
PiperOrigin-RevId: 141027655
MOS_MIGRATED_REVID=141027655
|
|
|
|
|
|
|
|
| |
Without this, many Bazel tests fail with --experimental_dynamic_configs=notrim_partial.
--
PiperOrigin-RevId: 140873563
MOS_MIGRATED_REVID=140873563
|
|
|
|
|
|
|
|
| |
during execution.
--
PiperOrigin-RevId: 140864295
MOS_MIGRATED_REVID=140864295
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
critical paths.
When the inputs of a module M are reduced to a set S, then that same set S also
needs to be supplied to compile something that uses M. To do this, input
discovery is divided into two stages. For each CppCompileAction, the first
stage discovers the necessary modules (M above). These are then added as inputs
to ensure that they are built. The second stage then finds all the modules (S
above) that are required to use those and also adds them as inputs.
For now, the new behavior is guarded by a new flag
--experimental_prune_more_modules.
This is currently implemented by reading the .d files of used modules add
adding all their module dependencies. There are two noteworthy alternatives:
1. Hack up input discovery to understand modules, e.g. if a modular header is
hit, continue scanning from all it's headers. However, this seems very
brittle and a lot of additional information would have to be passed to the
input discovery.
2. Directly pass the results from input discovery of one CppCompileAction to
another one. However, this seems to tightly couple the execution of
different CppCompileActions and might lead to a mess of different states,
more memory consumption, etc.
With the current implementation, there is a bit of runtime overhead of
reading the .d files (many times). This could potentially be improved by
caching the results. However, even without this caching, the runtime overhead
is limited (<10%) for all builds I have tried (I have tried with builds where
all the compile results are already in the executor's cache.
--
MOS_MIGRATED_REVID=140793217
|
|
|
|
|
|
|
| |
against rules. Aspects can attach to a rule if at least one set of required providers are present on the rule.
--
MOS_MIGRATED_REVID=140605023
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=140371603
|
|
|
|
|
|
|
|
| |
Also clean up the setting of aspect name in ConfiguredAspect and
AspectDefintion - it is now obtained from the AspectClass.
--
MOS_MIGRATED_REVID=140357052
|
|
|
|
|
|
|
| |
internal ConcurrentMap.
--
MOS_MIGRATED_REVID=140253038
|
|
|
|
|
|
|
|
| |
This is in preparation for extracting some common reporting code, and also a
step towards interleaving target pattern eval and config creation.
--
MOS_MIGRATED_REVID=139890205
|
|
|
|
|
|
|
|
|
|
| |
This behavior - that 'output_groups' is a provider available
on targets and aspects - has been accidental, but people already depend
on it. This CL keeps that behavior, while fixing the bug that
two aspects could not both provide output groups.
--
MOS_MIGRATED_REVID=139578378
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=139573590
|
|
|
|
|
|
|
|
|
| |
avoid memory blow-up intra-configured-target analysis, use a semaphore to ensure that CPU-bound work only occurs on #CPU-many threads.
RELNOTES: Use --loading_phase_threads to control the number of threads used during the loading/analysis phase.
--
MOS_MIGRATED_REVID=139477645
|
|
|
|
|
|
|
|
|
| |
SkyQueryEnvironment#beforeEvaluateQuery if possible to save on latency for small queries.
This assumes that if the graph is up to date, then the data in SkyQueryEnvironment is also up to date. It also assumes that a ForkJoinPool remains usable until #shutdownNow is called.
--
MOS_MIGRATED_REVID=139386363
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=139357569
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks targets in the depot:
[]
*** Original change description ***
output_group is not a real Skylark provider for aspects, as well as for rules.
--
MOS_MIGRATED_REVID=139354682
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
test infrastructure.
The small picture story is that SkyframeExecutor.getDynamicConfigOptions
(which gets dynamic BuildOptions for tests) wasn't updated with dynamic
split support when that was added to
ConfiguredTargetFunction.getDynamicTransitionOptions (which does the same
thing for production builds). This change plugs that gap. See
373e3e28274cca5b87f48abe33884edb84016dd3 for the original change.
The bigger picture story is that Bazel's configured target creation
logic is forked: test code goes down a similar but sadly not-quite-the-same
path that results in tons of duplicated logic, spaghetti code mess,
and risk of bugs like this one. We'd like to ultimately undo that fork.
But unfortunately it's an involved effort that won't happen overnight. In
the meantime, this change takes one small step by merging the two methods
that caused this bug.
--
MOS_MIGRATED_REVID=139342710
|
|
|
|
|
|
|
|
|
|
|
| |
--experimental_dynamic_configs=notrim.
This is simply a matter of populating the "global" host
config from the target config instead of applying
the HostTransition patch.
--
MOS_MIGRATED_REVID=139222963
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=139209942
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=139189444
|
|
|
|
|
|
|
| |
by introducing TargetPattern#parEval, which allows TargetPatterns' evaluations to explicitly have parallel implementations (no need to secretly use a FJP).
--
MOS_MIGRATED_REVID=139101922
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=138893829
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=138863855
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=138860974
|
|
|
|
|
|
|
| |
If the --build_tag_filters option is specified, targets built will be filtered according to their tags (at least one included, none excluded)
--
MOS_MIGRATED_REVID=138856195
|
|
|
|
|
|
|
|
|
|
|
| |
BUILD.
Fixes #552.
RELNOTES[NEW]: Packages are defined in BUILD.bazel as well as BUILD files.
--
MOS_MIGRATED_REVID=138828981
|
|
|
|
|
|
|
| |
expensive parallel operations can operate on at once.
--
MOS_MIGRATED_REVID=138779172
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=138556910
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks several tests under //devtools/ide/eclipse/aspects as shown by the nightly []:
[]
*** Original change description ***
Restrict google_glob_information to eclipse_aspect.
'--legacy_expose_globs' flag has no effect now.
--
MOS_MIGRATED_REVID=138517258
|
|
|
|
|
|
|
| |
'--legacy_expose_globs' flag has no effect now.
--
MOS_MIGRATED_REVID=138410651
|
|
|
|
|
|
|
|
| |
These new log statements help in understanding what files trigger the
TimestampGranularityMonitor's wait logic and when the wait is performed.
--
MOS_MIGRATED_REVID=137868235
|