| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
computeTransitivelyUsedModules to return early on missing values instead of
starting to create datastructures.
RELNOTES: None.
PiperOrigin-RevId: 208351193
|
|
|
|
|
|
|
| |
need them later.
RELNOTES: None.
PiperOrigin-RevId: 208345603
|
|
|
|
|
|
|
|
|
|
|
|
| |
when they're actually being put into a committed value. The previous behavior submitted deps' events twice, when the dep was added and when the node finished building.
The intention is to build on this refactoring to cut off events/postables across the analysis-execution boundary, so that actions are not carrying around nested sets of warnings coming from their configured targets. This will be safe because to execute an action, we must already have analyzed its configured target, so the warning would have been emitted there.
As can be seen from the changed test, this is not a pure behavior no-op. We will now emit cached events slightly later, on value committal, rather than on first dep declaration. This should not be an issue: since the events are cached, the user must have already seen them on a prior build, so the delay should not be important.
Inversely, we now report events slightly more quickly during bubbling up, since we report them at each stage, as opposed to just at ParallelEvaluator evaluation completion.
PiperOrigin-RevId: 208316502
|
| |
|
|
|
|
|
|
|
| |
These show up as directories. Filter these out and return null from the path converter, which should cause omission of those files from any build events.
RELNOTES: None
PiperOrigin-RevId: 208244910
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Rollforward with deduplication of traversals and regression test.
RELNOTES: None
*** Original change description ***
Automated rollback of commit 39974a43abdd32e3a1acbc7da945b08da9983e4e.
*** Reason for rollback ***
b/112458627
*** Original change description ***
Allow skyframe-aware actions to pass partial results through ActionExecutionContext.
Remove FilesetProvider.
PiperOrigin-RevId: 208231719
|
|
|
|
|
|
| |
wildcarding on the presence of an includes attribute.
PiperOrigin-RevId: 208225306
|
|
|
|
|
|
|
|
|
| |
...in a single event instead of relying on the synchronisation on the
reporter. In this way, it will be possible to focus on output of errors,
and also to deduplicate warnings.
Change-Id: I9669e8497ca6e22a01f3e285ec9ee42c1ecf3fb5
PiperOrigin-RevId: 208223882
|
|
|
|
|
|
| |
TargetParsingCompleteEvent.
PiperOrigin-RevId: 208217102
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
b/112458627
*** Original change description ***
Allow skyframe-aware actions to pass partial results through ActionExecutionContext.
Remove FilesetProvider.
PiperOrigin-RevId: 208213955
|
|
|
|
|
|
|
|
|
| |
After this changes blaze will not use in-memory //tools/defaults package.
Instead of that blaze will read //tools/defaults/BUILD file from file system.
Which is empty for bazel.
RELNOTES:none
PiperOrigin-RevId: 208206605
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 208195833
|
|
|
|
|
|
|
|
|
|
|
| |
We want a way for Bazel to find a logging handler's current log file without
direct dependencies on the exact handler class. We do this with an abstract
parent class whose concrete child class (to be used as a singleton) will be
given in startup_options, i.e. in the same place as the server logging
configuration.
RELNOTES: None.
PiperOrigin-RevId: 208171084
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 208166562
|
|
|
|
|
|
| |
iteration, but that should be cheap, while requesting packages sequentially can hurt...
PiperOrigin-RevId: 208126130
|
|
|
|
|
|
|
|
| |
ActionExecutionContext.
Remove FilesetProvider.
PiperOrigin-RevId: 208111251
|
|
|
|
| |
PiperOrigin-RevId: 208096548
|
|
|
|
|
|
|
|
| |
While at it remove CppCompilationActionBuilder.setAllowUsingHeaderModules,
which isn't used anymore and would make the logic here (even) more complicated.
RELNOTES: None.
PiperOrigin-RevId: 208077525
|
|
|
|
|
|
|
|
|
| |
During reads and writes a read lock is taken. If we need to resize the table, a write lock is taken to flush all the readers and writers before the table is resized.
The read lock should be significantly cheaper than full synchronisation since multiple threads can grab a read lock at once.
RELNOTES: None
PiperOrigin-RevId: 208059810
|
|
|
|
|
|
| |
in other package to also treat those package as loose.
PiperOrigin-RevId: 208051086
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add suport for a file .bazelignore, allowing to specify directories
that should be ignored. So far, even for the "ignored" directories,
the directory structure, including following symlinks, still has
to be well founded. We plan to lift that restriction in the future,
but already with the restriction, it is an improvement over the
status quo.
RELNOTES: bazel now supports a .bazelignore file specifying
directories to be ignored; however, these directories still
have to be well founded and, in particular, may not contain
symlink cycles.
Improves on #4888.
Change-Id: Icfe0b7f5c35eceea16e28944ca7711431b71271a
PiperOrigin-RevId: 208050372
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Remove MergableAndroidData interface, and clean up various converters to
explicitly use ParsedAndroid{Resources|Assets}
- Remove calls to getters that always return an empty list (based on the above
cleanup)
- Stop passing around empty transitiveAssets in ResourceDependencies and
AndroidResourcesInfo
- Remove no-op getter method for decoupling settings in AndroidConfiguration
Also, consolidate all AndroidDataConverter instances that were used in multiple
places into the AndroidDataConverter class, rather than declaring them in
multiple places. Add a bit of documentation as to which objects they represent
in the action code, which should make mapping between one and the other easier.
RELNOTES: none
PiperOrigin-RevId: 208042452
|
|
|
|
|
|
|
|
| |
determine which pattern expanded to which targets.
Plan is to modify either TargetParsingCompleteEvent or LoadingPhaseCompleteEvent (which are both posted to the event handler) so that targets can be traced back to original command line patterns.
PiperOrigin-RevId: 208031588
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 208010973
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We found that with JDK9 and up Bazel would sometimes crash
with a StackOverflowError in one of the Command-Accumulator-Thread-*
threads. We experimentally found that this error was due to these
threads being constrained to a 32KiB stack size. The default stack
size for JVM threads on most 64-bit systems is 1MiB (So that's 3%
of the default). The purpose of the Command-Accumulator-Threads
is to read stdout/stderr from processes that Bazel launches locally.
The proposed fix is to just use the system default stack size for
these threads. The alternative is to increase the size limit to
some arbitrary number that happens to work, but this is likely
premature optimization and I'd like to avoid that if possible. We
further found that this code even predates Blaze/Bazel and is
from 2005.
PiperOrigin-RevId: 208009940
|
|
|
|
| |
PiperOrigin-RevId: 208009857
|
|
|
|
|
|
| |
the common case of no exceptions. We were already mostly tracking missing dependencies in the subclasses, so there's no need to check for missing dependencies here.
PiperOrigin-RevId: 207934220
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Causes crashes in fake_cc_binary in combination with --experimental_nodotd_scanning_with_modules.
*** Original change description ***
Stop generating .d files when they won't be looked at later.
While at it remove CppCompilationActionBuilder.setAllowUsingHeaderModules,
which isn't used anymore and would make the logic here (even) more complicated.
RELNOTES: None.
PiperOrigin-RevId: 207932548
|
|
|
|
|
|
|
|
|
|
|
|
| |
This class just contains methods used elsewhere; move them to appropriate
places (generally AndroidManifest or StampedAndroidManifest).
Also, somewhat reduce code duplication by having more stuff use the existing
AndroidManifest.from() method, which automatically handles unspecified
manifests and packages.
RELNOTES: none
PiperOrigin-RevId: 207913410
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) Break up dense lines with clearer pretty-printing.
2) When a violation happens because of a select(), mention
both the target with the select (as before) *and*
the dep that the select() chose.
3) Integrate this messaging into --target_environment violations,
which currently provide no info about the root cause.
Examples:
-------------------------------------
select() + compatible_with violation:
-------------------------------------
Before:
ERROR: /workspace/testapp/BUILD:41:1: in cc_binary rule //testapp:top: the current command-line flags disqualify all supported environments because of incompatible select() paths:
environment: //constraints:p removed by: //testapp:midlib (/workspace/testapp/BUILD:28:1)
After:
ERROR: /workspace/testapp/BUILD:41:1: in cc_binary rule //testapp:top: the current command line flags disqualify all supported environments because of incompatible select() paths:
environment: //constraints:p
removed by: //testapp:midlib (/workspace/testapp/BUILD:28:1)
which has a select() that chooses dep: //testapp:glib
which lacks: //constraints:p.
-------------------------------------
select() + --target_environment=//constraints:p violation:
-------------------------------------
Before:
ERROR: This is a restricted-environment build.
- //testapp:top does not support required environment //constraints:p
After:
ERROR: This is a restricted-environment build.
//testapp:top does not support:
environment: //constraints:p
removed by: //testapp:midlib (/workspace/testapp/BUILD:28:1)
which has a select() that chooses dep: //testapp:g
which lacks: //constraints:p
Fixes: #5795
PiperOrigin-RevId: 207910308
|
|
|
|
|
|
|
|
| |
This was also just shared between ParsedAndroidResources and the now defunct
ResourceContainer
RELNOTES: none
PiperOrigin-RevId: 207907140
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 207905848
|
|
|
|
|
|
|
|
|
|
|
| |
expressions.
This is probably only a theoretical problem, since a blocking struct field is probably a very bad idea.
Closes #5132.
Change-Id: Ie84a78ab4d9ce215f2806ac49bf8911de6959930
PiperOrigin-RevId: 207902766
|
|
|
|
|
|
|
|
| |
Now that ValidatedAndroidResources is the only implementation, we can just use
that instead.
RELNOTES: none
PiperOrigin-RevId: 207900844
|
|
|
|
| |
PiperOrigin-RevId: 207891979
|
|
|
|
|
|
|
|
|
| |
ValidatedAndroidResources is now the only implementation of
ValidatedAndroidData, so we can also clean up some code. (The actual interface
will be cleaned up in the next few changes.)
RELNOTES: none
PiperOrigin-RevId: 207891778
|
|
|
|
|
|
|
| |
the DTC construction of the universe argument to 'rdeps'.
RELNOTES: None
PiperOrigin-RevId: 207884395
|
|
|
|
|
|
|
| |
use Semaphore#availablePermits. I have no idea why I didn't do this initially.
RELNOTES: None
PiperOrigin-RevId: 207883650
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove all state from the ApplicationManifest class. Actual methods in this
class will be migrated to somewhere more appropriate in upcoming changes.
We now usually use the manifest passed around in the ResourceApk object
instead. (The exception is mobile-install, which still wants to use the raw
manifest.) Note that this manifest is the processed manifest output by resource
processing - using it will somewhat decrease parallelisim, but is also more
correct. (We'll get the parallelisim gains back once we now longer use the
legacy manifest merger and don't need to process the manifest in resource
processing.)
RELNOTES: none
PiperOrigin-RevId: 207881830
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a Bazel server is idle for 10 seconds, it unconditionally triggers a full-scale Java GC via System.gc(). This behavior doesn't have clear benefits and causes Bazel to steal resources from whatever the user does after invoking Bazel. This CL adds a startup option, --idle_server_tasks, to toggle the idle GC behavior.
Also, add some logging for when idle GC is enabled, so it's easier to evaluate its effects. Example of logging:
```
180718 17:43:04.609:I 247 [com.google.devtools.build.lib.server.IdleServerTasks.lambda$idle$0] [Idle GC] used: 157MB -> 15MB, committed: 421MB -> 422MB
```
Fixes https://github.com/bazelbuild/bazel/issues/5589.
Closes #5628.
PiperOrigin-RevId: 207869996
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This cl exposes getters for flags passed by --copt, --cxxopt, --conlyopt, and
--linkopt Bazel options.
Fixes #5602.
While at it, I deprecated existing methods that are either migrated to the C++
toolchain, or to cc_common.
RELNOTES: None.
PiperOrigin-RevId: 207854692
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 207850273
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 207845945
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 207801155
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 207778688
|
|
|
|
|
|
|
|
| |
Also, migrate Robolectric action that used it to use AndroidDataConverter
instead.
RELNOTES: none
PiperOrigin-RevId: 207761747
|
|
|
|
|
|
|
|
| |
This code should all be unused now. Some code it calls into will be removed in
the next changes.
RELNOTES: none
PiperOrigin-RevId: 207753966
|
|
|
|
|
|
| |
RELNOTES:
Replace 0/1 with False/True for testonly attribute
PiperOrigin-RevId: 207747213
|
|
|
|
|
|
|
|
|
|
|
| |
and genquery non-determinism.
This approach relies on there never being two attributes with the same name.
I added the inOrder() to the test without my change commented and observed flaky failures. I then uncommented my change and saw consistent passes.
RELNOTES: Sort attribute lists in proto-form query output to fix non-deterministic genquery output.
PiperOrigin-RevId: 207743773
|
|
|
|
|
|
|
|
|
|
| |
This flag is turned on everywhere. Remove it.
There's a lot of dead code hidden behing this flag; will remove it in a series
of upcoming changes.
RELNOTES: none
PiperOrigin-RevId: 207732126
|