| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Rolling forward, cl fixing underlying issue is uploaded, will land this one as soon as I get lgtm to the fix from emscripten crosstool owners.
*** Original change description ***
Automated [] rollback of commit 2d87bf1937c81ef84358fd5f6a372875f6c6fabf.
*** Reason for rollback ***
We have to roll back unknown commit, on which this one depends. Will resubmit after I fix the underlying issue.
*** Original change description ***
Support versioned shared library targets for cc_binary linkshared=1
This change allows versioned shared libraries (e.g. "libfoo.so.1.2") to be
built and linked.
--
PiperOrigin-RevId: 142263653
MOS_MIGRATED_REVID=142263653
|
|
|
|
|
|
|
|
|
|
| |
This allows Bazel to talk to multiple instances of the server, if these exist, enabling server-side parallelism (due to using separate gRPC channels).
TESTED: internally and local server
--
PiperOrigin-RevId: 142262973
MOS_MIGRATED_REVID=142262973
|
|
|
|
|
|
|
|
|
|
|
| |
A number of the shorter commands were not displayed in a code block, making them trickier to copy and paste into a console.
Closes #2257.
--
Reviewed-on: https://github.com/bazelbuild/bazel/pull/2257
PiperOrigin-RevId: 142262893
MOS_MIGRATED_REVID=142262893
|
|
|
|
|
|
|
|
| |
This might be used to influence resource allocation for actions later.
--
PiperOrigin-RevId: 142262023
MOS_MIGRATED_REVID=142262023
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
symlinked/new build file, which has less changes of causing conflicts. Fixes #2226."
This reverts commit 2f31d60d1454cd324196a5159262c1ba32eabda8.
Re-open #2226.
--
Change-Id: I7f223df4bb239daf8c306955e92f817310e6cd4f
Reviewed-on: https://cr.bazel.build/7950
PiperOrigin-RevId: 142257579
MOS_MIGRATED_REVID=142257579
|
|
|
|
|
|
|
|
|
| |
More renaming and some reformatting to make StandaloneTestStrategy more
closely resemble the internal implementation of TestStrategy.
--
PiperOrigin-RevId: 142254302
MOS_MIGRATED_REVID=142254302
|
|
|
|
|
|
|
|
|
| |
This just changes the order of variable initialization, method names, and
similar. It should not result in any semantic changes.
--
PiperOrigin-RevId: 142251887
MOS_MIGRATED_REVID=142251887
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 142250621
MOS_MIGRATED_REVID=142250621
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cc_binary if we are doing dynamic linking anyway. The additional option is
only for a smooth rollout and will go away once everything works as expected.
The benefit is in an incremental save-build-test-cycle. When editing a test (or
any of it's transitive headers), the linker input currently changes, meaning we
need to do the full link again before the test can run. However, in conjunction
with the option --interface_shared_objects, this actually isn't necessary. With
this new option, the test source gets compiled into a .so file and while that
file changes with each source change, the .ifso file often does not change.
Thus, the costly link linking to gether all the .so and .ifso files can be
retrieved from cache. Thus, this change should remove this linking step from
the critical path of many save-build-test-cycles.
--
PiperOrigin-RevId: 142244352
MOS_MIGRATED_REVID=142244352
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
We have to roll back unknown commit, on which this one depends. Will resubmit after I fix the underlying issue.
*** Original change description ***
Support versioned shared library targets for cc_binary linkshared=1
This change allows versioned shared libraries (e.g. "libfoo.so.1.2") to be
built and linked.
--
PiperOrigin-RevId: 142240145
MOS_MIGRATED_REVID=142240145
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(i) Use a CountDownLatch in ParallelQueryUtils#executeQueryTasksAndWaitInterruptibly to avoid busy-looping while waiting for query subtask completion (this busy-looping unnecessarily ties up a thread). But we still retain the fail-fast semantics we want (I renamed the method to emphasize this).
(ii) Also have a special-case in ParallelQueryUtils#executeQueryTasksAndWaitInterruptibly for evaluating one query subtask so we don't wastefully use another thread.
(iii) Also add ThreadSafety annotations to ParallelQueryUtils.
----
(i) and (ii) combine to address the following theoretical issue. Suppose we're evaluating a query expression of the form "(e1 - e2) + (e3 - e4)". The old code would (with the worst-case FJP thread scheduling) have the following threads at the _same_ time:
Main QueryCommand thread - executeQueryTasksAndWaitInterruptibly(queryTasks = [(e1 - e2), (e3 - e4)]
FJP thread - executeQueryTasksAndWaitInterruptibly(queryTasks = [e2])
FJP thread - eval(e2)
FJP thread - executeQueryTasksAndWaitInterruptibly(queryTasks = [e4])
FJP thread - eval(e4)
So of those 5 concurrent threads, 3 would be doing busy-loop waiting. For more pathological query expressions, we could end up tying up lots of threads doing wasteful busy-loops.
--
PiperOrigin-RevId: 142215680
MOS_MIGRATED_REVID=142215680
|
|
|
|
|
|
|
|
| |
for android resource processing.
--
PiperOrigin-RevId: 142215076
MOS_MIGRATED_REVID=142215076
|
|
|
|
|
|
|
|
| |
classpath, such as if needed to support generated sources.
--
PiperOrigin-RevId: 142214383
MOS_MIGRATED_REVID=142214383
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 142194378
MOS_MIGRATED_REVID=142194378
|
|
|
|
|
|
|
|
|
| |
This change allows versioned shared libraries (e.g. "libfoo.so.1.2") to be
built and linked.
--
PiperOrigin-RevId: 142193230
MOS_MIGRATED_REVID=142193230
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is part of refactoring test strategy to unify its implementation between
Bazel and Blaze (Google's internal version of Bazel), which should fix several
issues in Bazel.
It's also necessary to untangle lib.rules and lib.exec to enforce proper
layering by separating compilation of these packages, and to provide a minimal
Bazel binary. In particular, no core part of Bazel should depend on any of the
rules, to facilitate moving them out of Bazel / reimplementing them in Skylark
(except for some core rules like test_suite, alias, and genquery).
--
PiperOrigin-RevId: 142151901
MOS_MIGRATED_REVID=142151901
|
|
|
|
|
|
|
|
|
|
|
|
| |
Thread all updates through a CodedOutputStream. This has the benefit of
potentially hashing less data, as many int values can be represented more
compactly, and reducing the churn of hashing strings (generally), since
CodedOutputStream is already heavily optimized for this. While the buffer
size is a little generous, it winds up paying off.
--
PiperOrigin-RevId: 142151062
MOS_MIGRATED_REVID=142151062
|
|
|
|
|
|
|
|
| |
Fixes #2247.
--
PiperOrigin-RevId: 142143520
MOS_MIGRATED_REVID=142143520
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- list * int
- int * list
RELNOTES[NEW]: Skylark: you can now multiply a list by an integer to get the concatenation of N copies of this list, e.g. [a,b] * 3 = [a,b,a,b,a,b]
--
Change-Id: I2068ad30e11df26dc7b4b8c41e51f85db56f0390
Reviewed-on: https://github.com/bazelbuild/bazel/pull/1524
PiperOrigin-RevId: 142140726
MOS_MIGRATED_REVID=142140726
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 142129925
MOS_MIGRATED_REVID=142129925
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement a JNI method that can resolve 8dot3
style paths. This is necessary because we need to
be able to compare 8dot3 style paths and long
paths [1], and because implementing this correctly
in Java seems to be impossible [2].
This change also adds tests for the JNI isJunction
implementation.
See https://github.com/bazelbuild/bazel/issues/2101
[1] https://github.com/bazelbuild/bazel/issues/2145
[2] https://github.com/bazelbuild/bazel/issues/2145#issuecomment-266766716
--
PiperOrigin-RevId: 142123750
MOS_MIGRATED_REVID=142123750
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 142074257
MOS_MIGRATED_REVID=142074257
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Rolling forward, intentionally breaking loading phase (and therefore `bazel fetch`) for android_binary in Bazel if no android_sdk_repository is set up.
Will not submit until Tensorflow's use case is cleaned up in https://github.com/tensorflow/tensorflow/pull/6225.
--
PiperOrigin-RevId: 142068703
MOS_MIGRATED_REVID=142068703
|
|
|
|
|
|
|
|
| |
paths, etc, for test binaries (bundle binaries) to compile successfully against a bundle loader artifact.
--
PiperOrigin-RevId: 142063256
MOS_MIGRATED_REVID=142063256
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 142056062
MOS_MIGRATED_REVID=142056062
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 141942246
MOS_MIGRATED_REVID=141942246
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 141920696
MOS_MIGRATED_REVID=141920696
|
|
|
|
|
|
|
|
|
|
| |
Async threads are divorced from the server's error-reporting mechanism. In the event
of a server shutdown originating in an async-thread, write the exit code to a file that
can be read by the client.
--
PiperOrigin-RevId: 141920284
MOS_MIGRATED_REVID=141920284
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 141916305
MOS_MIGRATED_REVID=141916305
|
|
|
|
|
|
|
|
| |
from Skylark.
--
PiperOrigin-RevId: 141912220
MOS_MIGRATED_REVID=141912220
|
|
|
|
|
|
|
|
|
|
| |
build file, which has less changes of causing conflicts. Fixes #2226.
--
Change-Id: I4a378d693004d4d6857c78d7ffe886ada3fb9239
Reviewed-on: https://cr.bazel.build/7850
PiperOrigin-RevId: 141909918
MOS_MIGRATED_REVID=141909918
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 141904124
MOS_MIGRATED_REVID=141904124
|
|
|
|
|
|
|
|
|
|
|
| |
The actual issue is with the code that calls this method by way
of reflection. This is a temporary work around to fix #2232.
RELNOTES: An IE bug was fixed in repository_ctx.download_and_extract
--
PiperOrigin-RevId: 141899395
MOS_MIGRATED_REVID=141899395
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 141896569
MOS_MIGRATED_REVID=141896569
|
|
|
|
|
|
|
|
|
|
| |
Fixes https://github.com/bazelbuild/bazel/issues/564.
RELNOTES: aar_import rule is now documented.
--
PiperOrigin-RevId: 141843994
MOS_MIGRATED_REVID=141843994
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 141817345
MOS_MIGRATED_REVID=141817345
|
|
|
|
|
|
|
|
| |
execution cache.
--
PiperOrigin-RevId: 141807596
MOS_MIGRATED_REVID=141807596
|
|
|
|
|
|
|
|
| |
Helps debugging.
--
PiperOrigin-RevId: 141802189
MOS_MIGRATED_REVID=141802189
|
|
|
|
|
|
|
|
| |
Previously, at least one critical provider was not propagated (CppCompilationContext) which resulted in cc_library's being unable to find the generated headers.
--
PiperOrigin-RevId: 141800408
MOS_MIGRATED_REVID=141800408
|
|
|
|
|
|
|
|
| |
This method coerces any collection to a Skylark tuple, analogous to list() or set().
--
PiperOrigin-RevId: 141779268
MOS_MIGRATED_REVID=141779268
|
|
|
|
|
|
|
|
| |
API. This enables creating a TestEnvironmentProvider from Skylark.
--
PiperOrigin-RevId: 141775285
MOS_MIGRATED_REVID=141775285
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Turns out that ForkJoinTask#adapt(Callable) returns a ForkJoinTask whose Future#get on error throws a ExecutionException wrapping a RuntimeException wrapping the thrown checked exception from the callable. This is documented behavior [1] that I incorrectly didn't know about.
The additional level of wrapping meant that the catch-block of the parallel implementation of BinaryOperatorExpression wasn't rethrowing the InterruptedException/QueryException that the parallel task threw.
The subtly in this bug is that the query expression being evaluated needs to be of the form "e1 + e2", where evaluation of "e1" throws a QueryException even in keepGoing mode (note that most of the query errors actually go through AbstractBlazeQueryEnvironment#reportBuildFileError). The test I wrote picks on LetExpression's evaluation-time (rather than e.g. parsing time) validation of the variable name.
[1] https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ForkJoinTask.html#adapt(java.util.concurrent.Callable)
--
PiperOrigin-RevId: 141772584
MOS_MIGRATED_REVID=141772584
|
|
|
|
|
|
|
|
|
|
|
|
| |
loading external repositories.
Fixes #2198.
--
Change-Id: Ife0232f8e4652a90bc3b7dceec6e67312a142879
Reviewed-on: https://cr.bazel.build/7691
PiperOrigin-RevId: 141771126
MOS_MIGRATED_REVID=141771126
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 141769552
MOS_MIGRATED_REVID=141769552
|
|
|
|
|
|
|
|
| |
the same srcs as they are.
--
PiperOrigin-RevId: 141604925
MOS_MIGRATED_REVID=141604925
|
|
|
|
|
|
|
|
|
|
| |
Instead they mount the individual files. Currently, non-empty tree artifacts result in ERR_DIRECTORY_NOT_EMPTY because we attempt to mount both the directory and the files inside it.
Fixes https://github.com/bazelbuild/bazel/issues/1745.
--
PiperOrigin-RevId: 141599030
MOS_MIGRATED_REVID=141599030
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 141594768
MOS_MIGRATED_REVID=141594768
|
|
|
|
|
|
|
|
|
|
| |
That is, if an Aspect registered an action that an extra-action is shadowing, its name will be used when creating the extra-action's ID and name.
Without this change, it's impossible to analyze extra-actions when there's more than one aspected rule that acts on the same rule (e.g., java_proto_library and java_lite_proto_library on the same proto_library).
--
PiperOrigin-RevId: 141587608
MOS_MIGRATED_REVID=141587608
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 141561079
MOS_MIGRATED_REVID=141561079
|