| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
Due to some of the vagaries of skylark and multiple entry points, the databinding context is currently updated by the parse action.
RELNOTES: None
PiperOrigin-RevId: 207333111
|
|
|
|
|
|
|
| |
binding processing pipeline.
RELNOTES: None
PiperOrigin-RevId: 207312398
|
|
|
|
|
|
|
| |
It is possible to create duplicate artifacts with different owners, so we have to tolerate this when uploading files.
RELNOTES: None
PiperOrigin-RevId: 207302014
|
|
|
|
|
|
|
|
|
| |
* Refactor Chunker constructor to a builder to reduce constructor overload.
* Pass digest into this where we have it
* Redo ensureInputsPresent to not lose the missing digests during processing so we can pass them to the Chunker constructor.
RELNOTES: None
PiperOrigin-RevId: 207297915
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It provides a number of features that we want and whose combination cannot be
accomplished using the standard FileHandler:
* Using a different filename per server process, by putting a timestamp and
process ID in the filename. This means Bazel will no longer overwrite its
log when the server is restarted, making it easier for developers and
maintainers to diagnose issues.
* Putting the hostname and username in the filename (useful when running on a
shared network filesystem).
* Automatically setting a symlink to the latest log file, ensuring that the
latest log can still be found under the usual Bazel server log path.
* Providing an API for getting the filename of the current log file, for use
by Bazel itself.
* Cleaning up old log files when their total size exceeds a set limit.
This commit only introduces the handler; its usage in Bazel will be enabled by
a follow-up commit.
RELNOTES: None.
PiperOrigin-RevId: 207274587
|
|
|
|
|
|
|
|
| |
This uses SkylarkSemantics now instead of the C++ configuration. The flag is:
--experimental_cc_skylark_api_enabled_packages
RELNOTES:none
PiperOrigin-RevId: 207235431
|
|
|
|
|
|
|
|
| |
There is only one argument, so this shouldn't affect Python 2.
Closes #5653.
PiperOrigin-RevId: 207200473
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old list was, in order:
- %workspace%/tools/bazel.rc (unless --nomaster_bazelrc)
- %binary_dir%/bazel.bazelrc (unless --nomaster_bazelrc)
- system rc, /etc/bazel.bazelrc or in %ProgramData% for Windows (unless --nomaster_bazelrc)
- the first of the following gets called the "user" bazelrc
- path passed by flag --bazelrc
- %workspace%/.bazelrc
- $HOME/.bazelrc
The new list is hopefully a bit more consistent, as:
- system rc (unless --nosystem_rc)
- workspace, %workspace%/.bazelrc (unless --noworkspace_rc)
- user, $HOME/.bazelrc (unless --nohome_rc)
- command-line provided, passed as --bazelrc or nothing if the flag is absent.
This list removes two less than useful locations, duplication in the Workspace directory, and the rc next to the bazel binary. This location made sense at Google but is generally nonsensical elsewhere so we are removing it. It also stops the user local rc file from being overriden by passing in a custom file in --bazelrc.
In both old and new, --ignore_all_rc_files disables all of the above.
For a transition period, any file that you would have loaded but was not read will cause a WARNING to be printed. If you want the old file to still be read without moving its location, you can always import it into one of the new standard locations, or create a symlink.
Closes #4502, except for cleanup to remove the warning after a transition period of 1 Bazel version has passed.
RELNOTES[INC]: New bazelrc file list.
PiperOrigin-RevId: 207189212
|
|
|
|
|
|
|
| |
At the moment, an identity path resolver is passed. This will later be replaced by a contextual path resolver.
RELNOTES: None
PiperOrigin-RevId: 207138772
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 207137932
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When --trim_test_configuration is on and the only options which have changed
are from the (trimmed) TestOptions (not counting trim_test_configuration itself),
preserve the analysis cache rather than dropping it all.
This means that as long as no non-test options change, non-test rules will
not need to be reanalyzed. This also applies to test rules which were
analyzed with this configuration since the last time non-test options changed.
For example:
--test_arg=A //test (//test and its dependencies are analyzed)
--test_arg=B //test (only //test is reanalyzed)
--test_arg=A //test (no reanalysis needed)
--test_arg=A --define=Test=A //test (full reanalysis)
--test_arg=A //test (full reanalysis)
RELNOTES: None.
PiperOrigin-RevId: 207105915
|
|
|
|
|
|
| |
RELNOTES[NEW]: The aquery command now supports --output=text.
PiperOrigin-RevId: 207096607
|
|
|
|
|
|
|
|
| |
Otherwise Docker will not be able to read the configuration of the current user and might fail to download containers from registries that require authentication.
Closes #5721.
PiperOrigin-RevId: 207094268
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add support for tree artifacts (ctx.action.declare_directory(...)) in
runfiles. Before this change we would throw away the information
about the files inside a tree artifact before executing an action.
That's fine for local execution where the sandbox just copies/symlinks
a directory and doesn't care much what's inside. However, in remote
execution we actually need to upload each individual file and so
we need to be aware of all individual files not just directories.
This change makes it so that this information is made available to a
SpawnRunner via the SpawnInputExpander.
RELNOTES: None
PiperOrigin-RevId: 207091668
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks FDO builds, see http://b/112112125
*** Original change description ***
Remove PerActionFileCache
Instead, make ActionMetadataHandler implement the MetadataProvider interface.
This fixes an issue where an action that runs two spawns where one depends on
an output of the other was unable to get the metadata for the intermediate
output.
We don't currently have actions that do this, but we will have in a future
change (which will also implicitly act as a regression test).
PiperOrigin-RevId: 207084179
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a new PrepareAnalysisPhaseFunction, which started out as a copy of
some existing code from SkyframeExecutor, BuildView, AnalysisPhaseRunner,
AnalysisUtils, and ConfigurationResolver, which was then modified to work
inside Skyframe.
Most of our tests already work with the new code, except for some of the tests
related to configuration trimming in combination with dependency cycles. The
reason for this is that we can only recover from dependency cycles at the end
of a Skyframe invocation, but never inside a Skyframe invocation. The new code
therefore cannot return partial results like the old code.
This seems to make null builds a bit faster. In my testing, I saw null build
times for a single test target go from ~50ms to ~40ms. This is probably due to
slightly better caching - it seems that computing the configuration transitions
and top-level targets is non-negligible, even if there's only a single
top-level configuration for a single top-level target.
This might be an even bigger win if there are a lot of top-level targets and
configurations.
PiperOrigin-RevId: 207083192
|
|
|
|
|
|
|
| |
through JavaInfo, instead of returning them also through ConfiguredTarget. Since these providers can not be found in ConfiguredTarget anymore they have to be retrieved from JavaInfo instead.
RELNOTES: None.
PiperOrigin-RevId: 207068520
|
|
|
|
|
|
|
|
|
| |
We continue to support the jvm property -Dbazel.DigestFunction, for backwards compatibility, but this will go away. The startup-option is marked experimental for now as we iron out issues. (note: leaving this out of release notes until the experimental tag is removed)
As part of this refactor, the default constructor calls for FileSystem and derived classes will now use this default. This should remove the need for constructors that accept custom hash functions.
RELNOTES: None.
PiperOrigin-RevId: 207035217
|
|
|
|
|
|
|
|
|
| |
--experimental_enable_tools_defaults_package flipped to
false
RELNOTES:none
PiperOrigin-RevId: 206982558
|
|
|
|
|
|
|
| |
If the output artifact is backed by a different file system then we need to use that file system later.
RELNOTES: None
PiperOrigin-RevId: 206981369
|
|
|
|
|
|
|
| |
Previously, two successive builds of targets A and B would fail if the two sets had conflicting actions. Now, only fail such builds if the targets from the current build has action conflicts.
RELNOTES: None
PiperOrigin-RevId: 206974011
|
|
|
|
|
|
|
|
| |
out of it.
Setting up the package cache is necessary for proper loading. In the future, BuildConfiguration.Option options will be targets that need to be loaded in order to be parsed. Thus, we will need to be able to do loading before BuildConfiguration.Options are parsed.
PiperOrigin-RevId: 206964473
|
|
|
|
|
|
|
|
|
|
|
| |
logging is turned off.
WARNINGs, ERRORs, and simple USER messages get printed to stderr when debug logging is disabled, which it is by default. However, before this change, these were lost if they were sent to BAZEL_LOG before Bazel knew whether or not debug logging was requested. This fixes that by maintaining separate buffers, and dumping only the appropriate one to stderr once we know whether or not it is wanted.
Maintaining the separate buffer also allows for it to be easy to, in the future, allow logging to multiple places, if we are logging details to a file and user-level details to stderr, for example.
RELNOTES: None.
PiperOrigin-RevId: 206960686
|
|
|
|
|
|
|
|
|
| |
Keep the usage of Streams in place.
Keep the test in place, updated it with the new expected values.
Only removed the neverlink filter.
RELNOTES: none.
PiperOrigin-RevId: 206951071
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Necessary for []
*** Original change description ***
Return Java providers only once
through JavaInfo, instead of returning them also through ConfiguredTarget. Since these providers can not be found in ConfiguredTarget anymore they have to be retrieved from JavaInfo instead.
RELNOTES: None.
PiperOrigin-RevId: 206915058
|
|
|
|
|
|
|
| |
are not provided.
RELNOTES: none.
PiperOrigin-RevId: 206768891
|
|
|
|
|
| |
RELNOTES:none
PiperOrigin-RevId: 206767138
|
|
|
|
|
|
|
| |
bazel-toolchains.
RELNOTES: None.
PiperOrigin-RevId: 206766616
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 206765416
|
|
|
|
|
| |
RELNOTES: none.
PiperOrigin-RevId: 206760974
|
|
|
|
|
|
|
|
| |
Replaced reference to //tools/defaults:crosstool by //tools/cpp:crosstool.
Added Target //tools/cpp:crosstool to base test environment setup.
RELNOTES:none
PiperOrigin-RevId: 206747334
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Hi,
This PR is for additional work to get the tests running correctly on Aarch64. One key issue was that the default embedded jvm used by default was X86_64 and does not work on other architectures.
To support this I have added a new constraint, however I will refine this in case a version of Darwin becomes available on aarch64.
I'll do the work to find a good arm32 toolchain in a future CL. I do not have access for ppc or z390 to repair those architectures.
Either way, hope this is good for you.
Closes #5525.
PiperOrigin-RevId: 206717726
|
|
|
|
|
| |
RELNOTES: none.
PiperOrigin-RevId: 206717454
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
testenv.sh no longer runs "bazel info bazel-bin"
and "bazel info bazel-genfiles", because the only
test that needs this information is
bazel_sandboxing_test.sh
This saves 1-2 seconds on Windows in every shell
test setup.
Also, on Windows we can safely run Bazel in a
subshell since https://github.com/bazelbuild/bazel/issues/3148 is fixed.
Change-Id: If9873221d536f1acfd4849afbfc83b94311de2bd
Closes #5707.
Change-Id: I04e37c4d5f794017a6050253d8d1b8a8ac43a6d1
PiperOrigin-RevId: 206714921
|
|
|
|
|
|
|
| |
there are rule errors.
RELNOTES: None.
PiperOrigin-RevId: 206652580
|
|
|
|
| |
PiperOrigin-RevId: 206642715
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Concerns were raised about this breaking change, so rolling back to be safe.
*** Original change description ***
Throw a rule error when a skylark rule implementation returns multiple providers of the same type.
RELNOTES: A rule error is now thrown if a Skylark rule implementation function returns multiple providers of the same type.
PiperOrigin-RevId: 206629186
|
|
|
|
|
|
| |
full mapping unless requested. This gets rid of any performance issue for the vast majority of builds. Second, if requested, use a custom data structure so that we don't have to create a full HashSet for artifacts whose only owning labels are their own owner labels.
PiperOrigin-RevId: 206610370
|
|
|
|
|
|
|
| |
through JavaInfo, instead of returning them also through ConfiguredTarget. Since these providers can not be found in ConfiguredTarget anymore they have to be retrieved from JavaInfo instead.
RELNOTES: None.
PiperOrigin-RevId: 206585413
|
|
|
|
|
|
|
| |
that it can be accessed in Skylark. One example where this is used is in Android IDL processing where the manifestProtoOutput is used to split out the Android IDL generated Java classes from the overarching outputJar produced by the android_library rule.
RELNOTES: none
PiperOrigin-RevId: 206580880
|
|
|
|
|
|
|
|
|
| |
RELNOTES: When using Bazel's remote execution feature and Bazel has to
fallback to local execution for an action, Bazel used non-sandboxed
local execution until now. From this release on, you can use the new
flag --remote_local_fallback_strategy=<strategy> to tell Bazel which
strategy to use in that case.
PiperOrigin-RevId: 206566380
|
|
|
|
| |
PiperOrigin-RevId: 206564363
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
//src/test/shell/integration:execution_phase_tests
now runs on Windows.
See https://github.com/bazelbuild/bazel/issues/4292
Change-Id: Ia46f26d7fa428cc17cd6988859d427165174fe29
Closes #5688.
Change-Id: I5d001825431e8a0ee7d2ce6be911544b72c3bdd2
PiperOrigin-RevId: 206560081
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
//src/test/shell/integration:startup_options_tests
now runs on Windows.
See https://github.com/bazelbuild/bazel/issues/4292
Change-Id: I255b227f7b6b788f21b45b743e7065a646252a36
Closes #5706.
Change-Id: Ibee4997783a820858fc2d2bdda02082a91385d0e
PiperOrigin-RevId: 206551029
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
//src/test/shell/integration:experimental_ui_test
now runs on Windows.
See https://github.com/bazelbuild/bazel/issues/4292
Change-Id: I7997e8a2e8dce9377c0326b9ed3f6c55a09b2708
Closes #5690.
Change-Id: I7997e8a2e8dce9377c0326b9ed3f6c55a09b2708
PiperOrigin-RevId: 206535860
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
//src/test/shell/integration:loading_phase_tests
now runs on Windows.
The inherently incompatible parts of the test are
now in
//src/test/shell/integration:loading_phase_posix_tests
See https://github.com/bazelbuild/bazel/issues/4292
Change-Id: I90db31449e72aed2138916eed6289bcc20af5cae
Closes #5685.
Change-Id: I38727aed1b548ec8b566f99551e63cceac78180b
PiperOrigin-RevId: 206533515
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
honored when creating the host platform.
Fixes #5695.
Change-Id: Iaa99c8189421893440e5e5140450c70de69d7b86
Closes #5696.
Change-Id: Iaa99c8189421893440e5e5140450c70de69d7b86
PiperOrigin-RevId: 206371468
|
|
|
|
|
|
|
| |
providers of the same type.
RELNOTES: A rule error is now thrown if a Skylark rule implementation function returns multiple providers of the same type.
PiperOrigin-RevId: 206371385
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Go back to the default constructor - instead of requiring everywhere to know the correct hash function, we'll have the default rely on global state. It will make transition easier, even if it makes the origin of the hash less obvious.
*** Original change description ***
Remove default MD5 in most of Bazel's virtual filesystems.
This forces the ex-default to be explicit in a lot of tests, but I'd rather that than have the risk of implicit md5-use in production code.
To keep this CL smaller, do not remove the default from UnixFS quite yet.
RELNOTES: None.
PiperOrigin-RevId: 206358838
|