This project is mirrored from https://github.com/bazelbuild/bazel.git.
Pull mirroring updated .
- Jul 28, 2023
-
-
Bazel Release System authored
Baseline: 7845acae Cherry picks: + d9e2f918: Avoid overcounting in ActionLookupValueProgressReceiver. + da23370d: Fix crash for top level aspects on targets with non-idempotent rule transitions. + 4714cd70: Reuse the built set of tools in `SpawnAction.Builder`. + 0a1d5053: Correctly handle symlinks when prefetching. Initial release.
-
Googler authored
In https://github.com/bazelbuild/bazel/commit/5c4cf47a131c84506aad9ce0e014c6643c31a4ac, we replaced `path = path.getRelative(path.readSymbolicLink())` with `path = path.resolveSymbolicLink`. While the former one is wrong for relative symlinks, it actually works for absolute symlinks. The latter one, however, doesn't work if the target doesn't exist on local file system -- and this is the case for most of builds using our internal version of BwoB. This CL fixes that issue by correctly handle both absolute and relative symlinks. Additionally, it correctly handles the case where a symlink points to a tree output. Moved symlink integration tests to the base test class. PiperOrigin-RevId: 549921885 Change-Id: If4009525499f4d0625e7725faf4bb0675984c299
-
Googler authored
Fixes a memory regression introduced by https://github.com/bazelbuild/bazel/commit/db347988dfd1b4b8cd5685de63d937f2ffa76b25. PiperOrigin-RevId: 548689761 Change-Id: Ie0881f0c6c6ef3c351b7888057735c58cd2b6ddb
-
Googler authored
PiperOrigin-RevId: 547876237 Change-Id: I236e26e8403cc9d02c86695284abe4103297a876
-
Googler authored
Skips counting ConfiguredTargets or Actions for nodes that perform delegation. Shifts proxy ConfiguredTarget node filtering from AnalysisTestCase to BuildViewForTesting so the consistency check in BuildViewForTesting.getSkyframeEvaluatedActionLookupKeyCountForTesting against SkyFrameBuildView.getEvaluatedCounts passes. The check here is more involved because it needs to handle nodes that are not done. Not-done nodes occur when a subsequent incremental evaluation dirties, but doesn't request a node. PiperOrigin-RevId: 547192963 Change-Id: Ica01f20440ab0ba258e73c3f9cec5c7f92c99fa9
-
- Jul 08, 2023
-
-
Googler authored
This is "Label" in both ConfiguredTargetFactory and DependencyResolver. PiperOrigin-RevId: 546372326 Change-Id: I74a7e774f3e9b07b45e20a1f5cc8920d80ada3bc
-
Googler authored
Delegating configured target nodes do not create configured targets directly and make these tests more brittle than necessary. PiperOrigin-RevId: 546371644 Change-Id: I898d69fcbabec21b13553c13cbc49e523ecf5504
-
Googler authored
PiperOrigin-RevId: 546348221 Change-Id: I4237cd6439ab227ee74bd8b7e3aa29f4abc5ec7f
-
Googler authored
In support of https://github.com/bazelbuild/bazel/pull/18854. PiperOrigin-RevId: 546346128 Change-Id: Ie3f6976b74cba351573a7f35b0d09391da10fb55
-
Googler authored
Adds support for supplying a MemProf profile, which can be supplied to LLVM to automatically hint allocations based on profiled memory behavior. The patch adds Blaze flag --memprof_profile=<label>, along with a memprof_profile rule that allows specifying a profile either by absolute path or label. The profile can either be an LLVM memprof profile with a .profdata extension, or a zipfile containing one. The profile is symlinked and optionally unzipped, and set in the memprof_profile_path build variable, which can be used to pass the profile to the compiler via a feature. PiperOrigin-RevId: 546311130 Change-Id: I896898bf3bddcf42214cde3f3f27d2ed18de6b26
-
- Jul 07, 2023
-
-
Googler authored
PiperOrigin-RevId: 546280755 Change-Id: Ie2c79d34e1f94a003c4caf6d32f79be9a54101cc
-
Googler authored
Introduce a `LazyImmutableStarlarkList`, used for lazily flattening depsets when they are requested from `ctx.files`. An abstract `ImmutableStarlarkList` class is extracted to share among the three immutable implementations. `ctx.files.x` returns a list of transitive files provided by prerequisites in attribute `x`. The list is eagerly constructed when creating the `ctx` object prior to invoking the rule or aspect implementation function. This can be slow when the `FileProvider` (`DefaultInfo.files`) contains many transitive members. Lazily flattening is especially effective in the deeply nested case because users are likely to opt for the depset-based API of `ctx.attr.x.files` anyway, leaving the flattened lists unused. Additionally, this saves a small bit of memory by not allocating `NestedSet` memos. It remains up for debate whether `ctx.files.x` should be deprecated in favor of accessing depsets through `ctx.attr.x.files`, but this change has pretty significant performance benefit with no need for migrations, so I think it's worth making. PiperOrigin-RevId: 546277754 Change-Id: Ie58277f198665c53b0dc63f7830989402e899905
-
Googler authored
It has been enabled for quite a while and there is no reason to disable it. PiperOrigin-RevId: 546235453 Change-Id: I897056960da937b7f43e1a3b6265fcd537076182
-
Googler authored
As an aside, the java toolchain label has been freely visible in Starlark some time now, so this method has little to no utility. Will clean up usages and delete in the future. PiperOrigin-RevId: 546228890 Change-Id: I659ecfa6244c53e9dffe035f155f64893f9e763a
-
Fabian Meumertzheim authored
`grpc` 1.48.1.bcr.1 no longer depends on a yanked version of `rules_go`, which means that the temporary direct dependency on `rules_go` introduced by 6c393ec5 is no longer needed. Closes #18857. PiperOrigin-RevId: 546228207 Change-Id: Ie7045feb6d155045f127bf7014e4512072f0cae2
-
Googler authored
Revert "Implement `java_common.to_java_binary_info` in Starlark and delete corresponding native code" PiperOrigin-RevId: 546222038 Change-Id: I50032e2f509a6c630c9a29d33834e3bb137b4e29
-
Googler authored
When `--experimental_cancel_concurrent_tests` is set, Bazel will cancel concurrently running tests on the first successful run by interrupting threads these tests running on. Normally, if the test runner hasn't started running the test, or is waiting for the test to finish, the interruption can cancel that blocking operation and clear the interrupted status of the thread. However, current code doesn't handle the case when the tests to be cancelled are already finished which leads to two problems: 1. The interrupted status is propagated to skyframe causing the entire invocation to be cancelled. 2. The assumption that "no test log is generated if the test was cancelled" is no longer true. This CL fixes that by: 1. Inside `AttemptGroup#cancelOthers`, we only cancel others if this group hasn't been cancelled to prevent the winning thread got cancelled by other threads that are already finished when receiveing the interruption. 2. Check thread's interrupted status after the test attempt is finished. 3. Remove the assertion that "no test log is generated if the test was cancelled". PiperOrigin-RevId: 546214028 Change-Id: I3fc8d4e446ccabdb4c7b1794a3aeb8052912a044
-
Googler authored
We should check for a non-`None` `java_.info.compilation_info` since the field is always present. PiperOrigin-RevId: 546203630 Change-Id: I6a60e3860e10933b10a4ad22be3f0c89605d4050
-
salma-samy authored
Fixes: https://github.com/bazelbuild/bazel/issues/18641 PiperOrigin-RevId: 546092727 Change-Id: I66365813a40390ec61a1a0565b06655b3ca50fcd
-
salma-samy authored
PiperOrigin-RevId: 546085523 Change-Id: If287e6e143f8858d185f83a1630275520db65e44
-
Googler authored
Also avoids creating a potentially large list of artifacts by computing the set of directories in the same stream that filters for shared libraries[^1] PiperOrigin-RevId: 546081142 Change-Id: I613df2d0e5b47deae12e0f771b6b96e8d950d539
-
Googler authored
Teach DexMapper to not separate synthetic classes from their context classes when sharding dexes, like DexFileSplitter in https://github.com/bazelbuild/bazel/commit/9092303c358b87c1e027abafe135c44a27531b36. Fixes #16368 RELNOTES: None PiperOrigin-RevId: 546041575 Change-Id: I12fa8cff15b13534ca9a5682b7e9b43e6c860ef8
-
George Gensure authored
Unwrapping all StatusRuntimeExceptions in in ReferenceCountedChannel when caused by IOException will discard critical tracing and retriability. The Retrier evaluations may not see an SRE in the causal chain, and presume it is invariably an unretriable exception. In general, IOExceptions as SRE wrappers are unsuitable containers and are routinely misued either for identification (grpc aware status), or capture (handleInitError). Partially addresses #18764 (retries will occur with SSL handshake timeout, but the actual connection will not be retried) Closes #18836. PiperOrigin-RevId: 546037698 Change-Id: I7f6efcb857c557aa97ad3df085fc032c8538eb9a
-
Emil Kattainen authored
Closes #18843. Change-Id: Ifa07522df85cbbb39193e60e87de525efc51f492 PiperOrigin-RevId: 546031541
-
Googler authored
Just a refactoring change that is a no-op. Split off from the change that implements `merge` in Starlark for easier review. PiperOrigin-RevId: 546020116 Change-Id: I3dad53ceac43a7d241e2a772cfcf97d59cf73a08
-
- Jul 06, 2023
-
-
Googler authored
This is rather unfortunate but avoiding a `load` cycle has become impossible. Implementing `java_common.merge()` in Starlark will need access to the `_new_javainfo` raw constructor which can only be returned by the `provider()` call for `JavaInfo`. `JavaPluginInfo` needs _some_ function for merging `JavaInfo`s which will require said raw constructor. So if `JavaInfo` depends on `JavaPluginInfo`, we get the `JavaPluginInfo`->`JavaInfo`->`JavaPluginInfo` cycle. If you tilt your head to the left and squint in just the right way, you can see this change captures the class relationship in Java-land where `JavaInfoApi extends JavaPluginInfoApi`. PiperOrigin-RevId: 545993901 Change-Id: I1ad9c0f94564acb991205757afdd39c9e617f4dd
-
Googler authored
Since we can't differentiate between the absence of `JavaCompilationArgsProvider` and empty `{runtime,compilation}_classpath` depsets, we should add an empty compilation info instance to avoid attempts to dereference a `None`. PiperOrigin-RevId: 545993802 Change-Id: I236bdcad3eb63936e428fca1c0c5ac8b2d667afc
-
joeleba authored
This was a missing behavior in Skymeld, which caused some integration tests to fail when we tried turning on Skymeld by default for Bazel. Example failure: https://storage.googleapis.com/bazel-untrusted-buildkite-artifacts/01890719-efb9-428c-80bb-5449e92383e8/src/test/shell/bazel/bazel_proto_library_test/test_attempts/attempt_1.log This PR fixes this bug by adding this missing behavior. Verified that the test passed afterwards. Closes #18850. PiperOrigin-RevId: 545973135 Change-Id: Ifa7f7e1d270c187ad40eb8b92807b37b7de3e2a3
-
Googler authored
PiperOrigin-RevId: 545971650 Change-Id: I7ca3d0c06f4c3c0586afb62ab59523bf1ecd365c
-
Googler authored
PiperOrigin-RevId: 545947586 Change-Id: I88cb1abe4cddd4a69421fef2364ad53486068593
-
Googler authored
PiperOrigin-RevId: 545935218 Change-Id: Ia35b0b4f9a7c4e156f7676f5795e1e77cb0184c6
-
Googler authored
PiperOrigin-RevId: 545928570 Change-Id: I1f61416b5356d7e931f14765e717e8be84db23ef
-
salma-samy authored
PiperOrigin-RevId: 545927412 Change-Id: I34e8531b8e396ccdfe0eecbee22cb68f76f969fc
-
Googler authored
PiperOrigin-RevId: 545919876 Change-Id: Ibba18b156beef00c9fff4cfd022f4b8d4c47fd65
-
Googler authored
PiperOrigin-RevId: 545906582 Change-Id: I8f46f1eda4b2b1f6c84c071286f2f5e2bad3ffff
-
Googler authored
PiperOrigin-RevId: 545879151 Change-Id: I796da306871a592e654ba046f0de0815ac4421c3
-
Googler authored
PiperOrigin-RevId: 545845712 Change-Id: I4c5f6bfb0dab201dce82cc795a8c2f146af19b39
-
Googler authored
PiperOrigin-RevId: 545818305 Change-Id: Icbebf74b73121c99cc63c7dff1d1594b03285801
-
Googler authored
*** Reason for rollback *** This is a roll forward CL which addressed the issue reported in b/289354550#comment9. I added another `LabelInterner#enabled()` method to check whether `globalPool` was set or not. If not, then `SkyframeExecutor` should not remove any labels from weak interner when PAKCAGE node is done. A unit test is also added to verify the condition when `LabelInterner#enable()` returns false. *** Original change description *** Automated rollback of commit 0bda661e. *** Reason for rollback *** b/289354550 *** Original change description *** Clean up Label Interner flag and relevant unused code PiperOrigin-RevId: 545793223 Change-Id: I4254c6ed910e31c2702a26ddec9c334470f7e1bf
-
Googler authored
An earlier change[^1] already dropped the deprecated `output_jar` parameter so we make the `output_source_jar` parameter mandatory. PiperOrigin-RevId: 545785281 Change-Id: I96f928940b9fa3b6752f0300a3768f0e15e587b2
-