| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
| |
* Skylark serialization was previously dropping location in error, which this fixes.
* Deletes a lot of codecs with fidelity issues (DynamicCodec has full fidelity).
* Deletes EnumRuntimeCodec which can now be replaced with the superior EnumCodec.
* This should eventually allow us to delete Serializable from all Blaze. The remaining blocker is NoSuchPackageExceptionCodec.
PiperOrigin-RevId: 191603929
|
|
|
|
|
|
|
| |
Fixes #4922.
RELNOTES: None
PiperOrigin-RevId: 191602647
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 191595705
|
|
|
|
| |
PiperOrigin-RevId: 191583639
|
|
|
|
|
| |
RELNOTES:none
PiperOrigin-RevId: 191576814
|
|
|
|
|
| |
RELNOTES:none
PiperOrigin-RevId: 191574019
|
|
|
|
|
|
|
| |
This is so that callers of Blaze can tell languages implemented in Skylark (e.g. TypeScript) to do compilation only, just like they can with e.g. C++.
RELNOTES: None.
PiperOrigin-RevId: 191570604
|
|
|
|
|
|
|
|
|
|
| |
CodedOutputStream. It creates immense amounts of garbage and we don't ever use the result: it's only used for Object[] children anyway.
We can consider removing the child CodedOutputStream entirely and relying on normal serialization memoization, but for now, let's just do the simple thing.
Also fix a weird code-only bug that had been there since NestedSetCodec was written (I think): NestedSet.EMPTY_CHILDREN is an Object[], and therefore we never took the fast path of just writing 0 and moving on. While the code as written was misleading, the bits written to the output stream were the same, until this change, when there was a divergence.
PiperOrigin-RevId: 191520712
|
|
|
|
|
|
|
|
| |
sessions. This is incorrect in the presence of memoization: a single element may be serialized as just a pair of integers (type + memoization index). Lots of different nested sets may contain elements that are serialized this way, so they will have the same digests. We could consider doing a parallel hash computation, but for now just disable.
This is not a full rollback of https://github.com/bazelbuild/bazel/commit/39cef6d6a4a9e3ae80b11a9ccc0f35325852777c since there was a refactoring in it that it doesn't seem worth it to roll back.
PiperOrigin-RevId: 191509089
|
|
|
|
|
|
|
| |
I originally blacklisted BazelPackageLoader on some tests because they became flaky with it.
RELNOTES: None
PiperOrigin-RevId: 191504852
|
|
|
|
|
|
|
| |
Will migrate die() instances in a later change, to keep this one clean.
RELNOTES: None.
PiperOrigin-RevId: 191491701
|
|
|
|
| |
PiperOrigin-RevId: 191488180
|
|
|
|
|
|
|
|
| |
This fixes cc_library rules for third-party packages using generated headers in
blaze-bin.
RELNOTES: None.
PiperOrigin-RevId: 191485462
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For example:
in cc_library(
name = "lib",
srcs = ["lib.h", "lib.cc"],
)
lib.h and lib.cc have the same base name, but they should not be considered as conflict.
RELNOTES:
PiperOrigin-RevId: 191485223
|
|
|
|
| |
PiperOrigin-RevId: 191484639
|
|
|
|
| |
PiperOrigin-RevId: 191483825
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 191480343
|
|
|
|
| |
PiperOrigin-RevId: 191475357
|
| |
|
|
|
|
|
|
| |
of several CLs which implement proto output with cquery.
PiperOrigin-RevId: 191460698
|
| |
|
|
|
|
|
|
|
|
|
| |
The current output was pretty much completely incorrect. However since the result output was always hidden for the default value of --show_result, users simply didn't see the incorrect output (instead getting no output at all).
This CL fixes both the --show_result problem and makes the output correct.
RELNOTES: Print correct build result for builds with --aspects flag.
PiperOrigin-RevId: 191456352
|
|
|
|
|
|
| |
checksum representation of BuildConfigurations to the Configuration message.
PiperOrigin-RevId: 191447098
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a preparation work to expose Variables instance for all link actions
to Skylark.
Compile build variables were done in https://github.com/bazelbuild/bazel/commit/31ab0b88ec52f293e713b9369ea4a706b6c0a57d.
This is also in line with our goal to make build variables more discoverable and
better document.
RELNOTES: None.
PiperOrigin-RevId: 191446799
|
|
|
|
|
|
|
|
|
| |
This is done so that the name CcCompilationInfo can be used for the C++
provider that will wrap all providers for compilation, similar to JavaInfo in
Java.
RELNOTES:none
PiperOrigin-RevId: 191445120
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Rolling forward with improved handling and testing for Styleables, and correct package management.
*** Original change description ***
Automated rollback of commit a76f7db51a90cc2e35c1d66782056c310729eef0.
*** Reason for rollback ***
Breaks Kix.
*** Original change description ***
Modify the .flat decompilation to account for multiple configurations by converting the aapt2 proto ConfigValue to a FolderConfiguration.
Adds new aapt2 compiled deserialization test.
RELNOTES: None
PiperOrigin-RevId: 191444658
|
|
|
|
|
|
|
| |
Fixes: 2846
RELNOTES: Bazel now displays information about remote cache hits and execution strategies used in its UI after every build and test, and adds a corresponding line "process stats" to BuildToolLogs in BEP.
PiperOrigin-RevId: 191441770
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add ParsedAndroidResources to wrap AndroidResources and resource parsing
output.
- Implement parse() method in AndroidResources, and support for it elsewhere
- Move some supporting methods to the right place (setting up an aapt2 sdk for
tests goes to the base test rule, and creating a dummy DataBinding zip goes
to the DataBinding class).
- Tests for new parse() method, including support for getting a test
RuleContext instance
RELNOTES: none
PiperOrigin-RevId: 191436027
|
|
|
|
|
|
|
| |
IdleServerTasks could probably be implemented in a much simpler way, but let's keep this change a simple deletion. One step at a time.
RELNOTES: None.
PiperOrigin-RevId: 191418738
|
|
|
|
|
|
|
|
|
|
|
| |
(instead of milliseconds) since the epoch.
This fixes the build stamp data in Bazel itself and is also consistent with what we do internally at Google.
Fixes https://github.com/bazelbuild/bazel/issues/4469 .
RELNOTES[INC]: BUILD_TIMESTAMP now contains seconds (and not milliseconds) since the epoch.
PiperOrigin-RevId: 191418132
|
|
|
|
|
|
|
|
|
|
|
| |
infrastructure.
This was added in unknown commit to provide a different environment to Apple toolchains, then its use removed in unknown commit in favor of getting the environment variables from the CToolchain proto.
I haven't done my research if that's a better approach, but it looks like it (the less hard-coded stuff we have in Java, the better), but worst of all is surely to have *two* such mechanisms.
RELNOTES: None.
PiperOrigin-RevId: 191411878
|
|
|
|
|
|
|
|
|
| |
Instead, treat it as a regular compile-time library dependency.
This fixes Java8 compilation in android_local_test.
RELNOTES: None
PiperOrigin-RevId: 191359834
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 191354727
|
|
|
|
|
|
| |
holds in the check in Runfiles.Builder#merge.
PiperOrigin-RevId: 191341008
|
|
|
|
|
|
|
|
| |
invocation.
Also, makes it benign to registerInitialValue when memoization is disabled.
PiperOrigin-RevId: 191338253
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 191329591
|
|
|
|
| |
PiperOrigin-RevId: 191323243
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Roll forward with fix and test - turns out I didn't distinguish properly
between list and item seperators.
*** Original change description ***
Rollback "Allow Merge action to take an interface as primary, not just ResourceContainer", as it breaks some android rule integration tests.
RELNOTES: none
PiperOrigin-RevId: 191322706
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 191320863
|
|
|
|
|
|
|
| |
ResourceContainer", as it breaks some android rule integration tests.
RELNOTES: none
PiperOrigin-RevId: 191304264
|
|
|
|
|
|
|
|
|
| |
The proguard.txt is the concatenation of the proguard_specs on the android_library rule itself. Note that it does not include transitively defined proguard_specs.
Fixes https://github.com/bazelbuild/bazel/issues/4467
RELNOTES: android_library AAR output now contains proguard.txt
PiperOrigin-RevId: 191302610
|
|
|
|
|
|
| |
Profiling can hold onto objects for the duration of the build, and some of those objects may be temporary that should not be persisted. In particular, UnixGlob and its inner classes should not outlive loading and analysis. For the most part, care was taken in this CL to only use strings that required no additional construction, mainly to minimize garbage (retaining references to newly created strings is not as great a concern since only the strings corresponding to the slowest K tasks are retained, for some relatively small values of K). Action descriptions for actually executing actions are eagerly expanded because that work is minimal compared to the work of actually executing an action.
PiperOrigin-RevId: 191251488
|
|
|
|
|
|
|
|
|
|
| |
Second attempt of https://github.com/bazelbuild/bazel/commit/0654620304728a5aecadd58138e96c41135d24e7, which I am rolling back. The problem is that FilterOutputStream.write is just plain wrong and we shouldn't inherit FilterOutputStream at all, but instead do it manually (which actually requires less code).
This was a performance regression in https://github.com/bazelbuild/bazel/commit/deccc485603c004daad959fd747f1c0c9efc4f00.
Fixed #4944.
PiperOrigin-RevId: 191215696
|
|
|
|
| |
PiperOrigin-RevId: 191159996
|
|
|
|
|
|
| |
Currently, the TestResult does not have an execution info, but that may change in the future.
PiperOrigin-RevId: 191148241
|
|
|
|
|
|
| |
The BuildEventStreamer was checking the command name for the exact string "test" for test-specific handling, even though coverage is also a test command.
PiperOrigin-RevId: 191137755
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Not a proper fix.
*** Original change description ***
Enable bulk writes in the HttpBlobStore
This was a performance regression in https://github.com/bazelbuild/bazel/commit/deccc485603c004daad959fd747f1c0c9efc4f00.
Fixed #4944.
PiperOrigin-RevId: 191133416
|
|
|
|
|
|
|
| |
overkill for these unit tests.
RELNOTES: None
PiperOrigin-RevId: 191122418
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Don't ask me how so many things can be wrong in a single test...
Progress towards #4770.
FYI @rupertks @buchgr @ulfjack
## Replace 25000 invocations of perl with a single "sha256sum"
This speeds up the test by a factor 2x on my iMac (before: 1200s, now: 600s).
On macOS, "shasum" is a Perl script. Instead of simply passing all input files to the thing at once, we were invoking it once per file. This means roughly 25,000 invocations of Perl per test run. And it's even worse - it wasn't just a call to that Perl script, it was wrapped in a "cat | shasum | cut" pipeline, resulting in silent data loss when you accidentally passed multiple input files to the thing, 75,000 processes being spawned just to compute hashes and losing the file name of what was actually hashed. WTF.
Also, we were using SHA256 to essentially verify that two directory trees are equal. For this purpose, relying on SHA1 should be absolutely fine - and that is, provided by a good native implementation, four times faster than `shasum`. It saves another 10 seconds of the overall run.
With this change, the test also prints the result of a failed determinism check in an easier to read format "filename hash" instead of "hash filename" and on top of that, it also prints the filenames in the diff on macOS, which was missing formerly. Without this, it was basically impossible to debug failures of this test on macOS, as you couldn't see *which files were different*. You had *one* job, bazel_determinism_test.
Before:
```
-- Test log: -----------------------------------------------------------
--- /private/var/tmp/_bazel_buildkite/30004132848cb6cbb0d8bc124cd9712b/bazel-sandbox/8820973750646175047/execroot/io_bazel/_tmp/e503f3f3df14b71e247bc3d7d9bf3608/sum1 2018-03-28 18:00:43.000000000 +0000
+++ /private/var/tmp/_bazel_buildkite/30004132848cb6cbb0d8bc124cd9712b/bazel-sandbox/8820973750646175047/execroot/io_bazel/_tmp/e503f3f3df14b71e247bc3d7d9bf3608/sum2 2018-03-28 18:10:34.000000000 +0000
@@ -10417,0 +10418 @@
+ecd53ba69a8d479d3fa4234e959f869cd10f7ebc68860d2b7915879f8b8b2c54
@@ -10605 +10605,0 @@
-f1954b59039b74d0a0ee3b2bced748604b95b8455a5bf80489296bd81878a5c8
------------------------------------------------------------------------
```
Now (I artificially introduced non-hermeticism to show how a failure would look like):
```
-- Test log: -----------------------------------------------------------
--- /private/var/tmp/_bazel_philwo/7a01905b4627ca044e5e3f5ad5b14d26/bazel-sandbox/5464595340038418595/execroot/io_bazel/_tmp/e503f3f3df14b71e247bc3d7d9bf3608/sum1 2018-03-30 17:12:39.000000000 +0000
+++ /private/var/tmp/_bazel_philwo/7a01905b4627ca044e5e3f5ad5b14d26/bazel-sandbox/5464595340038418595/execroot/io_bazel/_tmp/e503f3f3df14b71e247bc3d7d9bf3608/sum2 2018-03-30 17:17:27.000000000 +0000
@@ -903 +903 @@
-bazel-bin/src/bazel 31d811338ca364f0631560dd4d29406dd6a778ce
+bazel-bin/src/bazel 8f009173894730b00a1d1d6349af7d10f4d21cf3
@@ -5656 +5656 @@
-bazel-bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar f5ec8c4415ad8ecdc0385affc68f2dd4dbf241ef
+bazel-bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar 9899ae35cf431087a34a830bfdaf19d99616689c
@@ -8343 +8343 @@
-bazel-bin/src/main/java/com/google/devtools/build/lib/worker/_javac/worker/libworker_classes/com/google/devtools/build/lib/worker/WorkerFactory.class 780baa17c19ef99ef0b9291db1791ed8e0f1b231
+bazel-bin/src/main/java/com/google/devtools/build/lib/worker/_javac/worker/libworker_classes/com/google/devtools/build/lib/worker/WorkerFactory.class d45c14f09e73e7fcdf01f96aa32646c87b704bc2
@@ -8359 +8359 @@
-bazel-bin/src/main/java/com/google/devtools/build/lib/worker/libworker.jar 60e3afbfec17da7e44c1f0f61cf2a446196717be
+bazel-bin/src/main/java/com/google/devtools/build/lib/worker/libworker.jar 70f557e87d1b32b2e46c79554fe6bf3b89aeaf6e
@@ -11343 +11343 @@
-bazel-genfiles/src/install_base_key 3fad754e4ea19bd1120df5bf16e1f39372e6b9fe
+bazel-genfiles/src/install_base_key 7d7e8b62493912c5ec153032e104640e3980e6b3
@@ -11376 +11376 @@
-bazel-genfiles/src/package.zip 1ce3431b021ca338806162eca72ff84118001df5
+bazel-genfiles/src/package.zip 65f4801d91bbe10cba0d2d4d55c7cf319cd6722d
------------------------------------------------------------------------
test_determinism FAILED: Non-deterministic outputs found! .
```
## Remove obsolete check for BAZEL_TEST_XTRACE
That string does not appear anywhere in our repo, except for these two lines in the test, so there's no point in checking for it.
## Remove obsolete check for Java 7
That was about time.
## Performance improvements and usability fixes
- There's no need to use mktemp to create a unique directory under TEST_TMPDIR, as every test suite has its own TEST_TMPDIR.
- There's no need to remove stuff, as this will just degrade performance and make debugging harder. The surrounding Bazel or system will clean up later.
- There's no need to copy bazel-bin/src/bazel to ./bazel1 before calling it, as you can just call the built bazel from its original location.
- There's no need to run "bazel clean" before the second "bazel build" invocation - it's better to just use two separate output_bases. This is faster and also makes debugging easier, as you can compare the two output_bases in case of a test failure.
- There's no need to call "diff" twice - we can just save the output immediately in the `if` block.
Closes #4945.
PiperOrigin-RevId: 191118833
|
|
|
|
|
|
|
| |
of @SkylarkSignature.
RELNOTES: None.
PiperOrigin-RevId: 191112273
|