| Commit message (Collapse) | Author | Age |
... | |
|
|
|
| |
PiperOrigin-RevId: 199126212
|
|
|
|
|
|
|
| |
Next step will be to skip token allocation.
RELNOTES: None.
PiperOrigin-RevId: 199121625
|
|
|
|
| |
PiperOrigin-RevId: 199118944
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 199115199
|
|
|
|
|
|
|
| |
It doesn't use CcLinkParamsStore and CppLinkAction directly anymore.
RELNOTES:none
PiperOrigin-RevId: 199107747
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL is a followup to c868c47. It is
intended to fix #5296. The immediate
problem in that issue is that remote caching finds a tree artifact in an input
runfiles tree without metadata in the cache. The metadata isn't there because
the runfiles artifacts are now all behind a middleman action, and
ArtifactFunction didn't propagate tree artifact values through middlemen. This
change fixes the problem by adding a tree artifact's self data value to the
values carried through to dependent actions.
Remote caching with tree artifact inputs seems to have been working mostly by
accident. (Evidence: it wasn't tested, and remote execution of actions with tree
artifact inputs results a Java traceback before and after
c868c47.) This CL is only really a bandaid to
return to the old "working" state. If remote execution wants to start supporting
tree artifacts properly in the future, we'll likely need to carry the tree
artifact child data through middleman actions, too.
Closes #5299.
Change-Id: I2e07d4fca0f6d2d34d97b7edb27f9d0063776225
PiperOrigin-RevId: 199079382
|
|
|
|
| |
PiperOrigin-RevId: 199007753
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change introduces concurrent downloads of action outputs
for remote caching/execution. So far, for an action we would
download one output after the other which isn't as bad as it
sounds as we would typically run dozens or hundreds of actions
in parallel. However, for actions with a lot of outputs or graphs
that allow limited parallelism we expect this change to positively
impact performance.
Note, that with this change the AbstractRemoteActionCache will
attempt to always download all outputs concurrently. The actual
parallelism is controlled by the underlying network transport.
The gRPC transport currently enforces no limits on the concurrent
calls, which should be fine given that all calls are multiplexed
on a single network connection. The HTTP/1.1 transport also
enforces no parallelism by default, but I have added the
--remote_max_connections=INT flag which allows to specify an upper
bound on the number of network connections to be open concurrently.
I have introduced this flag as a defensive mechanism for users
who's environment might enforce an upper bound on the number of open
connections, as with this change its possible for the number of
concurrently open connections to dramatically increase (from
NumParallelActions to NumParallelActions * SumParallelActionOutputs).
A side effect of this change is that it puts the infrastructure
for retries and circuit breaking for the HttpBlobStore in place.
RELNOTES: None
PiperOrigin-RevId: 199005510
|
|
|
|
|
|
|
|
|
|
| |
Supporting tools in inputs introduces a slow linear scan. Such tools should be moved to the 'tools' attribute. If --incompatible_no_support_tools_in_action_inputs is set the inputs are scanned, but a helpful error message is issued to the user.
Eventually we will remove the slow scanning. Errors will surface in the execution phase instead of during analysis, and the resulting error messages will be less obvious.
RELNOTES: None
RELNOTES[INC]: With --incompatible_no_support_tools_in_action_inputs enabled, Skylark action inputs are no longer scanned for tools. Move any such inputs to the newly introduced 'tools' attribute.
PiperOrigin-RevId: 198996093
|
|
|
|
|
|
|
| |
Always generating source jars can lead to action conflicts.
RELNOTES: None
PiperOrigin-RevId: 198994272
|
|
|
|
|
|
| |
Actual class to be removed in a later change.
PiperOrigin-RevId: 198937695
|
|
|
|
|
|
|
|
| |
If multiple trimming transition factories are added, they are composed in
the order they were added.
RELNOTES: None.
PiperOrigin-RevId: 198934666
|
|
|
|
|
|
|
| |
This serves a regression test of a previous breakage which broke SkylarkCallable method of FilesToRunProvider.
RELNOTES: None.
PiperOrigin-RevId: 198915920
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 198911668
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 198906931
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 198906068
|
|
|
|
|
|
|
| |
Cut and paste errors left references to lower in descriptions.
RELNOTES: None.
PiperOrigin-RevId: 198903374
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes #4381
Without layoutlib 26+, this test is expected to fail with:
```
ERROR: /private/var/tmp/_bazel_jin/ed227ac31d5e65f9c3effb1d1fe2605e/sandbox/4960637019899260266/execroot/io_bazel/_tmp/845372d54b28cdaedc66e35385e5009a/workspace.u0NdZr9w/java/bazel/BUILD:14:22: in resource_files attribute of android_binary rule //java/bazel:bin: 'java/bazel/res/font/Roboto.ttf' is not in the expected resource directory structure of <resource directory>/{anim,animator,color,drawable,interpolator,layout,menu,mipmap,raw,transition,values,xml}/<file>
ERROR: Analysis of target '//java/bazel:bin' failed; build aborted: Analysis of target '//java/bazel:bin' failed; build aborted
INFO: Elapsed time: 26.248s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (36 packages loaded)
```
We will first need to upgrade the layoutlib jar in `//third_party/android_common` to 26+, rebase, then merge this set of tests.
Closes #5287.
Change-Id: Icad80e7e40df4ff6d2fc3373d37cfd9972e8d400
PiperOrigin-RevId: 198893525
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 198882702
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 198880301
|
|
|
|
|
|
| |
nodes in ConfiguredTargetQueryEnvironemnt. This lets us support recursive target patterns with cquery.
PiperOrigin-RevId: 198879650
|
|
|
|
| |
PiperOrigin-RevId: 198877280
|
|
|
|
|
|
|
|
|
|
|
| |
java_common.compile doesn't generate the output source jar when a source jar is
the only input for the compilation. This is wrong because the source jar can
include APT generated sources. It is also inconsistent with java_library and
leads to inconsistent Skylark rules where a declared output will not always have a
generating action.
RELNOTES: None.
PiperOrigin-RevId: 198872718
|
|
|
|
|
|
|
|
| |
As the list of external repositories with their resolved information can
grow quite large, pretty print it, to make it easier for humans to inspect.
Change-Id: I34b2d6df84e52c07471a0bfaf97994cabd45feff
PiperOrigin-RevId: 198871353
|
|
|
|
|
|
|
| |
Fixes #5090
RELNOTES: NONE.
PiperOrigin-RevId: 198870918
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Baseline: 5c3f5c9be7fa40d4fb3c35756891fab8483ca406
Cherry picks:
+ f96f037f8f77335dc444844abcc31a372a3e1849:
Windows, Java launcher: Support jar files under different drives
+ ff8162d01409db34893de98bd840a51c5f13e257:
sh_configure.bzl: FreeBSD is also a known platform
+ 7092ed324137f03fcd34856bdb0595a1bdec3069:
Remove unneeded exec_compatible_with from local_sh_toolchain
+ 57bc201346e61c62a921c1cbf32ad24f185c10c9:
Do not autodetect C++ toolchain when
BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1 is present
+ 35a78c09cf2fbfc3de9c124d2142e3d72aac4348:
remote: recursively delete incomplete downloaded output
directory.
+ 3c9cd82b847f3ece8ec04b2029bd5e8ad0eb7502:
distfile: pack the archives needed later in the build
+ 27487c77387e457df18be3b6833697096d074eab:
Slightly refactor SpawnAction to improve env handling
+ 1b333a2c37add9d04fe5bc5258ee4f73c93115e2:
Fix Cpp{Compile,Link}Action environment and cache key computation
+ 3da8929963e9c70dff5d8859d6e988e6e7f4f9d7:
Make SymlinkTreeAction properly use the configuration's
environment
+ eca7b81cf8cc51e1fe56e5ed7d4ad5cd1668a17a:
Add a missing dependency from checker framework dataflow to
javacutils
Incompatible changes:
- Add --incompatible_disallow_legacy_javainfo flag.
- Added flag --incompatible_disallow_old_style_args_add to help
migrate from args.add() to args.add_all() / args.add_joined()
where appropriate.
New features:
- Bash,runfiles: use the new platform-independent library in
`@bazel_tools//tools/bash/runfiles` to access runfiles
(data-dependencies). See
https://github.com/bazelbuild/bazel/blob/master/tools/bash/runfile
s/runfiles.bash for usage information.
- TemplateVariableInfo can now be constructed from Skylark.
- The java_host_runtime_alias rule is now implemented in Java.
Important changes:
- Flip default value of --experimental_shortened_obj_file_path to
true, Bazel now generates short object file path by default.
- Introduce fdo_profile rule that allows architecture-sensitive
specification of fdo profiles.
- canonicalize-flags no longer reorders the flags
- CppRules: optional_compiler_flag was removed from CROSSTOOL, use
features instead.
- Labels of the form ////foo are disallowed.
- The `/` operator is deprecated in favor of `//` (floor integer
division).
Try the `--incompatible_disallow_slash_operator` flag to ensure
your code
is forward-compatible.
- Flip default value of --experimental_shortened_obj_file_path to
true, Bazel now generates short object file path by default.
- Exposed "mnemonic" and "env" fields on skylark "Action" objects.
- Removed flag `--incompatible_disallow_toplevel_if_statement`.
- Remove vestigial 'deps' and 'data' attributes from
proto_lang_toolchain
- Args objects (ctx.actions.args()) have new methods add_all() and
add_joined() for building command lines using depsets.
- `FileType` is deprecated and will be removed soon.
Try the `--incompatible_disallow_filetype` flag to ensure your
code
is forward-compatible.
- Introduce absolute_path_profile attribute that allows fdo_profile
to accept absolute paths.
- Support two-arg overloads for ctx.actions.args (eg.
args.add("--foo", val))
- Introduce 'tools' attribute to ctx.actions.run.
- Fixed error message for proguard_apply_dictionary.
- "bazel run" now lets one run interactive binaries. The
BUILD_WORKSPACE_DIRECTORY and BUILD_WORKING_DIRECTORY environment
variables indicate the working directory and the workspace root
of the Bazel invocation. Tests are provided with an approximation
of the official test environment.
- repository rules are no longer restricted to return None.
- Add --high_priority_workers flag.
- CppRules: Feature configuration can be created from Skylark
- Adds new-style JavaInfo provider constructor.
- Make java_common.compile now uses java_toolchain javacopts by
default; explicitly retrieving them using
java_common.default_javac_opts is unnecessary.
- CppRules: C++ command lines and env variables for C++ actions can
be retrieved from feature configuration.
- Skylark rule definitions may advertise providers that targets of
the rule must propagate.
- Bazel now supports running actions inside Docker containers.
To use this feature, run "bazel build --spawn_strategy=docker
--experimental_docker_image=myimage:latest".
- Remote execution works for Windows binaries with launchers.
- Fixing start/end lib expansion for linking. There were many cases
where archive files were still being used with toolchains that
support start/end lib. This change consolidates the places that
make that decision so they can be more consistent.
- Add support for reporting an error if
android_test.binary_under_test contains incompatible versions of
deps
- We replaced the --experimental_local_disk_cache and
--experimental_local_disk_cache_path flags into a single
--disk_cache flag. Additionally, Bazel now tries to create the disk cache
directory if it doesn't exist.
- Save Blaze memory by not storing LinkerInput objects in
LinkCommandLine
- In the JavaInfo created by java_common.create_provider now
includes both direct and transitive arguments in
transitive_compile_time_jars and transitive_runtime_jars
- Allow --worker_max_instances to take MnemonicName=value to
specify max for each worker.
- Allow java_toolchain.header_compiler to be an arbitrary executable
|
|
|
|
| |
This reverts commit 2269ee2af91b7df13820381d61e8e4e26a257b3a.
|
|
|
|
|
|
| |
No longer needed since proto_library cannot be used for Java.
PiperOrigin-RevId: 198859993
|
|
|
|
|
|
| |
This CL aslo enables a presubmit check for correct formatting of all bzl files in //third_party/bazel.
PiperOrigin-RevId: 198857055
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Baseline: 5c3f5c9be7fa40d4fb3c35756891fab8483ca406
Cherry picks:
+ f96f037f8f77335dc444844abcc31a372a3e1849:
Windows, Java launcher: Support jar files under different drives
+ ff8162d01409db34893de98bd840a51c5f13e257:
sh_configure.bzl: FreeBSD is also a known platform
+ 7092ed324137f03fcd34856bdb0595a1bdec3069:
Remove unneeded exec_compatible_with from local_sh_toolchain
+ 57bc201346e61c62a921c1cbf32ad24f185c10c9:
Do not autodetect C++ toolchain when
BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1 is present
+ 35a78c09cf2fbfc3de9c124d2142e3d72aac4348:
remote: recursively delete incomplete downloaded output
directory.
+ 3c9cd82b847f3ece8ec04b2029bd5e8ad0eb7502:
distfile: pack the archives needed later in the build
+ 27487c77387e457df18be3b6833697096d074eab:
Slightly refactor SpawnAction to improve env handling
+ 1b333a2c37add9d04fe5bc5258ee4f73c93115e2:
Fix Cpp{Compile,Link}Action environment and cache key computation
+ 3da8929963e9c70dff5d8859d6e988e6e7f4f9d7:
Make SymlinkTreeAction properly use the configuration's
environment
+ eca7b81cf8cc51e1fe56e5ed7d4ad5cd1668a17a:
Add a missing dependency from checker framework dataflow to
javacutils
Incompatible changes:
- Add --incompatible_disallow_legacy_javainfo flag.
- Added flag --incompatible_disallow_old_style_args_add to help
migrate from args.add() to args.add_all() / args.add_joined()
where appropriate.
New features:
- Bash,runfiles: use the new platform-independent library in
`@bazel_tools//tools/bash/runfiles` to access runfiles
(data-dependencies). See
https://github.com/bazelbuild/bazel/blob/master/tools/bash/runfile
s/runfiles.bash for usage information.
- TemplateVariableInfo can now be constructed from Skylark.
- The java_host_runtime_alias rule is now implemented in Java.
Important changes:
- Flip default value of --experimental_shortened_obj_file_path to
true, Bazel now generates short object file path by default.
- Introduce fdo_profile rule that allows architecture-sensitive
specification of fdo profiles.
- canonicalize-flags no longer reorders the flags
- CppRules: optional_compiler_flag was removed from CROSSTOOL, use
features instead.
- Labels of the form ////foo are disallowed.
- The `/` operator is deprecated in favor of `//` (floor integer
division).
Try the `--incompatible_disallow_slash_operator` flag to ensure
your code
is forward-compatible.
- Flip default value of --experimental_shortened_obj_file_path to
true, Bazel now generates short object file path by default.
- Exposed "mnemonic" and "env" fields on skylark "Action" objects.
- Removed flag `--incompatible_disallow_toplevel_if_statement`.
- Remove vestigial 'deps' and 'data' attributes from
proto_lang_toolchain
- Args objects (ctx.actions.args()) have new methods add_all() and
add_joined() for building command lines using depsets.
- `FileType` is deprecated and will be removed soon.
Try the `--incompatible_disallow_filetype` flag to ensure your
code
is forward-compatible.
- Introduce absolute_path_profile attribute that allows fdo_profile
to accept absolute paths.
- Support two-arg overloads for ctx.actions.args (eg.
args.add("--foo", val))
- Introduce 'tools' attribute to ctx.actions.run.
- Fixed error message for proguard_apply_dictionary.
- "bazel run" now lets one run interactive binaries. The
BUILD_WORKSPACE_DIRECTORY and BUILD_WORKING_DIRECTORY environment
variables indicate the working directory and the workspace root
of the Bazel invocation. Tests are provided with an approximation
of the official test environment.
- repository rules are no longer restricted to return None.
- Add --high_priority_workers flag.
- CppRules: Feature configuration can be created from Skylark
- Adds new-style JavaInfo provider constructor.
- Make java_common.compile now uses java_toolchain javacopts by
default; explicitly retrieving them using
java_common.default_javac_opts is unnecessary.
- CppRules: C++ command lines and env variables for C++ actions can
be retrieved from feature configuration.
- Skylark rule definitions may advertise providers that targets of
the rule must propagate.
- Bazel now supports running actions inside Docker containers.
To use this feature, run "bazel build --spawn_strategy=docker
--experimental_docker_image=myimage:latest".
- Remote execution works for Windows binaries with launchers.
- Fixing start/end lib expansion for linking. There were many cases
where archive files were still being used with toolchains that
support start/end lib. This change consolidates the places that
make that decision so they can be more consistent.
- Add support for reporting an error if
android_test.binary_under_test contains incompatible versions of
deps
- We replaced the --experimental_local_disk_cache and
--experimental_local_disk_cache_path flags into a single
--disk_cache flag. Additionally, Bazel now tries to create the disk cache
directory if it doesn't exist.
- Save Blaze memory by not storing LinkerInput objects in
LinkCommandLine
- In the JavaInfo created by java_common.create_provider now
includes both direct and transitive arguments in
transitive_compile_time_jars and transitive_runtime_jars
- Allow --worker_max_instances to take MnemonicName=value to
specify max for each worker.
- Allow java_toolchain.header_compiler to be an arbitrary executable
|
|
|
|
|
|
|
|
|
|
|
| |
This test could have prevented https://github.com/bazelbuild/bazel/issues/5300
Change-Id: I02e3b723958c81e0de80f2c2130b583ea4e7f40b
Closes #5310.
Change-Id: I02e3b723958c81e0de80f2c2130b583ea4e7f40b
PiperOrigin-RevId: 198849437
|
|
|
|
|
|
| |
ActionExecutionValue.getAllFileValues.
PiperOrigin-RevId: 198807229
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
unknown commit, we are using the JavaBuilder processor exemption list instead of
disabling strict deps for the affected rules outright. This narrows the degree
to which the exemption is applied, and prevents other strict deps violations
from accruing on targets that enable databinding.
Step 2 of 2; we needed the change to roll out in JavaBuilder first to be able
to fix up issues in the depot first before removing the exemption in Blaze.
See https://github.com/bazelbuild/bazel/commit/7edc5d49c8e764ab2bdf19e3a9fb58ea30fa708f for the original attempt.
PiperOrigin-RevId: 198793976
|
|
|
|
|
|
|
|
| |
I don't know much about most of this code, but there should be no functional
changes.
RELNOTES: none
PiperOrigin-RevId: 198773657
|
|
|
|
|
|
|
| |
We thought we had a test for this, but it turns out we didn't. Add one now.
RELNOTES: none
PiperOrigin-RevId: 198772854
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 198765991
|
|
|
|
|
|
|
| |
Setting --config in .blazerc that overrode previous options in .blazerc was triggering unnecessary warnings. Fixed by only logging warnings when a user attempts to override an option specified on the command line.
RELNOTES: None.
PiperOrigin-RevId: 198756160
|
|
|
|
|
|
|
| |
skylarkbuildapi interface is annotated.
RELNOTES: None.
PiperOrigin-RevId: 198743504
|
|
|
|
|
|
|
|
|
| |
RELNOTES: For Android projects, Bazel now supports building fonts as
resources. See
https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml
for more information on the feature.
Change-Id: I1cb25828b04e98cacc19d3c7a2e23ea764b48e92
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 198735582
|
|
|
|
|
|
| |
attribute.
PiperOrigin-RevId: 198735448
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 198728350
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This prevents an invalid flag like `resources:assets:AndroidManifest.xml:::local.bin` to match, as with the case in https://github.com/bazelbuild/bazel/issues/5214
where the R.txt file is missing (shouldn't happen, but let's be defensive)
Error message:
```
.. invalid DependencyAndroidData: bazel-out/android-armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/_aar/unzipped/resources/support-compat-25.0.0/res:bazel-out/android-armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/_aar/unzipped/assets/support-compat-25.0.0/assets:bazel-out/android-armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-compat-25.0.0_processed_manifest/AndroidManifest.xml:::bazel-out/android-armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-compat-25.0.0_symbols/local.bin is not in the format 'resources[#resources]:assets[#assets]:manifest:r.txt(:symbols.zip?):symbols.bin'
```
RELNOTES: None.
PiperOrigin-RevId: 198724816
|
|
|
|
|
|
| |
and remove unused repositoryName field from BuildConfiguration.
PiperOrigin-RevId: 198723339
|
|
|
|
|
|
|
|
| |
iOS and android now have separated tutorials, fix a dead-link in the documentation
Closes #5298.
PiperOrigin-RevId: 198723211
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 198676014
|
|
|
|
|
|
|
| |
This was a workaround created to deal with duplicated symbol errors, but there are now better ways to avoid them than using this attribute.
RELNOTES: non_propagated_deps has been removed from objc_library and apple_binary.
PiperOrigin-RevId: 198620886
|
|
|
|
|
|
| |
--experimental_one_version_enforcement_use_transitive_jars_for_binary_under_test
PiperOrigin-RevId: 198601057
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 198600493
|
|
|
|
|
|
|
|
| |
* is not an allowed file system character on Windows and checking if it's a
directory or file for the wilcard check would throw an InvalidPathException.
RELNOTES: None
PiperOrigin-RevId: 198595138
|