| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
| |
According to async-profiler, about 50% of `Tuple.getSlice` method invocation is spent in `ImmutableList.copyOf` which is completely unnecessary for cases when an `ImmutableList` instance is passed.
Closes #5699.
PiperOrigin-RevId: 206787490
|
|
|
|
|
|
| |
Closes #5698.
PiperOrigin-RevId: 206780174
|
|
|
|
|
|
|
| |
are not provided.
RELNOTES: none.
PiperOrigin-RevId: 206768891
|
|
|
|
|
| |
RELNOTES:none
PiperOrigin-RevId: 206767138
|
|
|
|
|
| |
RELNOTES: none.
PiperOrigin-RevId: 206760974
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
output was written all in one line. However, it is really convenient to be able
to grep and count over the file (or generally be able to open it in an editor).
This change is a bit hacky as just using setIndent makes the file completely
expanded with one key-value pair per line, which is also not ideal. With this
change, the format is:
[
{ <entry> },
{ <entry> },
...
{ <entry> }
]
RELNOTES: None
PiperOrigin-RevId: 206758496
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
implementation leads to two identical recursive calls. This isn't harmful as
there is a cache that will make the second call very cheap, but does not seem
right.
As a consequence, a cache is only needed if there are two recursive patterns in
a single glob-path, e.g. /a/b/**/c/**/d/... as either "**" can expand to 0 or
more directories (so /a/b/c/c/d could be reached in two different ways). If
there is only a single recursive pattern, even with "*" placeholders, there is
always a unique expansion (a "*" always represents exactly one path element).
RELNOTES: None.
PiperOrigin-RevId: 206753919
|
|
|
|
|
|
|
|
| |
While at it remove CppCompilationActionBuilder.setAllowUsingHeaderModules,
which isn't used anymore and would make the logic here (even) more complicated.
RELNOTES: None.
PiperOrigin-RevId: 206752281
|
|
|
|
|
|
|
|
|
| |
JavaSourceInfoProvider is returned through JavaInfo instead of ConfiguredTarget
for all Java rules. Only android_library and android_binary return it directly
through ConfiguredTarget, since they don't return a JavaInfo provider.
RELNOTES: None.
PiperOrigin-RevId: 206746172
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 206741115
|
|
|
|
| |
PiperOrigin-RevId: 206729076
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a step towards making CppCompileAction work without input discovery.
This works because:
- filterDiscoveredHeaders() is not necessary if we don't discover any
- shouldPruneModules is always false if `shouldScanIncludes` is false (see CppCompileActionBuilder#shouldPruneModules())
RELNOTES: None.
PiperOrigin-RevId: 206721143
|
|
|
|
|
| |
RELNOTES: none.
PiperOrigin-RevId: 206717454
|
|
|
|
|
|
|
|
|
| |
supposed to be shared.
Note that CppCompileAction#discoversInputs() will still almost always return true because it's still set to true when .d file pruning is enabled.
RELNOTES: None.
PiperOrigin-RevId: 206716704
|
|
|
|
|
|
|
| |
there are rule errors.
RELNOTES: None.
PiperOrigin-RevId: 206652580
|
|
|
|
| |
PiperOrigin-RevId: 206642715
|
|
|
|
|
|
|
|
|
|
|
| |
This change is focused on 2 things:
- avoid creating builders in case they don't end up being used
- create builders using the maximum expected size to avoid intermediate
allocations to accommodate more elements
Closes #5694.
PiperOrigin-RevId: 206636046
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Concerns were raised about this breaking change, so rolling back to be safe.
*** Original change description ***
Throw a rule error when a skylark rule implementation returns multiple providers of the same type.
RELNOTES: A rule error is now thrown if a Skylark rule implementation function returns multiple providers of the same type.
PiperOrigin-RevId: 206629186
|
|
|
|
|
|
| |
full mapping unless requested. This gets rid of any performance issue for the vast majority of builds. Second, if requested, use a custom data structure so that we don't have to create a full HashSet for artifacts whose only owning labels are their own owner labels.
PiperOrigin-RevId: 206610370
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Java uses dynamically generated proxy classes to access annotation properties
and their methods are ~7X slower than plain getters. According to async-profiler
50%+ of `convertArgumentList` method time is spent in dynamic proxy methods, so
optimizing their performance makes sense.
This also makes the model less anemic, since POJOs can actually provide business
methods.
Closes #5666.
PiperOrigin-RevId: 206608812
|
|
|
|
|
|
|
|
|
|
|
| |
implementations in SkyQuery:
(1) Get rid of the 'errorReporter' param used in the two unbounded 'deps' implementations. In practice, this callback is always used right alongside the normal query callback. So we can re-implement it as a single, composite callback.
(2) Revert the recent change to processResultsAndReturnTargets (and restore the old method name). It general, it's a bad idea to return Targets outside that method, because it means we aren't respecting the MultisetSemaphore<PackageIdentifier>. Along with (1), this fixes a real issue where DepsUnboundedVisitor#processPartialResults was using Targets (and thus keeping their Packages live in memory) outside of the package semaphore.
RELNOTES: None
PiperOrigin-RevId: 206606747
|
|
|
|
| |
PiperOrigin-RevId: 206586252
|
|
|
|
|
|
|
| |
through JavaInfo, instead of returning them also through ConfiguredTarget. Since these providers can not be found in ConfiguredTarget anymore they have to be retrieved from JavaInfo instead.
RELNOTES: None.
PiperOrigin-RevId: 206585413
|
|
|
|
|
|
|
| |
that it can be accessed in Skylark. One example where this is used is in Android IDL processing where the manifestProtoOutput is used to split out the Android IDL generated Java classes from the overarching outputJar produced by the android_library rule.
RELNOTES: none
PiperOrigin-RevId: 206580880
|
|
|
|
| |
PiperOrigin-RevId: 206573961
|
|
|
|
| |
PiperOrigin-RevId: 206568465
|
|
|
|
|
|
|
|
|
| |
RELNOTES: When using Bazel's remote execution feature and Bazel has to
fallback to local execution for an action, Bazel used non-sandboxed
local execution until now. From this release on, you can use the new
flag --remote_local_fallback_strategy=<strategy> to tell Bazel which
strategy to use in that case.
PiperOrigin-RevId: 206566380
|
|
|
|
|
|
|
| |
We want to make sure that the profile captures all Skyframe invocations, so
that we can catch cases where we accidentally introduce new ones.
PiperOrigin-RevId: 206543307
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 206393574
|
|
|
|
| |
PiperOrigin-RevId: 206389059
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
honored when creating the host platform.
Fixes #5695.
Change-Id: Iaa99c8189421893440e5e5140450c70de69d7b86
Closes #5696.
Change-Id: Iaa99c8189421893440e5e5140450c70de69d7b86
PiperOrigin-RevId: 206371468
|
|
|
|
|
|
|
| |
providers of the same type.
RELNOTES: A rule error is now thrown if a Skylark rule implementation function returns multiple providers of the same type.
PiperOrigin-RevId: 206371385
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 206368137
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
http://https://github.com/bazelbuild/bazel/commit/71479d3ef1627a30b9ec75ca50e6a90cf7db6377 broke thousands of targets in the nightly, notably:
//abuse/ares/rulesystem/generator/python/rule_set:main (x1754)
//net/encapdecap/common/templates:gen_dr_scopes (x903)
//testing/cloud/vex/public:vex_main_internal (x782)
//wireless/android/play/playlog/server:playlog_server (x401)
*** Original change description ***
C++: Removes calls to setCcLinkparamsStore of CcLinkingInfo.Builder
This is in preparation for deleting CcLinkParamsStore. All remaining calls
to the setCcLinkparamsStore method of the CcLinkingInfo builder have been removed.
RELNOTES:none
PiperOrigin-RevId: 206361808
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Go back to the default constructor - instead of requiring everywhere to know the correct hash function, we'll have the default rely on global state. It will make transition easier, even if it makes the origin of the hash less obvious.
*** Original change description ***
Remove default MD5 in most of Bazel's virtual filesystems.
This forces the ex-default to be explicit in a lot of tests, but I'd rather that than have the risk of implicit md5-use in production code.
To keep this CL smaller, do not remove the default from UnixFS quite yet.
RELNOTES: None.
PiperOrigin-RevId: 206358838
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Rolling forward with fixes.
*** Original change description ***
PiperOrigin-RevId: 206339696
|
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 206328416
|
|
|
|
|
|
|
|
|
|
| |
The "distdir" option is no longer experimental and therefore should not be
marked as such. Also, the "experimental_repository_hash_file" and
"experimental_verify_repository_rules" are not really about loggig; but they
actually are still experimental.
Change-Id: I5c30c7c0871822c077a713819ae47b250a7d8a71
PiperOrigin-RevId: 206326885
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 206310700
|
|
|
|
|
|
|
| |
chrome://tracing is able to load gzipped profiles out of the box.
RELNOTES: None
PiperOrigin-RevId: 206308018
|
|
|
|
|
|
|
|
|
|
| |
At this time, this is only implemented for the StandaloneTestStrategy.
This solves a race condition on Posix-like systems, where we cannot guarantee that the pipes are actually fully flushed to disk when the test process exits, and this can cause the test.xml to be empty, which makes it hard to debug issues. (The test.log files do not show up in normal CI systems, only the test.xml files.)
Progress on #4608.
PiperOrigin-RevId: 206292179
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the experimental UI is asked to limit its overall output, reserve a certain
fraction for output to be generated after the build is complete. In this way,
at least a final status, or a bit of the test summary, is shown.
Also, to help staying within the limit also for small limits, from a certain
threshold onwards, more severely restrict the output we allow for each individual
action.
Change-Id: I912aec0dd17639d9864133a10359f93537b473ad
PiperOrigin-RevId: 206288651
|
|
|
|
|
|
|
| |
This was missed in earlier patch.
RELNOTES: None.
PiperOrigin-RevId: 206276771
|
|
|
|
|
|
|
|
| |
classpath is
non-empty but there are no annotation processors to run.
PiperOrigin-RevId: 206244327
|
|
|
|
|
|
|
| |
Previously, only trivial relative paths (within the same package) were handled correctly. Now paths such as ":foo/bar.bzl" are handled appropriately.
RELNOTES: None.
PiperOrigin-RevId: 206237161
|
|
|
|
|
|
| |
used at the start of execution.
PiperOrigin-RevId: 206230049
|
|
|
|
|
|
|
|
|
| |
This forces the ex-default to be explicit in a lot of tests, but I'd rather that than have the risk of implicit md5-use in production code.
To keep this CL smaller, do not remove the default from UnixFS quite yet.
RELNOTES: None.
PiperOrigin-RevId: 206223521
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
as a list, rather than as a single line (i.e., newline delimited rather than
space delimited).
Before:
SUBCOMMAND: # //src/main/java/com/google/devtools/build/lib:string_util [action 'Building src/main/java/com/google/devtools/build/lib/libstring_util.jar (2 source files) [for host]']
(cd /tmp/devbazel_output_base/execroot/io_bazel && \
exec env - \
LC_CTYPE=en_US.UTF-8 \
external/embedded_jdk/bin/java -XX:+UseParallelOldGC -XX:-CompactStrings '--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED' '--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED' '--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED' '--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED' '--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED' '--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED' '--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED' '--add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED' '--patch-module=java.compiler=external/bazel_tools/third_party/java/jdk/langtools/java_compiler.jar' '--patch-module=jdk.compiler=external/bazel_tools/third_party/java/jdk/langtools/jdk_compiler.jar' '--add-opens=java.base/java.nio=ALL-UNNAMED' -jar external/bazel_tools/tools/jdk/JavaBuilder_deploy.jar @bazel-out/host/bin/src/main/java/com/google/devtools/build/lib/libstring_util.jar-2.params)
After:
SUBCOMMAND: # //src/main/java/com/google/devtools/build/lib:string_util [action 'Building src/main/java/com/google/devtools/build/lib/libstring_util.jar (2 source files) [for host]']
(cd /tmp/devbazel_output_base/execroot/io_bazel && \
exec env - \
LC_CTYPE=en_US.UTF-8 \
external/embedded_jdk/bin/java \
-XX:+UseParallelOldGC \
-XX:-CompactStrings \
'--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED' \
'--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED' \
'--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED' \
'--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED' \
'--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED' \
'--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED' \
'--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED' \
'--add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED' \
'--patch-module=java.compiler=external/bazel_tools/third_party/java/jdk/langtools/java_compiler.jar' \
'--patch-module=jdk.compiler=external/bazel_tools/third_party/java/jdk/langtools/jdk_compiler.jar' \
'--add-opens=java.base/java.nio=ALL-UNNAMED' \
-jar \
external/bazel_tools/tools/jdk/JavaBuilder_deploy.jar \
@bazel-out/host/bin/src/main/java/com/google/devtools/build/lib/libstring_util.jar-2.params)
RELNOTES: --subcommands can now take a "pretty_print" value ("--subcommands=pretty_print") to print the
arguments of subcommands as a list for easier reading.
PiperOrigin-RevId: 206213009
|
|
|
|
| |
PiperOrigin-RevId: 206203357
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 206195789
|