| 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Create WindowsPipe which implements IPipe, and is
a Windows-native implementation of pipe handling.
It wraps the ::CreatePipe, ::WriteFile, and
::ReadFile API functions.
Start using WindowsPipe on MSYS.
Also move everything from file_test.cc into
file_posix_test.cc, because these test methods
heavily depend on POSIX and they test file_posix's
functionality anyway.
Also add tests for pipes: this will use the
platform-specific implementation of IPipe.
file_test.cc is now platform-independent, and we
can test it with --cpu=x64_windows_msvc (and it
passes!).
See https://github.com/bazelbuild/bazel/issues/2107
Might also fix:
https://github.com/bazelbuild/bazel/issues/2182
https://github.com/bazelbuild/bazel/issues/2248
--
PiperOrigin-RevId: 142240377
MOS_MIGRATED_REVID=142240377
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** 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
|
|
|
|
|
|
|
|
| |
size while halving the number of syscalls required to get an MD5 of a file. This shaves a few hundred milliseconds off of startup time.
--
PiperOrigin-RevId: 142235555
MOS_MIGRATED_REVID=142235555
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use file_windows.cc and file_posix.cc when
compiling for MSYS/GCC (--cpu=x64_windows).
This way we can implement functions in
file_windows.cc one by one, start using them with
MSYS, and put #ifdef __CYGWIN__ ... #endif around
these functions in file_posix.cc, until all
functions are implemented in file_windows.cc.
The change contains a lot of code deletion, but
nothing should change because of that. The deleted
code was not being used at all: neither with MSVC
(it was behind #else // not COMPILER_MSVC) nor
with MSYS (the file was not in the `select` of the
rule's `srcs`).
See https://github.com/bazelbuild/bazel/issues/2107
--
PiperOrigin-RevId: 142128611
MOS_MIGRATED_REVID=142128611
|
|
|
|
|
|
|
|
| |
See https://github.com/bazelbuild/bazel/issues/2107
--
PiperOrigin-RevId: 142128121
MOS_MIGRATED_REVID=142128121
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move GetJvmVersion from blaze_util to
blaze_util_platform, and remove the RunProgram
declaration from blaze_util.h.
Since GetJvmVersion is the only user of RunProgram
this is safe to do, and allows making RunProgram
static as well as simplifying its implementation
on Windows, while also changing it to use
CreateProcessW instead of CreateProcessA.
See https://github.com/bazelbuild/bazel/issues/2181
--
PiperOrigin-RevId: 142122045
MOS_MIGRATED_REVID=142122045
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In this change:
- implement PrintErrorW (copy of PrintError but
uses FormatMessageW)
- use GetModuleFileNameW in GetSelfPath and do not
worry about UNC paths, we'll automatically handle
them in the future when we use widechar
functions everywhere. Until then, if a path
happens to have the "\\?\" prefix and that causes
an error, we won't be worse off than today; today
we just call `pdie`
- use GetTempPathW in GetOutputRoot; in theory
this might also return an UNC path but again that
shouldn't be a problem
- add comments for the arguments of CreateFileA
and CreateProcessA calls, to make the code a bit
more readable
See https://github.com/bazelbuild/bazel/issues/2181
--
PiperOrigin-RevId: 142118854
MOS_MIGRATED_REVID=142118854
|
|
|
|
|
|
| |
--
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
|
|
|
|
|
|
|
|
|
|
|
| |
While at it fix a typo of "receive" and fix some other documentation
comments.
--
Change-Id: Ifb7df972200627730114d6cf751033c0d5e3bc46
Reviewed-on: https://cr.bazel.build/7710
PiperOrigin-RevId: 142015037
MOS_MIGRATED_REVID=142015037
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement conversion methods between char strings
and wchar_t strings. This is necessary to use
widechar Windows functions.
See https://github.com/bazelbuild/bazel/issues/2181
--
PiperOrigin-RevId: 142009930
MOS_MIGRATED_REVID=142009930
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 141942246
MOS_MIGRATED_REVID=141942246
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 141939490
MOS_MIGRATED_REVID=141939490
|
|
|
|
|
|
| |
--
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
|