| Commit message (Collapse) | Author | Age |
... | |
|
|
|
| |
PiperOrigin-RevId: 168703757
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 168703540
|
|
|
|
|
|
|
|
| |
If a test command is aborted as no tests are found, still generate a BuildComplete
event in the sequence of build events to properly report the exit status.
Change-Id: Id811a116b309a26e67332947b3a5c66363b1ce9c
PiperOrigin-RevId: 168703240
|
|
|
|
| |
PiperOrigin-RevId: 168699077
|
|
|
|
|
|
| |
flags as a text protobuf.
PiperOrigin-RevId: 168695297
|
|
|
|
|
|
|
|
|
|
|
|
| |
NetUtil.getShortHostName can take seconds on mac and on windows (like, 20!),
since it performs reverse dns lookup. We already cached hostname for the
BazelWorkspaceStatusModule, let's cache it for entire bazel server. Also make
sure that users of the method understand it's cached.
Fixes #3586.
RELNOTES: None.
PiperOrigin-RevId: 168691615
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 168691489
|
|
|
|
|
|
| |
platform-related rules
PiperOrigin-RevId: 168690846
|
|
|
|
|
|
|
|
| |
Stop breaking the value apart to be recombined later. Also stop using OptionValueDescriptions as though we have a final option when expanding flags for invocation policy. These values are explicitly the output from parsing the expansion strings, not yet converted or combined with other values of the same flag.
After this change, only UnparsedOptionValueDescription should be used when strings of flags are parsed, and OptionValueDescription should be used when the final version of a flag is created or used.
PiperOrigin-RevId: 168688063
|
|
|
|
|
|
|
|
|
| |
raise a warning/error depending on --experimental_allow_android_library_deps_without_srcs (defaulted to true for a warning).
Previously, users of generated android_library rules with this specific attribute combination do not see the warning message because the message comes from a Skylark macro. Once this is in, users having such a rule (even in their transitive, generated dependencies) will see the warning message.
RELNOTES: Deprecated: Using the android_library.deps attribute to implicitly export targets to dependent rules. If your code is using this feature, Bazel will raise a warning. To fix, please use android_library.exports to explicitly specify exported targets. Run with --experimental_allow_android_library_deps_without_srcs=false to ensure forward compatibility when this feature is removed in a future release.
PiperOrigin-RevId: 168686765
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 168683400
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 168682943
|
|
|
|
|
|
|
| |
In preparation for linking the parsed and unparsed values of options, consolidate and standardize our representation of the flag values as we received them (what is meant by "unparsed" values in this case). This was being done separately in ParseOptionResult, which, with extra context added, is being folded into UnparsedOptionValueDescription. We now track how an option was provided and where it came from for all option parsing.
RELNOTES: None.
PiperOrigin-RevId: 168682082
|
|
|
|
|
|
| |
RELNOTES: The Build Event Protocol's File.uri field is now properly
encoded according to RFC2396.
PiperOrigin-RevId: 168674865
|
|
|
|
|
|
|
|
|
|
|
|
| |
Prior to this cl CompileCommandLine would (almost) unconditionally emit -c and
-o flags. This cl removes this logic and relies on crosstool to emit these
flags. This is another small step towards platform independent C++ rules.
Memory use is not affected, since the build variables used by this cl are already
exposed, this cl just forces crosstools to use it.
RELNOTES: None.
PiperOrigin-RevId: 168671507
|
|
|
|
|
|
|
|
|
|
|
| |
On Windows, Bazel client will try to find python.exe in $PATH.
If succeed, then we pretend to add a --python_path option in the least
important bazelrc file.
Fixed https://github.com/bazelbuild/bazel/issues/3717
Change-Id: I8d97b0895f024d8d236f3b4b39f91c41d947a5fa
PiperOrigin-RevId: 168659085
|
|
|
|
|
|
| |
inline constructor that did ServerDirectories creation inline: don't pollute production code for tests' convenience.
PiperOrigin-RevId: 168652349
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 168652131
|
|
|
|
|
|
| |
codec. Since PrecomputedValues can contain any value, give them access to an ObjectCodecs instance so we don't have to have a whitelist inside PrecomputedValueCodec.
PiperOrigin-RevId: 168624137
|
|
|
|
| |
PiperOrigin-RevId: 168607439
|
|
|
|
| |
PiperOrigin-RevId: 168583913
|
|
|
|
| |
PiperOrigin-RevId: 168583577
|
|
|
|
| |
PiperOrigin-RevId: 168579567
|
|
|
|
|
|
|
| |
They are just normal javacopts. The only user was Android databinding, so now we just merge databindings javacopts in with the rest of javacopts in AndroidCommon.
RELNOTES: None
PiperOrigin-RevId: 168578013
|
|
|
|
|
|
|
|
| |
categories of toolchains for the purpose of toolchain selection.
Up to now, we've used the native toolchain_type rule for this purpose. That rule depends on a number of configuration fragments that supply build variables - we don't want toolchains to need to depend on those fragments as well. E.g. toolchain_type depends on JvmConfiguration, but we would like toolchains to work with --experimental_disable_jvm.
PiperOrigin-RevId: 168577759
|
|
|
|
|
|
|
|
| |
This will be used by tools to pass Bazel their command lines, and by Bazel to report its command line(s) via the build event stream. See https://bazel.build/designs/2017/07/13/improved-command-line-reporting.html for additional context on why this is useful.
This proto is intentionally vague about certain details of the command line, in order to be accommodating of future changes. However, it needs to be specific enough that it is very clear how a command line would be broken up into the different types of sections.
PiperOrigin-RevId: 168576969
|
|
|
|
|
|
| |
This will be rolled forward with a different API.
PiperOrigin-RevId: 168566666
|
|
|
|
|
|
| |
In the long run it would be good to remove the Path class altogether.
PiperOrigin-RevId: 168560355
|
|
|
|
| |
PiperOrigin-RevId: 168452997
|
|
|
|
|
| |
RELNOTES: none
PiperOrigin-RevId: 168444499
|
|
|
|
|
|
|
|
| |
With dynamic configurations we no longer need a special
class to apply transitions: a simple patch transition
bound to an attribute works just as well.
PiperOrigin-RevId: 168442602
|
|
|
|
|
|
| |
Also pipe keepGoing back into initial configuration creation.
PiperOrigin-RevId: 168412512
|
|
|
|
| |
PiperOrigin-RevId: 168406412
|
|
|
|
|
|
|
| |
These classes are mostly used during the options parsing process itself, and are barely a part of the options parser interface, so they really don't belong in OptionsParser.java. They are also about to change significantly, so taking this opportunity to split them out.
RELNOTES: None.
PiperOrigin-RevId: 168400162
|
|
|
|
|
|
|
|
| |
targets.
This is more in line with what I believe is considered a best practice these days.
PiperOrigin-RevId: 168396725
|
|
|
|
| |
PiperOrigin-RevId: 168389301
|
|
|
|
|
|
|
|
|
|
| |
If testing is requested, but no tests are found, the build is aborted.
Ensure that even in this case the steam of build events is internally
closed (i.e., all announced events are reported, the last event is marked
as such).
Change-Id: I88763ed6ccd7793deedbcb3428df7e8d289efa23
PiperOrigin-RevId: 168364127
|
|
|
|
|
|
| |
Root objects should not expose their absolute paths as they break hermeticity.
PiperOrigin-RevId: 168363549
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce a new method BuildEventTransport#closeNow() which forcefully
closes the BES upload even if there are still events to upload. This
is executed if the bazel server is being shutdown.
The implementation in the BuildEventServiceTransport works by shutting
down the ExecutorService handling the upload, which in turn will
interrupt the upload thread, which in turn will cancel the streaming RPC.
The BuildEventServiceTransport will wait up to 100ms for that
cancellation to happen.
Also fix a bug where the BES transport would not wait for ACKS.
PiperOrigin-RevId: 168359947
|
|
|
|
| |
PiperOrigin-RevId: 168359681
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
runfiles middleman to the artifacts.
Runfiles.Builder.merge(RunfilesSupport) would add the runfiles
middleman of the RunfilesSupport object being merged into the
artifacts of the nascent Runfiles object. This effectively made the
construction of one runfiles tree depend on that of another.
Instead of putting the runfiles middleman into the runfiles artifacts,
we can put it into the FilesToRunProvider, which should have the same
effect. To facilitate this, RuleConfiguredTargetBuilder gains a
addFilesToRun method. Note that not every caller of
merge(RunfilesSupport) has to be modified because some were already
adding the runfiles middleman to their FilesProvider (e.g.,
AndroidHostServiceFixture), which is a subset of FilesToRunProvider.
This is split out from https://bazel-review.googlesource.com/c/14010
Change-Id: Icfca5262a32619e1e351477f3ff641350b6798dc
PiperOrigin-RevId: 168358030
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a generic retrier implementation (Retrier2) that can be
configured by plugging in a backoff strategy, a function to
decide on retriable errors and a circuit breaker. A concrete
implementation is added via RemoteRetrier that mostly is a
copy of the code of the existing Retrier.
Retrier2 adds support for circuit breaking [1]. It allows the
retrier to reject execution when failure rates are high. The
remote execution code will use this to gently switch between
local and remote execution/caching if the latter experiences
lots of failures.
Retrier2 is also useful when not used with gRPC. We need
retriers for the HTTP caching interface too.
All the code added in this CL is unused, to keep reviews
managable. In a follow up CL, I will switch the code to use
the new Retrier and delete the old retrier.
[1] https://martinfowler.com/bliki/CircuitBreaker.html
PiperOrigin-RevId: 168355597
|
|
|
|
|
|
| |
Closes #3697.
PiperOrigin-RevId: 168353082
|
|
|
|
|
|
|
|
|
| |
This cl removes hardcoded --sysroot flag generation from bazel when constructing
command line for C++ actions. The hardcoded flag is still exposed to Skylark (to
stay backwards compatible).
RELNOTES: None.
PiperOrigin-RevId: 168346711
|
|
|
|
| |
PiperOrigin-RevId: 168345699
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 168312474
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 168300744
|
|
|
|
|
|
|
| |
First commit in series, the second will make the necessary changes to the action.
RELNOTES: None
PiperOrigin-RevId: 168286654
|
|
|
|
|
|
|
|
|
|
|
| |
The problem is that the linker will not produce the expected .params file output
if there are no inputs, and there is no need for this step in that case.
This required adding a method to check if there are any bitcode inputs to
the link either directly or indirectly via a library. This is the same walk done
by createLtoArtifacts once we decide to do an LTO indexing step.
RELNOTES: NONE
PiperOrigin-RevId: 168281516
|
|
|
|
|
|
| |
This whole CL was done using IDE refactoring tools and should be safe.
PiperOrigin-RevId: 168275575
|