| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
|
| |
1. Add final and a private ctor for NativeLauncherUtil
2. some refactor on launcher_test.py
Change-Id: Ia12fe82038e080f10ebd02ca8b841a91f2a29f52
PiperOrigin-RevId: 166035866
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The real docker rules are in a separate repo now; docker_build is
maintained here solely for the //src/test/docker tests.
The tests under //tools/build_defs/docker are incompatible with some
desired changes to pkg_tar, and since they now live in a separate repo,
fixing the tests here is not worth the effort, so just remove them
instead.
Change-Id: I642bcdb57382eea1884713ae39f5b55ad5133139
PiperOrigin-RevId: 166031190
|
|
|
|
|
|
|
|
|
|
|
| |
the options parser.
Removes any direct reads of the annotation outside of OptionDefinition. This allows for fewer manual checks for the annotation's existence, unifies error wording, and paves the way for potentially generifying the OptionsParser to accept different @Option-equivalent annotations.
Also allows for cleanup of duplicate code by giving @Option-specific operations a clear home, such as sorts and default logic. In followup changes, we can eliminate some unnecessarily complex caching by instead memoizing values in the OptionDefinition. This will have the positive side effect of making sure reads come from the cached values.
RELNOTES: None.
PiperOrigin-RevId: 166019075
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change forces use of CustomCommandLine.Builder, which has a richer interface for constructing memory-efficient command lines. It will also permit surveying the code base for inefficient patterns using an IDE.
This change was done by hand and split using Rosie to assist with rollbacks in case of bugs. Reviewers, please pay particular attention to:
* Each all to addInputArgument/addOutputArgument should come with a corresponding matching pair to SpawnAction.Builder#addInput and CustomCommandLine.Builder#addExecPath (eg.).
* The commandLine must be set on the SpawnAction using SpawnAction.Builder#setCommandLine.
Note that most calls to addPrefixed("arg=", val) should be more idiomatically expressed as add("arg", val), but this involves changing tests and making sure that the command line tools can accept the format.
PiperOrigin-RevId: 166003829
|
|
|
|
|
|
|
|
| |
foo_test.runfiles_manifest files. These are the largest local outputs
in many builds, and unnecessary for remote test execution.
RELNOTES: New --build_runfile_manifests flag controls production of runfiles manifests.
PiperOrigin-RevId: 166001477
|
|
|
|
|
|
|
|
| |
This migrates the config_feature_flag implementation over and removes the
old flag (which was not used except to test it). Fare thee well, old flag.
RELNOTES: None.
PiperOrigin-RevId: 165995681
|
|
|
|
|
| |
Change-Id: If9373f81193050009432759da6299f1382e587ec
PiperOrigin-RevId: 165994437
|
|
|
|
|
|
|
| |
Its effects are not restricted to C++ binaries.
RELNOTES: None.
PiperOrigin-RevId: 165992270
|
|
|
|
|
|
| |
These files are supplemental inputs that should always be passed to the linker regardless of relationships between dependent binaries.
PiperOrigin-RevId: 165982025
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 165973661
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 165967625
|
|
|
|
|
|
| |
--experimental_objc_crosstool=all.
PiperOrigin-RevId: 165966924
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 165949361
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 165949162
|
|
|
|
|
|
| |
* highlight this attribute is deprecated from 0.5.3 because of `py_runtime` rule.
PiperOrigin-RevId: 165945840
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In converting SpawnAction.Builder (multi-thousand line CL) users directly to CustomCommandLine I didn't like the resulting loss of readability, and the methods didn't feel very discoverable. Unless it's very convenient and readable to use CustomCommandLine, people will resort to non-memory efficient patterns by default. I'm holding that CL for this, which should offer a nicer interface.
This CL removes VectorArg from the API contact surface area, instead creating 64 overloads for every valid combination of parameters. Pretty sad, but the methods dispatch straight to internal helper methods so it's mostly boilerplate to the tune of +400 LOC.
Other changes:
* Change ImmutableCollection -> Collection and copy the args directly into the internal args vector. Saves on collection object overhead and saves users from having to create immutable copies.
* Change some names, notably add -> addAll for collection methods
* Create additional missing overloads
* Fix JavaDoc
RELNOTES: None
PiperOrigin-RevId: 165943879
|
|
|
|
|
|
|
|
|
|
| |
Pseudolocalized resources are generated by aapt in response to their locales
being passed to aapt. However, when filtering in analysis, we attempted to save
time by not passing any filters to aapt. Fix this by passing the filters if
pseudolocales were specified.
RELNOTES: none
PiperOrigin-RevId: 165939670
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the upload of local build artifacts fails, the build no longer fails
but instead a warning is printed once. If --verbose_failures is
specified, a detailed warning is printed for every failure.
This helps fixing #2964, however it doesn't fully fix it due to timeouts
and retries slowing the build significantly.
Also, add some other tests related to fallback behavior.
Change-Id: Ief49941f9bc7e0123b5d93456d77428686dd5268
PiperOrigin-RevId: 165938874
|
|
|
|
|
|
|
|
| |
should no longer be thrown by any CAS implementations.
TESTED=unit tests
RELNOTES: none
PiperOrigin-RevId: 165937395
|
|
|
|
|
|
| |
closure.
PiperOrigin-RevId: 165934905
|
|
|
|
|
|
|
|
|
| |
We intend to change the API to enforce that in the general case: https://docs.google.com/document/d/12c3oAPgedckLpue2yj0xGgJTEOyUm4mXWWBJ157J-8I/edit#heading=h.l7cw5mk7fh05
ALREADY_EXISTS should never be thrown by the CAS.
TESTED=remote worker
RELNOTES:
PiperOrigin-RevId: 165933102
|
|
|
|
|
|
|
|
|
| |
So that the user knows the real action to do.
Fixes #3401
Change-Id: I1f7ab258b22f832f31c35c83ff52b33bddf0732a
PiperOrigin-RevId: 165931509
|
|
|
|
| |
PiperOrigin-RevId: 165925128
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 165910455
|
|
|
|
|
|
|
| |
RELNOTES:
When the lvalue of an augmented assignment is a list, we now throw an error
before evaluating the code (e.g. `a, b += 2, 3`).
PiperOrigin-RevId: 165906611
|
|
|
|
|
|
|
| |
RuleContext.shouldCreateRunfilesSymlinks() itself.
RELNOTES: None.
PiperOrigin-RevId: 165774395
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
passing the --post_build_query flag to a build command, with a query expression as the argument. Bazel then executes this query on the configured target graph as constructed by the build command.
Since the prepare graph -> query workflow is how SkyQueryEnvironment works, this is mostly just copying that.
Main missing features/code cleanups:
* Recursive target patterns (/...) are not supported.
* There is no way to specify the configuration of the targets in your query.
* Configuration output is totally opaque (just the hash, or null if no configuration).
* More generally, no output options.
* Some features (visibility, label attrs) not supported.
* No edge filtering (host deps, implicit deps).
* Aspects are totally ignored.
* Graceful failure on errors, edge cases, incompatible flags (like the TAP flags that discard edges).
* Code hygiene issues (calling test-only method to get to Skyframe graph, some code duplication across ConfiguredTargetQueryEnvironment and SkyQueryEnvironment).
Most of the features I plan to leave to rules-side people, since I think they won't be too hard for a general Blaze developer to implement, and designing the right features and user interfaces for these things is better left to the rules side.
PiperOrigin-RevId: 165747829
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This accomplishes a few goals:
1. Removes the outdated BuildConfiguration.StaticConfigurationApplier code.
2. Removes the TransitionApplier abstraction completely. This was an awkward
bridge meant to support both static and dynamic implementations.
3. Moves transition logic to its own dedicated class: ConfigurationResolver.
This no longer belongs in BuildConfiguration, which we ultimately want to
become a simple <key, value> map.
Part of the static config cleanup effort.
PiperOrigin-RevId: 165736955
|
|
|
|
| |
PiperOrigin-RevId: 165731260
|
|
|
|
| |
PiperOrigin-RevId: 165730337
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now Bazel build a Windows exe to launch the python self-extracting zip
file by default, using --windows_exe_launcher=0 to switch back to cmd
wrapper.
The extra zip file with shebang preprended is not built on Windows
anymore, even when using cmd wrapper.
Change-Id: Ic7060326f19ca6e2e73ea8d8211afd1c7618083c
PiperOrigin-RevId: 165707076
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 165705342
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
android_libraries can now be used in the resources attribute. However, if these
libraries contain non-resource information, it won't get picked up. To prevent
unexpected behavior, fail if such libraries are used as resources.
Adding a temporary boolean to AndroidResourcesProvider seems to be the most
straightforward way of doing this. The alternative, having the consuming target
check all relevant providers for non-resource information, would be much
messier.
RELNOTES: None
PiperOrigin-RevId: 165703578
|
|
|
|
|
|
|
|
|
|
|
| |
single options-base case.
This is to prepare the options parser from making options parser creation exceptions a caught exception. Since all of these classes already have a single options class and used parseAndExitUponError, this allows us to keep behavior consistent between the malformed options-base errors and the incorrect user-input errors.
All the other uses of the options parser in //src/tools already throw sufficiently broad exceptions to not need this.
RELNOTES: None
PiperOrigin-RevId: 165702786
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Extract some funtions into NativeLauncherUtil.java
So that they can also be used by Python and Java launcher.
2. Derive runfiles directory from mainExectuable
yielding "%{name}.cmd.runfiles" or "%{name}.exe.runfiles"
3. Removed bash_main_file key, we can assume the main file is next the
launcher just without .exe suffix.
By doing this, we don't have to worry about passing RunfilesPath or
ExecPath. RunfilesPath has ../ prefix for external file, ExecPath
contians ./bazel-out/... for generated file. If main file is a
generated file from external repository, neither of them are correct.
Change-Id: Ie0c35f6030f6229c28d935d8fb3cb6a8af5af29c
PiperOrigin-RevId: 165699975
|
|
|
|
|
|
|
| |
defines it
RELNOTES: None.
PiperOrigin-RevId: 165695975
|
|
|
|
|
| |
RELNOTES: Python is now required to build bazel.
PiperOrigin-RevId: 165694080
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes #3584
*** Reason for rollback ***
Broke bazel_windows_test fails on windows.
*** Original change description ***
Propagate detected value of BAZEL_SH to --client_env.
Also make debug_log available as soon as possible on startup.
Also adds some extra debug logging.
Also removes some msys-only code paths.
Fixes #3498.
Change-Id: I5b769f2c5a728106e5252869745ec79e555cbaf2
PiperOrigin-RevId: 165692468
|
|
|
|
|
|
|
| |
Fixes #3583.
RELNOTES: None.
PiperOrigin-RevId: 165687251
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 165686521
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 165685048
|
|
|
|
|
|
|
|
| |
Msys is now installed to c:\msys64 by default. This cl updates our docs to
prevent confusion.
RELNOTES: None.
PiperOrigin-RevId: 165681864
|
|
|
|
|
|
|
| |
https://github.com/bazelbuild/bazel/commit/bcb0354b2d7c7a8f824e9dab76cb21526a81a045. The try-with-resources library need to be compiled with java7, as we directly copy the classes into the desugared jar.
RELNOTES: None
PiperOrigin-RevId: 165637473
|
|
|
|
|
|
|
|
| |
This is always true.
Part of the static config cleanup effort.
PiperOrigin-RevId: 165628823
|
|
|
|
| |
PiperOrigin-RevId: 165622047
|
|
|
|
|
|
|
|
|
| |
This makes these flags accessible to all commands, including some that don't do anything with Skylark (e.g. canonicalize-flags). This leads to spammier help messages. But the benefit is that it allows them to appear on a "common" line in the .bazelrc.
Fixes #3538.
RELNOTES: Skylark-related options may now appear as "common" command options in the .bazelrc
PiperOrigin-RevId: 165620829
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
osx_cc_wrapper.sh was not working correctly in cases when multiple
rpaths were specified on linking command line. This cl modifies the
wrapper to record all rpaths, and use the rpath that corresponds to a particular
library when updating libraries install name.
Fixes #3450
RELNOTES: None.
Change-Id: I614694a792b6724a1db9814ee25af1802560c463
PiperOrigin-RevId: 165618946
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 165616290
|
|
|
|
|
|
|
| |
The options parser already has a static cache of all the reflection work performed. There can still be costs associated with the obtaining and combining of options classes (see the BlazeCommandDispatcher's additional caching), but in this case, each parser is made with a single options class, and none of the class-name extraction was being cached, so I think there was nothing gained.
RELNOTES: None.
PiperOrigin-RevId: 165613107
|
|
|
|
|
|
|
|
| |
BuildConfigurationCollection.Transitions.
Part of the static config cleanup effort.
PiperOrigin-RevId: 165607492
|