| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
invocation.
Also, makes it benign to registerInitialValue when memoization is disabled.
PiperOrigin-RevId: 191338253
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
PiperOrigin-RevId: 191159996
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
documented=false.
RELNOTES: None.
PiperOrigin-RevId: 191112140
|
|
|
|
|
|
|
|
| |
only being used for the transitive hash code and transitive label of its globals, which can be passed in explicitly.
Assert along the way that the transitive label of its globals is always non-null. That is currently the case, although there seems to be no hard invariant of the system that it is true. Might as well tighten it now.
PiperOrigin-RevId: 191103310
|
|
|
|
|
|
|
| |
String categories are deprecated, replace this special-cased value with a specific OptionMetadata tag, TRIGGERED_BY_ALL_INCOMPATIBLE_CHANGES.
RELNOTES: None.
PiperOrigin-RevId: 191069412
|
|
|
|
|
|
|
|
|
|
|
| |
We expect that the client passes all startup options to the server, default or explicit. The server's listing of default values should not matter. Yet for a number of these options, the default value in the server was relied upon, because the server command line was not constructed with the client's default value included. Fix visible cases of this, long term this should be tested for, so the invariant is not broken again.
This has been the documented expectation for a long time, but a number of violations have crept up over time. Update the comments that lead to this expectation to be more realistic.
Add debug statement that shows which options are changed when startup options cause the server to be restarted. The detailed logs will only be seen if --client_debug is set to TRUE.
RELNOTES: None.
PiperOrigin-RevId: 191066983
|
|
|
|
|
|
| |
experimental flag. It also adds a logging handler for Execute calls so that they are logged.
PiperOrigin-RevId: 190991493
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In future reviews, we will use this to be able to pass assets and resources
individually.
Introduce replacement for ResourceContainerConverter that can handle generics
and should be about as flexible.
To support that replacement, slightly improve how CustomCommandLine handles
generics.
RELNOTES: none
PiperOrigin-RevId: 190970298
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a re-attempt at https://github.com/bazelbuild/bazel/pull/4058 which got reverted via https://github.com/bazelbuild/bazel/issues/4780
#4780 was being caused because cc plugin and j2objc plugin used different paths for outputs. I also manually verified that this works for both external cc_proto_librarys and external j2objc java_proto_libraries.
The output files are created without a repository, but the expected
filenames have them
This resolves issues when having a proto_library from an external build
file.
cc @c-parsons @pmbethe09
Closes #4793.
PiperOrigin-RevId: 190950452
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As part of decoupling Android resources and assets, rename
LocalResourceContainer to AndroidResources and remove asset code from it. Some
general asset and manfiest code still remains and will be dealt with in future
changes.
Remove LocalResourceContainer from the ParsingActionBuilder, since it's always
used to build the ResourceContainer that is subsequently passed in.
RELNOTES: none
PiperOrigin-RevId: 190945260
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was added during the JDK 7->8 transition to improve the diagnostic
when an older-than-supported host_javabase was used. The version number
handling doesn't work with JDK 9 (see [1]), and using Bazel binaries
with a bundled host_javabase avoid the error entirely so the message
is less important.
[1] http://openjdk.java.net/jeps/223
PiperOrigin-RevId: 190944476
|
|
|
|
|
|
|
| |
clients have a particular super-hot key, and want to avoid the cpu cost of doing a map lookup.
RELNOTES: None
PiperOrigin-RevId: 190848508
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 190823566
|
|
|
|
| |
PiperOrigin-RevId: 190805577
|
|
|
|
| |
PiperOrigin-RevId: 190804641
|
|
|
|
|
|
| |
Users should instead pass `--swiftcopt=-whole-module-optimization`, which has the same effect.
PiperOrigin-RevId: 190800123
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 190785580
|
|
|
|
|
|
| |
with CodecRegisterer.
PiperOrigin-RevId: 190780559
|
|
|
|
| |
PiperOrigin-RevId: 190779535
|
|
|
|
|
|
|
|
|
| |
--incompatible_disable_objc_provider_resources is true.
This involves propagating SkylarkSemantics to all ObjcProvider constructors.
RELNOTES: Introduce --incompatible_disable_objc_provider_resources to turn off all resource-related fields of the Objc provider.
PiperOrigin-RevId: 190778491
|
|
|
|
|
|
|
|
|
| |
These have all had a chance to be categorized with the OptionDocumentationCategory enum, and the help output already uses the enum-grouped format.
The "incompatible changes" category has meaning for --all_incompatible_changes and will be removed separately.
RELNOTES: None.
PiperOrigin-RevId: 190773778
|
|
|
|
| |
PiperOrigin-RevId: 190771926
|
|
|
|
|
|
|
|
| |
Working on link build variables I see they cannot stay in a single file, they're
too big and complicated. This will make the followup cl smaller.
RELNOTES: None.
PiperOrigin-RevId: 190771072
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We suggest our users to regularly test their code base
with --all_incompatible_chages to have time to adapt their
code base to upcoming incompatible changes. When doing so,
it is annoying if that breaks due to the Skylark code embedded
in bazel not being ready for the upcoming incompatible changes.
Therefore, add tests exercising the embedded code enabling
all incompatible changes. This way, hopefully, changes like
f1ad0e6df1528894b will come before the deprecation is added.
Change-Id: Iea60ff6a4019db310d1f1a1ad6a7b2bb53101c6d
PiperOrigin-RevId: 190766449
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 190759949
|
|
|
|
|
|
| |
are now internal, and the one that https://github.com/bazelbuild/bazel/commit/d350a897f6182d637ea819c41cd292a50c2db53d just snuck in...
PiperOrigin-RevId: 190705224
|
|
|
|
|
|
|
|
|
|
| |
utility method getConfiguration(ConfiguredTarget). Done using IntelliJ structural replace, with
$val$.getConfiguration() -> getConfiguration($val$)
and Expression type: TransitiveInfoCollection, applying constraint within type hierarchy. Had to clean up a few compile errors.
PiperOrigin-RevId: 190692493
|
|
|
|
|
|
| |
ConfiguredTarget#getConfiguration(). Add convenience methods in four Java test classes for use by refactoring tools to do this#getConfiguration(ConfiguredTarget) instead of ConfiguredTarget#getConfiguration.
PiperOrigin-RevId: 190684008
|
|
|
|
|
|
|
|
|
| |
counters, optimized
for the use-case of hot keys.
RELNOTES: None
PiperOrigin-RevId: 190678987
|
|
|
|
|
|
| |
ConfiguredTarget#getConfiguration.
PiperOrigin-RevId: 190676253
|
|
|
|
|
|
|
| |
struct field on the j2objc fragment.
RELNOTES: None.
PiperOrigin-RevId: 190672475
|
|
|
|
| |
PiperOrigin-RevId: 190667019
|
|
|
|
|
|
|
|
|
| |
RELNOTES[INC]:
Variables PACKAGE_NAME and REPOSITORY_NAME are deprecated in favor of
functions `package_name()` and `repository_name()`.
https://docs.bazel.build/versions/master/skylark/lib/native.html#package_name
PiperOrigin-RevId: 190657188
|
|
|
|
|
|
| |
most elegant solution, but I don't have a better idea.
PiperOrigin-RevId: 190656869
|
|
|
|
|
|
|
| |
It was removed from the java code 4 years ago, mentioning it causes the server to crash at startup.
RELNOTES: None.
PiperOrigin-RevId: 190636455
|
|
|
|
|
|
|
|
|
| |
to use @SkylarkCallable instead."
expand_location.targets needed to be a named parameter.
RELNOTES: None.
PiperOrigin-RevId: 190624472
|