| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
| |
Remove WalkableGraph#isUpToDate and BuildDriver#alreadyEvaluated and delegate the
work to implementation.
RELNOTES: None
PiperOrigin-RevId: 185562370
|
|
|
|
|
|
| |
(Des|S)erializationContext.
PiperOrigin-RevId: 185547740
|
|
|
|
|
|
|
| |
CppConfiguration
RELNOTES: None.
PiperOrigin-RevId: 185527875
|
|
|
|
|
|
|
|
|
|
| |
"blaze run --direct_run" so that the called binary knows about the working directory the client was called from.
Its cwd is its runfiles directory and if not for the fact that we have to convey *two* directories to it, I'd have considered changing that. As it is, however, we can't convey two directories with the cwd of the binary so we have to use environment variables.
RELNOTES[NEW]: "blaze run --direct_run" now exports the BUILD_{WORKSPACE,WORKING}_DIRECTORY variables to tell the binary about the cwd of the client and the workspace root.
PiperOrigin-RevId: 185515884
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add new flag called `--local_tmp_root`, which (if
specified) tells Bazel what temp directory should
locally executed actions use.
Fixes https://github.com/bazelbuild/bazel/issues/4621
Related to https://github.com/bazelbuild/bazel/issues/3215
RELNOTES[NEW]: The new "--local_tmp_root=<path>" flag allows specifying the temp directory for locally executed actions.
Change-Id: Ice69a5e63d0bf4d3b5c9ef4dbdd1ed1c5025f85e
PiperOrigin-RevId: 185509555
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 185455486
|
|
|
|
|
|
| |
Previously, RuleContext was referenced via the objc implementation of CppSemantics. Objects of that class are no longer held by CppCompileAction post-analysis.
PiperOrigin-RevId: 185446320
|
|
|
|
| |
PiperOrigin-RevId: 185441432
|
|
|
|
|
|
|
| |
compile time.
RELNOTES: None.
PiperOrigin-RevId: 185432867
|
|
|
|
| |
PiperOrigin-RevId: 185424287
|
|
|
|
|
|
|
|
| |
to ConfiguredTarget.GetTarget(). Also remove equivalence requirements for
the ConfiguredTarget's target and the stored Target since there will soon no
longer be a Target in ConfiguredTarget.
PiperOrigin-RevId: 185417468
|
|
|
|
|
|
|
|
| |
This enables writing tests for android_instrumentation_test that mock
android_binary using a skylark rule that returns an AndroidInstrumentationInfo.
RELNOTES: None
PiperOrigin-RevId: 185417182
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 185412809
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ExperimentalEventHandler is in charge of composing the pretty progress bar
that Bazel displays. This progress bar is a multi-line message with control
characters printed on the terminal.
The progress bar was composed by issuing many individual writes to an
AnsiTerminal. Because the AnsiTerminal in this case was backed by an error
stream (which are unbuffered), each of these writes resulted in a gRPC to
the Bazel client to write the message to the console. gRPC calls are much
more expensive than calls to a file descriptor, and, in general, even small
writes to a file descriptor should be avoided when preparing long messages.
To fix this, fully buffer the output messages sent to the AnsiTerminal until
explicitly flushed. ExperimentalEventHandler was already doing the right
thing regarding flushes but did not account for the fact that each write
would be (unintentionally) sent directly to the terminal.
The flicker was significant: on a pathological case (building sandboxfs with
Bazel on my MacBook Pro 13" on macOS), this change shaves about 5 seconds of
build time on the previous 45 second-long build. I think this only happened
with "bazel run" and "bazel test" invocations and not "bazel build", but
I haven't really confirmed this.
RELNOTES: None.
PiperOrigin-RevId: 185405892
|
|
|
|
|
|
|
|
| |
We already intern the labels themselves. Benchmarks do not show any further
gain by interning the label names.
RELNOTES: None
PiperOrigin-RevId: 185394812
|
| |
|
|
|
|
|
|
|
|
| |
objc_library that it depends on.
See https://github.com/bazelbuild/bazel/issues/3352
PiperOrigin-RevId: 185371993
|
|
|
|
| |
PiperOrigin-RevId: 185370712
|
|
|
|
| |
PiperOrigin-RevId: 185369902
|
|
|
|
|
|
|
| |
The file can be generated during execution by a different rule.
RELNOTES:none
PiperOrigin-RevId: 185361140
|
|
|
|
|
|
|
|
| |
I don't think it's worth repeating things here. Let's point to the main
documentation.
RELNOTES: None.
PiperOrigin-RevId: 185356504
|
|
|
|
| |
PiperOrigin-RevId: 185354353
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 185353994
|
|
|
|
|
|
|
|
|
|
|
| |
...even where they should be clear from the evaluation order.
Since reporting sometimes happens in different threads, there
might be races on the event bus. Explicit order constraints
allow the BuildEventStreamer to reorder those events correctly
in the case of a lost race.
Change-Id: Ib5211341c2016527e9268e8fdbd1677d4255b23c
PiperOrigin-RevId: 185345738
|
|
|
|
|
|
|
|
|
|
| |
Context implementations are currently empty, just doing the plumbing in this
change. Once this is in we can start passing along the ObjectCodecRegistry, which
will allow runtime codec resolution for classes not known at compile time.
We'll also inevitably add some memoization helpers, allowing us to optimize the
serialization process further.
PiperOrigin-RevId: 185305674
|
|
|
|
|
|
|
|
|
| |
android_local_test generates and R.class file and so this is necessary for projects that don't nest their BUILD files under a java/ or javatests/ root.
Fixes #4618
RELNOTES: None
PiperOrigin-RevId: 185281836
|
|
|
|
| |
PiperOrigin-RevId: 185255326
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaking targets in 2018.02.08 and 2018.02.09 nightly TGPs
There were some merge conflicts in this rollback CL. See unknown commit for the unresolved version. I kept the YOURS sections, and ran fiximports.py to remove unused imports.
See b/73157879
*** Original change description ***
C++: Remove last instatiation of CppModel outside CcLibraryHelper.
This is the second try for this CL. The first one caused Blaze to crash when building Exoblaze as shown in b/72936965. In this CL I fix the condition of when to generate non-PIC compilation actions for WrapCcHelper.
RELNOTES:none
PiperOrigin-RevId: 185203398
|
|
|
|
|
|
| |
codec, but whose parent classes have codecs. This is ok because the polymorphic strategy doesn't need an instance of the grandchild class: the parent class is fine, so long as it has a codec.
PiperOrigin-RevId: 185200943
|
|
|
|
|
|
|
| |
This can be computed on the fly if we need it.
RELNOTES: None
PiperOrigin-RevId: 185180257
|
|
|
|
|
|
| |
BuildConfiguration.
PiperOrigin-RevId: 185155423
|
|
|
|
|
|
| |
TargetCompletedEvent.
PiperOrigin-RevId: 185150827
|
|
|
|
|
|
|
| |
This argument is unused and should be removed.
RELNOTES: None
PiperOrigin-RevId: 185147327
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 185145663
|
|
|
|
| |
PiperOrigin-RevId: 185143078
|
|
|
|
| |
PiperOrigin-RevId: 185140903
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 185138928
|
|
|
|
|
|
|
| |
...and interpret them relative to the workspace directory.
Change-Id: I31a0ce3a179356c798f00c4218ddd22e16b256a3
PiperOrigin-RevId: 185136432
|
|
|
|
|
|
|
|
|
| |
script.
Accomplished by creating an explicit attribute for both of them on test actions.
RELNOTES: None.
PiperOrigin-RevId: 185132460
|
|
|
|
|
|
| |
Progress on #4608.
PiperOrigin-RevId: 185126689
|
|
|
|
|
|
|
|
|
|
| |
...and interpret them relative to the workspace directory.
Improves on #3516. In fact, fixes the original request of
supporting relative paths.
Change-Id: Ibbb6fd43179d589ad477427e47e26c773c7a04de
PiperOrigin-RevId: 185121629
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With --experimental_repository_cache, bazel has means of avoiding
downloading the same archive again. However, this requires bazel
to first download it itself, as we make no guarantee about the
internal structure of that cache; this, in turn, does not play
well in situations where bazel has to cooperate with other tools,
e.g., because the bazel build is just one step in a larger package
building process. Therefore, add an experimental option allowing
to specify directories where the outer process may have placed
needed files and make bazel not download them if a file with correct
name and hash could be found in one of those directories. In this
way, cooperation is possible without patching all entries in the
WORSPACE file.
Change-Id: I43240b8b59bf8472ec0310661015899e46491236
PiperOrigin-RevId: 185115713
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Path and PathFragment have been replaced with String-based implementations. They are pretty similar, but each method is dissimilar enough that I did not feel sharing code was appropriate.
A summary of changes:
PATH
====
* Subsumes LocalPath (deleted, its tests repurposed)
* Use a simple string to back Path
* Path instances are no longer interned; Reference equality will no longer work
* Always normalized (same as before)
* Some operations will now be slower, like instance compares (which were previously just a reference check)
* Multiple identical paths will now consume more memory since they are not interned
PATH FRAGMENT
=============
* Use a simple string to back PathFragment
* No more segment arrays with interned strings
* Always normalized
* Remove isNormalized
* Replace some isNormalizied uses with containsUpLevelReferences() to check if path fragments try to escape their scope
* To check if user input is normalized, supply static methods on PathFragment to validate the string before constructing a PathFragment
* Because PathFragments are always normalized, we have to replace checks for literal "." from PathFragment#getPathString to PathFragment#getSafePathString. The latter returns "." for the empty string.
* The previous implementation supported efficient segment semantics (segment count, iterating over segments). This is now expensive since we do longer have a segment array.
ARTIFACT
========
* Remove Path instance. It is instead dynamically constructed on request. This is necessary to avoid this CL becoming a memory regression.
RELNOTES: None
PiperOrigin-RevId: 185062932
|
|
|
|
|
|
|
| |
ExtendedEventHandler so we can get the target via the package manager during
rule dumps.
PiperOrigin-RevId: 185042522
|
|
|
|
|
|
| |
AutoValue support. This is required to serialize ActionOwner.
PiperOrigin-RevId: 185037291
|
|
|
|
|
|
| |
Closes #4609.
PiperOrigin-RevId: 185032751
|
|
|
|
| |
PiperOrigin-RevId: 185029456
|
|
|
|
| |
PiperOrigin-RevId: 185021810
|
|
|
|
|
|
| |
CppCompileAction.
PiperOrigin-RevId: 185020942
|
|
|
|
| |
PiperOrigin-RevId: 185018321
|