| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
Accept warnings specified by flag. This flag will cause a warning to be printed like a standard Option deprecation warning or any other warning from options parsing. This can be used to deprecate definitions of config expansion or bazelrc files. This should not be used to deprecate internal option specifications.
RELNOTES: None.
PiperOrigin-RevId: 175231963
|
|
|
|
|
|
|
|
|
|
|
| |
Reorganize the BlazeOptionHandler to make it easy to exchange out how the config options are expanded using the definitions in the blazerc.
Also change the getOptionsMap call to actually structure the rc options in the order that we parse them: we expand them in command order (for the test command, first add all "common" options, then "build," then "test") and then within each command, we expand the options in the rc order. This somewhat simplifies the rc expansion code, and avoids the two-phase regrouping that used to happen.
This change should not change the semantics of rc option ordering. A followup change will add an alternative implementation for --config's expansion.
RELNOTES: None.
PiperOrigin-RevId: 175208971
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previous changes have removed all middlemen from runfiles
artifacts. This CL locks it down and removes various now-redundant
*WithoutMiddlemen() methods from Runfiles.
I put a check for middlemen in ConflictChecker.put, which should be a
chokepoint for runfiles artifacts. It's unfortunate we can't detect
middlemen earlier than execution, but I can't see a way to efficiently
check every runfiles artifact earlier.
Change-Id: I57fcb51b02e40adf3ebc4591c26bf5492c89352f
PiperOrigin-RevId: 175206157
|
|
|
|
|
|
|
| |
This feature is experimental, and thus left mostly undocumented.
RELNOTES: None.
PiperOrigin-RevId: 175187791
|
|
|
|
|
|
|
| |
It's not needed by the new plan for android_instrumentation_test.
RELNOTES: None
PiperOrigin-RevId: 175166913
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 175153541
|
|
|
|
|
|
|
|
| |
DexFileMerger tool
RELNOTES: None.
PiperOrigin-RevId: 175082253
|
|
|
|
|
|
|
|
|
|
|
|
| |
Addresses #3661 and fixes #3770 bug
Changes:
- Properly escape the download URL. `GitCloner` used to incorrectly escape `/` delimiters as `%2F`. This change was originally introduced in #3770 but [rolled back](https://github.com/akira-baruah/bazel/commit/58c003cf98b81d433603eeeb3874c7dbba33e1f0) due to a bug that is now fixed below.
- Omit an initial "v" from a version tag (e.g. `v1.2.3`) in the archive prefix. GitHub seems to do this.
Closes #4002.
PiperOrigin-RevId: 175047685
|
|
|
|
|
|
|
| |
to breaking some existing genrules.
RELNOTES: None.
PiperOrigin-RevId: 175034625
|
|
|
|
|
|
|
|
| |
Blaze had its own class to avoid GC from varargs array creation for the precondition happy path. Guava now (mostly) implements these, making it unnecessary to maintain our own.
This change was almost entirely automated by search-and-replace. A few BUILD files needed fixing up since I removed an export of preconditions from lib:util, which was all done by add_deps. There was one incorrect usage of Preconditions that was caught by error prone (which checks Guava's version of Preconditions) that I had to change manually.
PiperOrigin-RevId: 175033526
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 175033155
|
|
|
|
|
|
|
|
|
|
| |
BES.
- Add a prefix to user provided keywords, so it can be distinguished from
keywords provided directly by Bazel.
- Keywords are also stored in a Set to avoid duplicates.
PiperOrigin-RevId: 174872442
|
|
|
|
|
|
| |
//tools/cpp:toolchain_type as the canonical c++ toolchain.
PiperOrigin-RevId: 174759558
|
|
|
|
|
|
|
|
|
|
|
| |
Characterizing this correctly this time: Target patterns are evaluated with two different sets of semantics. For determining which targets to build, only test suites in exclusion target patterns are expanded. For determining which tests to run (or determining which targets to build if --build_tests_only is set), test suites in all target patterns are expanded. In each case, test suites are expanded for each target pattern individually, not for the whole set of targets after the list of target patterns is processed.
Also update a related code comment.
The newer implementation for this logic already has equivalent tests for this behavior, in particular testFilterNegativeTestFromTestSuite and testNegativeTestSuiteExpanded in LoadingPhaseRunnerTest.
RELNOTES: None
PiperOrigin-RevId: 174756583
|
|
|
|
|
|
|
|
| |
These libs are exposed externally, implying that the vfs is also exposed externally.
We break out PathFragment from vfs to still use this in their interface. This class is a much smaller dependency than the entire vfs.
PiperOrigin-RevId: 174729373
|
|
|
|
|
|
|
| |
TerminationStatus, and also add a TerminationStatus.Builder and tests.
RELNOTES: None.
PiperOrigin-RevId: 174557303
|
|
|
|
|
|
|
| |
and make cumulative execution times available in ActionResults.
RELNOTES: None
PiperOrigin-RevId: 174553272
|
|
|
|
|
| |
RELNOTES: Late-bound attributes are exposed to skylark. This is a new API (`configuration_field()`) to depend on certain configuration-defined targets from skylark rules.
PiperOrigin-RevId: 174534104
|
|
|
|
|
|
|
| |
This changes the order in which expansions happen, which could change the
semantics in subtle ways.
PiperOrigin-RevId: 174518778
|
|
|
|
| |
PiperOrigin-RevId: 174508154
|
|
|
|
|
|
| |
#getObjCopyOptionsForEmbedding, #getLdOptionsForEmbedding and #getDefaultSysroot to CcToolchainProvider.
PiperOrigin-RevId: 174508128
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 174502289
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 174485947
|
|
|
|
| |
PiperOrigin-RevId: 174481563
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Whether a resource is accepted or rejected by density-based resource filtering
is dependent on what other resources are available. When filtering resources in
execution, this was taken into account - resources were filtered after merging.
To replicate this behavior when filtering in analysis, we must look at both
local and transitive resources before we actually filter anything.
This process makes filtering with dynamic configuration extremely inefficient, since the NestedSet of transitive resources must be collapsed at each library target. We can fix this by only looking at the transitive resources at the top-level target, even when using dynamic filtering. I'm not implementing that in this change, however, since dynamic filtering is relatively low priority and this review is already pretty big.
Note that some of the messiness around filtering ResourceDependencies and
NestedSet<ResourceContainer> will go away once those NestedSets are removed.
Also, stop filtering resources in android_test, since android_test can never specify resource filters.
RELNOTES: none
PiperOrigin-RevId: 174474491
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In addition to the $(location) function, we now also support $(rootpath) and
$(execpath) functions.
Unfortunately, we have to do this in two places since the Skylark API for expand_location has to continue calling into LocationExpander in order to preserve its semantic contract.
Progress on #2475.
RELNOTES[NEW]:
In addition to $(location), Bazel now also supports $(rootpath) to obtain
the root-relative path (i.e., for runfiles locations), and $(execpath) to
obtain the exec path (i.e., for build-time locations)
PiperOrigin-RevId: 174454119
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 174397203
|
|
|
|
|
|
|
| |
"blaze test".
RELNOTES: None.
PiperOrigin-RevId: 174386473
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Roll forward again without the changes to expand_location, but with the trimming fix from https://github.com/bazelbuild/bazel/commit/19617360121635a77ffec99b84d825e7d9b260b1.
*** Original change description ***
Automated rollback of commit ca77f608e486bf7aa762565d25bf7b9e30f2268c.
This also rolls back unknown commit.
*** Reason for rollback ***
Affected expand_location Skylark API semantics - it no longer accepts ${abc} or plain dollar signs, but complains.
*** Original change description ***
Extend TemplateExpander to handle $(func param) expansion
Rewrite the Expander to use the new functionality; also rewrite the Skylark
expand_location function to use it.
PiperOrigin-RevId: 174384095
|
|
|
|
|
|
|
| |
OptionsParserTest are implemented in ParamsFilePreProcessorTest, ShellQuotedParamsFilePreProcessorTest and UnquotedParamsFilePreProcessorTest.
RELNOTES: None.
PiperOrigin-RevId: 174359569
|
|
|
|
|
|
|
| |
Make sure that multiple calls to parse() follow each other sequentially. This is necessary for blazerc expansion, which occurs first in command order, then blazerc order.
RELNOTES: None.
PiperOrigin-RevId: 174343241
|
|
|
|
|
|
|
| |
This omits validation for this transition, which will follow in a future change.
RELNOTES: None.
PiperOrigin-RevId: 174183651
|
|
|
|
|
|
|
|
| |
multiple shards. Also fix some weirdnesses with how shard assignments were recorded.
RELNOTES: None.
PiperOrigin-RevId: 174095450
|
|
|
|
|
|
|
| |
https://github.com/bazelbuild/bazel/issues/903
RELNOTES: None
PiperOrigin-RevId: 174079202
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 174062560
|
|
|
|
|
|
|
|
|
|
|
| |
In the next review, to handle issues around density filtering, ResourceFilterFactory will return another object that actually handles filtering. To ensure stuff is named properly, rename ResourceFilter to ResourceFilterFactory now so that the new class can be called ResourceFilter.
This is a straightforward automated refactor, followed with some automated reformatting to make linting happy.
I used the name ResourceFilterFactory, rather than the more concise ResourceFilters, as this class actually contains state (both around what filtering should currently do and about what resources were filtered out) and isn't just a helper class.
RELNOTES: none
PiperOrigin-RevId: 174049618
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LocalResourceContainer.Builder is referenced a bunch of times, but most of
those calls are identical. Replace them with a couple of factory methods. This
lets us make the builder private.
Additionally, LocalResourceContainer called attributeError() on the 'resources'
attribute, even though 'resource_files' is now used most of the time instead.
Now, the error is always given for the correct attribute.
RELNOTES: none
PiperOrigin-RevId: 174038035
|
|
|
|
|
|
| |
#getSolibDirectory to CcToolchainProvider.
PiperOrigin-RevId: 174032021
|
|
|
|
|
|
|
|
|
| |
test_suite expansion occurs after the target patterns are all processed. Otherwise, excluding a package can exclude tests from entirely different packages, which is counter-intuitive.
This behavior was intentionally removed in unknown commit in 2012 and then inadvertently reintroduced in unknown commit in 2015. But I think the current behavior is more intuitive (and as of https://github.com/bazelbuild/bazel/commit/0dffc49f528c4c6e641221060e41aa6896310bdf is documented).
RELNOTES: None.
PiperOrigin-RevId: 173984189
|
|
|
|
|
|
|
| |
It has been set to all for a bit now. It is not in any teams blazerc/tap configs.
RELNOTES: --incremental_dexing_binary_types has been removed. All builds are supported by incremental dexing (modulo proguard and some blacklisted dx flags).
PiperOrigin-RevId: 173931117
|
|
|
|
|
|
| |
supportsEmbeddedRuntimes, supportsExecOrigin to CcToolchainProvider.
PiperOrigin-RevId: 173928009
|
|
|
|
|
|
|
|
| |
These classes should not be used by anything since the binary regenerates
updated R classes.
RELNOTES: none
PiperOrigin-RevId: 173906178
|
|
|
|
|
|
|
| |
Keeps the semantics the same.
RELNOTES: None
PiperOrigin-RevId: 173899927
|
|
|
|
| |
PiperOrigin-RevId: 173873310
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
instances.
Stop storing the canonical list of arguments separately. For the canonicalize-flags command, we want to avoid showing options that either have no values in their own right (such as expansion options and wrapper options) and instances of options that did not make it to the final value. This is work we already do in OptionValueDescription, so we can generate the canonical form from the values tracked there, instead of tracking it separately.
This means the canonical list is more correct where implicit requirements are concerned: implicit requirements are not listed in the canonical form, but now the values they overwrote will be correctly absent as well.
Use this improved list for the effective command line published to the BEP.
RELNOTES: Published command lines should have improved lists of effective options.
PiperOrigin-RevId: 173873154
|
|
|
|
|
|
| |
This requires a fairly large amount of changes to fundamental objects like BlazeRuntime, Executor, and so on, as well as changing a lot of test code to thread the file system through. I expect future CLs to be much smaller.
PiperOrigin-RevId: 173678144
|
|
|
|
|
|
|
|
| |
This is indeed an helper for the WorkspaceFactory. There is no
state in that class, it is just a namespace for static methods.
Change-Id: I917237639e9e8a366b2b466ce40c45514007209c
PiperOrigin-RevId: 173669872
|
|
|
|
|
|
|
|
|
| |
CommonCommandOptions.
client_env and default_override stand apart from the other common options. They can be very long, and should only be used by the environment setup. They should ideally not be passed by option at all, but in the RunRequest proto message, but for now, isolate them so that they don't clutter the common command options, which are passed all over the place.
RELNOTES: None.
PiperOrigin-RevId: 173592980
|
|
|
|
|
|
| |
assigned to java.util.List, not just ArrayList.
PiperOrigin-RevId: 173577936
|
|
|
|
|
|
|
|
|
| |
instead of android_instrumentation.
GITHUB: #903
RELNOTES: None.
PiperOrigin-RevId: 173572553
|