| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 179845261
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 179838936
|
|
|
|
|
|
| |
Preparatory step for removing ConfigurationTransition.HOST.
PiperOrigin-RevId: 179838374
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This removes the main barrier to making host transitions routine
patch transitions.
Today you signify a host transition by calling
Attribute.Builder.cfg(ConfigurationTransition.HOST). Blaze's
configuration machinery auto-converts this to
HostTransition.INSTANCE, which is a patch transition.
This change provides the groundwork for removing
ConfigurationTransition.HOST and removing the special conversion
logic. This also paves the way for better API support for
multiple host configurations.
Also change some cfg(HOST) rule references to
cfg(HostTransition.INSTANCE).
PiperOrigin-RevId: 179754619
|
|
|
|
|
|
| |
same information and is more useful, since it's practically a SkyKey.
PiperOrigin-RevId: 179727105
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 179722149
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks skylark rules using $ in action cmd line.
*** Original change description ***
Change CommandHelper to use TemplateExpander directly
This is a partial rollback of https://github.com/bazelbuild/bazel/commit/e8d32b7c922f65539b74357711d5ad6b70934115, only the CommandHelper change.
Progress on #2475.
PiperOrigin-RevId: 179607027
|
|
|
|
|
|
|
| |
MOCK_CROSSTOOL already contained a definition for ios_x86_64 to "local_ios", but the definition of this toolchain was mistakenly omitted.
RELNOTES: None.
PiperOrigin-RevId: 179590135
|
|
|
|
|
|
|
|
|
|
|
|
| |
instrumentation android_binary's AndroidManifest.xml references the correct package name of the instrumented android_binary.
During an instrumentation test, ART will use the targetPackage specified in the instrumentation APK's AndroidManifest to determine the application to be instrumented. We can perform this check in Bazel at execution time, before the apps are loaded onto the device.
See android_instrumentation_test_integration_test.sh for the e2e example.
GITHUB: https://github.com/bazelbuild/bazel/issues/903
RELNOTES: None.
PiperOrigin-RevId: 179564246
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes #4322, #4306.
*** Reason for rollback ***
Introduces a deadlock (see https://github.com/bazelbuild/bazel/issues/4322)
*** Original change description ***
Make FileSystem operate on LocalPath instead of Path.
PiperOrigin-RevId: 179549866
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 179468685
|
|
|
|
|
|
|
|
| |
This is a partial rollback of https://github.com/bazelbuild/bazel/commit/e8d32b7c922f65539b74357711d5ad6b70934115, only the CommandHelper change.
Progress on #2475.
PiperOrigin-RevId: 179413908
|
|
|
|
| |
PiperOrigin-RevId: 179082062
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 179046403
|
|
|
|
|
|
|
|
|
| |
--noexpand_test_suites flag will suppress expansion of test_suite
targets into constituent tests, so that command-line aspects can analyze
test_suite targets.
RELNOTES: Added --(no)expand_test_suites flag.
PiperOrigin-RevId: 178892829
|
|
|
|
|
|
| |
This implementation requires adding an interned list of LabelAndConfiguration objects to each RuleConfiguredTarget ('implicit' is an attribute describer, not a dep describer so filtering needs to happen while attribute information still exists).
PiperOrigin-RevId: 178411882
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's possible for a change in the configuration to result in multiple
visits to a particular target, but as long as each visit has a unique
configuration (relative to other visits to that target) and the cycle
is eventually broken (i.e., one of the targets in the cycle does not
depend on the next target in the cycle if the configuration satisfies
some property), this is perfectly buildable.
Or, in other words, it's okay to have a cycle in the target graph as
long as it is not also a cycle in the _configured_ target graph.
This test is to confirm this property.
RELNOTES: None.
PiperOrigin-RevId: 178303838
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 178074510
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 177965330
|
|
|
|
|
|
|
| |
RELNOTES:
First argument of 'load' must be a label. Path syntax is removed.
(label should start with '//' or ':').
PiperOrigin-RevId: 177802628
|
|
|
|
| |
PiperOrigin-RevId: 177708823
|
|
|
|
|
|
|
| |
Debug messages (generated with Skylark's `print` function) used to be filtered out by the output filter: if such messages are generated during the analysis phase in a package different to the target package (e.g. if a user builds //foo:foo and the message is generated in a dependency //bar:bar), the message are not shown by default, which makes an erroneous impression that the code for //bar:bar hasn't been executed at all and interferes with debugging. Now the output filter doesn't affect debug messages at all.
RELNOTES: Debug messages generated by `print()` are not being filtered out by --output_filter anymore, it's recommended not to use them in production code.
PiperOrigin-RevId: 177431255
|
|
|
|
|
|
|
| |
This key context can be used by actions to share partial key computations, for instance when computing MD5s for nested sets.
RELNOTES: None
PiperOrigin-RevId: 177359607
|
|
|
|
| |
PiperOrigin-RevId: 177339358
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 177332323
|
|
|
|
|
|
| |
It'd be nice to go further and break out a bunch of this code into more generally useful places (especially for callers that don't care about aspects). But that's a big mess and beyond the scope of what I'm aiming for here.
PiperOrigin-RevId: 177307854
|
|
|
|
|
|
|
|
| |
- Support custom ancestors and rule implementations.
- Refactor defaults into MockRuleDefaults.
- More thorough documentation.
PiperOrigin-RevId: 177303642
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
instead of assuming BUILD.
- Default the list to the same value as PackageLookupFunction:
BUILD.bazel, BUILD.
- Move BuildFileNames to the packages package, so it is more generally
available.
Part of #4056.
Change-Id: Ie12512b492cd7d47a9e56ec3bc209f829feaf4b5
PiperOrigin-RevId: 177261295
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Tickles the shell integration test version of b/35042288
*** Original change description ***
Change BlacklistedPackagesPrefixesFunction to take a pair of a hardcoded set of directories and a file path containing more directories to blacklist. The current usage of PrecomputedValue#BLACKLISTED_PACKAGE_PREFIXES_FILE is overly general and is only meaningfully used by unit tests; in practice, the blacklist file path can never change over the lifetime of the Bazel server. Perform a minor simplifying refactor as a result of this.
RELNOTES: None.
PiperOrigin-RevId: 177176068
|
|
|
|
|
|
|
| |
of directories and a file path containing more directories to blacklist. The current usage of PrecomputedValue#BLACKLISTED_PACKAGE_PREFIXES_FILE is overly general and is only meaningfully used by unit tests; in practice, the blacklist file path can never change over the lifetime of the Bazel server. Perform a minor simplifying refactor as a result of this.
RELNOTES: None.
PiperOrigin-RevId: 177164057
|
|
|
|
|
|
|
| |
CcToolchainProvider. Toolchain information must be removed from
CppConfiguration to allow the c++ rules to use hermetic platforms.
PiperOrigin-RevId: 177163880
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Stop using LocationExpander.Options in
LocationExpander constructors, because the Options
semantics are confusing.
I also need the refactoring in order to extend the
expansion semantics: to support expanding to
absolute paths on Windows, where $(location)
should not expand to the (non-existent) runfiles
path, but to the absolute path the runfiles
symlink would point to.
See https://github.com/bazelbuild/bazel/issues/4171
Change-Id: Ie4d47ec3807bc3c6e39156efa1746b666f69f99c
PiperOrigin-RevId: 177147372
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 176643685
|
|
|
|
|
|
|
|
|
|
| |
This is needed for the ability to synthesize the correct remote
execution protos from a platform rule.
Part of #4128.
Change-Id: I7fa8acf45642a4df4e2beb1ba9c57c2536670486
PiperOrigin-RevId: 176504885
|
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 176109497
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks Google-internal targets, sadly.
*** Original change description ***
Ban middlemen from runfiles artifacts.
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.
Cha...
***
RELNOTES: None.
PiperOrigin-RevId: 175650018
|
|
|
|
|
|
|
| |
GITHUB: #903
RELNOTES: None.
PiperOrigin-RevId: 175600267
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
memory-saving non-incremental mode independent of --batch and --discard_analysis_cache.
A command run with --nokeep_incrementality_data will discard data that would be needed for incremental builds. Subsequent commands can be sent to the same server, but they will not get the benefit of incrementality from this command. However, if --keep_incrementality_data is specified on a subsequent command, the commands after that will get the benefits of incrementality.
There are two benefits to not being dependent on --batch. First, this allows Bazel servers to be run in extreme memory-saving mode without the startup penalties (JVM startup, JITting) that --batch execution imposes. Second, this allows Bazel developers to inspect the state of a Bazel server after an extreme memory-saving build.
In order to avoid discarding data unnecessarily (for instance, on a "bazel info used-heap-size-after-gc" or "bazel dump --skyframe=summary") the actual resetting of the graph is done lazily, right before its use in SequencedSkyframeExecutor#sync. This is morally a partial rollback of https://github.com/bazelbuild/bazel/commit/98cd82cbdcac7c48164a611c5a9aa8fc2f1720ef.
For now, our tests specify all of the flags. After this change sticks, I plan to get rid of the --batch flag from these tests, which should allow for some clean-ups. Eventually --batch and --discard_analysis_cache may not imply that we don't keep incremental state: we can require that it be specified explicitly.
PiperOrigin-RevId: 175335075
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** 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
|
|
|
|
|
|
| |
#getSolibDirectory to CcToolchainProvider.
PiperOrigin-RevId: 174032021
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Make variables provider.
RELNOTES: None.
PiperOrigin-RevId: 173527191
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This requires polluting Runfiles and RuleConfiguredTargetBuilder with
some custom infrastructure to lift a py_binary runfiles middleman into
the FilesToRunProviders and output groups of its reverse
dependency. That can all go away when the
--experimental_build_transitive_python_runfiles transition is
complete.
This is another step towards https://bazel-review.googlesource.com/c/bazel/+/14010.
Change-Id: Ib750d72d4be42324c8edec485707480690b9fc9c
PiperOrigin-RevId: 173514090
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: 173508888
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
AppleConfiguration.Loader.
This is a roll-forward of https://github.com/bazelbuild/bazel/commit/f9a379157d1e992390c5b6f0b75ef853e0870689, which was rolled back in https://github.com/bazelbuild/bazel/commit/0446714686119dd97f8d1f99290f98db91a65e44.
Fixes #3424 (again!)
RELNOTES[INC]: Selecting on "xcode_version" and
"{ios,tvos,macos,watchos}_sdk_version" is not supported anymore. What was config_setting(values={"$FOO_version": $VALUE}) is now config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_versi...
PiperOrigin-RevId: 173505814
|
|
|
|
|
|
|
|
|
|
|
| |
There is a MacOS integration test that checks that we're trimming before
looking up labels, but it only checks for genrules, which aren't using this
code path yet.
This was changed in https://github.com/bazelbuild/bazel/commit/1a8d6b888ce532f5e053ecab37874740ce61e37f and we could see breakages in non-genrule
usage if a release picks up that change but not this.
PiperOrigin-RevId: 173393718
|
|
|
|
|
|
|
| |
Rewrite the Expander to use the new functionality; also rewrite the Skylark
expand_location function to use it.
PiperOrigin-RevId: 173280839
|