| Commit message (Collapse) | Author | Age |
... | |
|
|
|
| |
PiperOrigin-RevId: 166849610
|
|
|
|
|
|
|
|
|
| |
To do this, add a new tool that is used instead of zipper to get the resources out of the AAR. This tool creates res/values/empty.xml if there are no resources in the AAR.
Also, some general cleaning of the code.
RELNOTES: None
PiperOrigin-RevId: 166768607
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks //src/test/shell/bazel:bazel_bootstrap_distfile_test:
INFO: You can skip this first step by providing a path to the bazel binary as second argument:
INFO: ./compile.sh compile /path/to/bazel
🍃 Building Bazel from scratch......
🍃 Building Bazel with Bazel.
.WARNING: /tmp/bazel_cHivhPBc/out/external/bazel_tools/WORKSPACE:1: Workspace name in /tmp/bazel_cHivhPBc/out/external/bazel_tools/WORKSPACE (@io_bazel) does not match the name given in the repository's definition (@bazel_tools); this will cause a build error in future versions.
ERROR: in target '//external:cc_toolchain': error loading package '@local_config_cc//': Extension file not found. Unable to load file '@local_config_cc//:dummy_toolchain.bzl': file doesn't exist or isn't a file.
INFO: Elapsed time: 3.343s
ERROR: Could not build Bazel
Found by git bisect.
*** Original change description ***
Add a new toolchain type for c++. In order to do this, PlatformConfiguration is made a legal configuration fragment for every rule class.
Add a default "dummy" c++ toolchain to prevent resolution errors when legacy toolchain selection logic is used. Add toolchain mocks to java and shell tests.
PiperOrigin-RevId: 166750885
|
|
|
|
|
|
|
|
|
|
|
| |
For instance, it makes more sense to visit the RHS of an assignment
first because this is evaluated first.
This also fixes a bug in the validator, which allowed definitions
like "a = a"
RELNOTES: None
PiperOrigin-RevId: 166709589
|
|
|
|
| |
PiperOrigin-RevId: 166705717
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 166704851
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: 166694174
|
|
|
|
|
| |
RELNOTES: Support ctx.actions.args() for more efficient Skylark command line construction.
PiperOrigin-RevId: 166694148
|
|
|
|
|
|
|
| |
remain, but will follow.
RELNOTES: None.
PiperOrigin-RevId: 166635306
|
|
|
|
|
|
|
| |
exported.
RELNOTES: None
PiperOrigin-RevId: 166546091
|
|
|
|
|
|
|
|
|
| |
Blaze options.
This change is in preparation for unknown commit which also needs to iterate over all options, but has to execute a different action than getOptionsCompletion().
As a result, applying the visitor patterns helps to avoid duplicate iteration code.
PiperOrigin-RevId: 166515117
|
|
|
|
|
|
|
|
| |
PlatformConfiguration is made a legal configuration fragment for every rule class.
Add a default "dummy" c++ toolchain to prevent resolution errors when legacy toolchain selection logic is used. Add toolchain mocks to java and shell tests.
PiperOrigin-RevId: 166509298
|
|
|
|
|
|
| |
incompatible_descriptive_string_representations flag
PiperOrigin-RevId: 166475260
|
|
|
|
|
| |
RELNOTES: Skylark providers can specify allowed fields and their documentation.
PiperOrigin-RevId: 166446104
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Reason for previous rollback was identified as being a memory regression causing some cases to hit java heap limit. Proposal is to increase java heap limit to compensate and just go with the original change.
*** Original change description ***
Automated rollback of commit 6cfffdf37e11018c7e6e2cabc90440d6d29c819b.
PiperOrigin-RevId: 166426608
|
|
|
|
|
|
|
| |
apks on memory page boundaries.
RELNOTES: .so files in APKs will be memory-page aligned when android_binary.nocompress_extensions contains ".so" and --experimental_android_use_nocompress_extensions_on_apk is specified.
PiperOrigin-RevId: 166399337
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 166379334
|
|
|
|
|
|
|
|
|
| |
This change reduces the size taken up in the bazel binary by Android tools deploy jars from 38.2 mb to 9.8 mb, which is 15% of the bazel binary size. Also, some minor cleanups of our BUILD files.
https://github.com/bazelbuild/bazel/issues/2385
RELNOTES: None
PiperOrigin-RevId: 166373241
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 166368143
|
|
|
|
|
|
|
|
|
|
| |
Convert implementation from populating an immutable map to a set of
SkylarkCallables. That saves memory and allows specifying documentation.
Also properly implements equals() and hashCode().
RELNOTES: None.
PiperOrigin-RevId: 166364059
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This paves the way for Skylark-side compact command lines that can fail during expansion.
In general, expansion happens in these scenarios:
* Action execution expands the command line to execute it. This is fine since we are well equipped already to handle failing actions.
* In the analysis phase we expand command lines to investigate whether we need a params file. This could be moved to the execution phase, which would have the benefit of getting params files out of the action graph and saving memory.
* Key computation expands the command line. This could be fixed by allowing command lines to compute their own keys (which wouldn't try to expand the command line). This could have the benefit of being more efficient.
* Extra actions expand the command line to construct the extra action proto. This could maybe be deferred to the execution phase (writing the extra action), which would also be more memory efficient.
For failed key computations, we return a singleton "error" key. This means multiple actions that will fail will map to the same key. These actions will necessarily fail if executed, so we should not need to worry about these ending up in the action cache. If we do manage to make the command line compute its own keys then this will become moot in the future.
RELNOTES: None
PiperOrigin-RevId: 166266385
|
|
|
|
|
|
|
|
| |
non-final and non-static.
Remove the now redundant check in the testing framework, as the cases being tested no longer compile. Keep tests that check the contents of the OptionsBase as a whole, however, as this is still not being tested at compile time.
PiperOrigin-RevId: 166239209
|
|
|
|
|
|
|
|
| |
Apparently, there's a third pseudolocale, en-rXC. Add support for it in
ResourceFilter.
RELNOTES: none
PiperOrigin-RevId: 166238886
|
|
|
|
|
|
| |
CustomMultiArgv is hard to serialise. This CL still uses mapping functions, which are equally hard to serialise, but it moves one step closer to being structural.
PiperOrigin-RevId: 166230153
|
|
|
|
|
|
|
| |
https://github.com/bazelbuild/bazel/issues/308
RELNOTES: None.
PiperOrigin-RevId: 166219871
|
|
|
|
|
|
|
| |
Implemented processing databinding for compile passes
RELNOTES: None
PiperOrigin-RevId: 166215052
|
|
|
|
|
|
|
| |
https://www.bazel.build/designs/2016/10/18/repository-invalidation.html
Change-Id: I6cb01397a35cd32169a0e415f8d7f944e7d840df
PiperOrigin-RevId: 166200841
|
|
|
|
|
|
|
|
| |
This is an internal refactoring necessary for the Skylark linter.
It does not change any behavior.
RELNOTES: None
PiperOrigin-RevId: 166199367
|
|
|
|
|
|
|
|
| |
Adds a ManifestContainer interface to centralize the types that provide manifests.
Adds PackagedResources to represent a linked dexless resource apk
RELNOTES: None
PiperOrigin-RevId: 166193049
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 166149340
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 166147838
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 166071758
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 166058718
|
|
|
|
|
|
|
|
| |
Prerequisite to implementing shape-declaration and shape-sharing
for declared providers, and cleaning up NativeInfo interface.
RELNOTES: None.
PiperOrigin-RevId: 166057070
|
|
|
|
|
|
|
|
|
|
|
| |
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 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
|
|
|
|
|
|
| |
--experimental_objc_crosstool=all.
PiperOrigin-RevId: 165966924
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
This is always true.
Part of the static config cleanup effort.
PiperOrigin-RevId: 165628823
|
|
|
|
| |
PiperOrigin-RevId: 165622047
|