| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 176643685
|
|
|
|
|
|
|
|
|
| |
Currently we don't care about the list order of SpawnResults. However, we may care about the list order later. Also, if the equals() method for SpawnResults is ever changed then it may be problematic to return SpawnResults in a Set.
Aside: ActionResults use SpawnResults to calculate cumulative execution times for Actions, and may provide other metrics in future.
RELNOTES: None.
PiperOrigin-RevId: 176579460
|
|
|
|
|
|
|
|
|
| |
This is only relevant for things like 'bazel build //...' in workspaces that have a top-level //experimental directory. As such, this hardcoded exclusion is unlikely to be desired, especially by bazel users externally.
Fixes #3822.
RELNOTES: None
PiperOrigin-RevId: 176569346
|
|
|
|
|
|
|
|
|
|
| |
Package specifications can now be prefixed with `-` to
indicate negation: the specification `-//foo/bar/...`
excludes all packages under `//foo/bar` that would otherwise
have been matched.
RELNOTES: Package specifications can now be prefixed with `-` to indicate negation
PiperOrigin-RevId: 176551382
|
|
|
|
|
|
|
|
| |
This will instruct AAPT2 to produce conditional keep rules to allow for more aggressive code and resource shrinking.
RELNOTES[NEW]: Add --experimental_android_resource_cycle_shrinking option to allow for more aggressive code and resource shrinking.
PiperOrigin-RevId: 176530749
|
|
|
|
| |
PiperOrigin-RevId: 176521744
|
|
|
|
|
|
|
| |
It begins to hit the 300s time limit of medium test.
RELNOTES: None
PiperOrigin-RevId: 176511672
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The test case test_failed_actions_with_keep_going was never correct
and only worked by accident: it relied on bazel starting at least
two actions, if for there are at least two where all the dependencies
are already met; however bazel is clever and analyzes the resources
of the system it is running in, and if they are small will only run one
genrule at a time. Fix this by telling it to run 2 actions and lying
about the available resources of the local system.
Also increase the test size and reenable the test for remote execution.
Fixes #3995.
Change-Id: Ic84de17a98a2e74c24901d4efb38d7631de4690a
PiperOrigin-RevId: 176511026
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows a flag_set to emit one flag when a feature is enabled, and a
different flag when that feature is disabled.
And while I was in there, I noticed and fixed a couple other issues:
1. env_set didn't actually implement with_feature, despite having the field in
its proto.
2. action_config implemented with_feature as an optional field, instead of
repeated field.
RELNOTES: None
PiperOrigin-RevId: 176510960
|
|
|
|
|
|
|
|
|
| |
cycles when loading platforms.
Part of #4128.
Change-Id: Ie55a91aaaec15d8eb537f59131fc2e69a8f9c251
PiperOrigin-RevId: 176509311
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Change-Id: I0d77f491422c41831b2840fb7256526f273abbd0
PiperOrigin-RevId: 176502405
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For an action, whenever the status or strategy changes, reset
the timer. In this way, we show the time an action spent in the
current state, rather than the total time the action spent since
started. This might give a better picture of what is currently
going on in the system.
Fixes #4089.
Change-Id: I441337cf2eec58702889ac7a6a9ed150708e8c9d
PiperOrigin-RevId: 176497486
|
|
|
|
|
| |
RELNOTES: none
PiperOrigin-RevId: 176496770
|
|
|
|
|
|
|
|
| |
came from an AbstractParallelEvaluator evaluation. It's against the standard Java contract to throw but still have the thread's interrupted bit set.
Also get rid of some unnecessary initializeTester() calls in MemoizingEvaluatorTest: we already call it via a @Before annotation.
PiperOrigin-RevId: 176496034
|
|
|
|
|
|
|
|
|
|
|
|
| |
The `set` constructor used to be deprecated, but it was still possible to use
it by providing --incompatible_disallow_set_constructor=false.
It's still allowed to have `set` in parts of the code that are not executed, this will be deprecated later. You can check if your code is compatible with this future change by using the flag --incompatible_disallow_uncalled_set_constructor (currently the default is "false").
RELNOTES[INC]: The flag --incompatible_disallow_set_constructor is no longer
available, the deprecated `set` constructor is not available anymore.
PiperOrigin-RevId: 176491641
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is applying the version 1.1 of the specification (https://reproducible-builds.org/specs/source-date-epoch/)
where the only timestamp that Bazel puts in the final targets is overridden by the value of SOURCE_DATE_EPOCH.
This change also remove the legacy SOURCE_DATE_EPOCH handling which wasn't really following
the spec.
Note that Bazel itself tries hard to remove all timestamps from intermediary binaries and
overridde SOURCE_DATE_EPOCH in most action, which is a not according to the version 1.0 of the spec
but according to the expected change for version 1.1.
RELNOTES: SOURCE_DATE_EPOCH (https://reproducible-builds.org/specs/source-date-epoch/) can
be used to override the timestamp used for stamped target (when using --stamp).
Fixes #2240.
Change-Id: I074e7905fa6745cc706f7391340aeae9188909ca
PiperOrigin-RevId: 176489717
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When showing the current actions, the most interesting are those
that are currently being executed, not those that are waiting for
resources or otherwise in the process of being scheduled. Therefore,
show the executing actions at the top of the list. Also add more
visual hints to distinguish executing from non executing actions.
Screenshot
(14:51:21) [160 / 230] 32 actions, 11 running
Compiling lotsofwork/true986.c; 0s linux-sandbox
Compiling lotsofwork/true982.c; 0s linux-sandbox
Compiling lotsofwork/true983.c; 0s linux-sandbox
Executing genrule //lotsofwork:true975_c; 0s linux-sandbox
Compiling lotsofwork/true981.c; 0s linux-sandbox
Linking lotsofwork/true_999; 0s linux-sandbox
Linking lotsofwork/true_996; 0s linux-sandbox
Linking lotsofwork/true_998; 0s linux-sandbox
Compiling lotsofwork/true980.c; 0s linux-sandbox
Compiling lotsofwork/true98.c; 0s linux-sandbox
Executing genrule //lotsofwork:true974_c; 0s linux-sandbox
[Sched] Creating runfiles tree bazel-out/k8-fastbuild/bin/lotsofwork/true_974.runfiles
[Sched] Linking lotsofwork/true_997
[Sched] Linking lotsofwork/true_995
[Sched] Linking lotsofwork/true_99
[Sched] Linking lotsofwork/true_991 ...
Improves on #4089.
Change-Id: I1bc6636d5e53a16151023bba595e38259eb1ac88
PiperOrigin-RevId: 176483192
|
|
|
|
|
|
|
| |
Some flags are relatively immune to repeated mentions, since only the last mention ends up mattering, but in some cases, the values are accumulated. Expanding the same config twice may lead to surprising results, so provide a friendly warning.
RELNOTES: None
PiperOrigin-RevId: 176422758
|
|
|
|
|
| |
RELNOTES: none
PiperOrigin-RevId: 176405273
|
|
|
|
|
|
|
| |
Configs are recursive, but let's be reasonable. If there's an absurdly long list of configs inheritance, warn about it. It is probably unnecessary, and might very well be unintentional and surprising to the user.
RELNOTES: None.
PiperOrigin-RevId: 176405183
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The `set` constructor used to be deprecated, but it was still possible to use
it by providing --incompatible_disallow_set_constructor=false.
It's still allowed to have `set` in parts of the code that are not executed, this will be deprecated later.
RELNOTES[INC]: The deprecated `set` constructor is removed, along with the
migration flag --incompatible_disallow_set_constructor. It is still temporarily
allowed to refer to `set` from within unexecuted code.
PiperOrigin-RevId: 176375859
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
--expand_configs_in_place.
--config options were expanded in a fix-point expansion, where in practice, the flags that --config values expanded to ended up between the normal bazelrc options and the command line's explicit options. Since the options parser has an order-based priority scheme and it accepts multiple mentions of a single-valued option, this conflicts with users' expectations of being able to override these config expansions by using the order in which they are mentioned.
This change makes it possible to expand the config values defined in your bazelrc (or blazerc) files to occur in-place: --stuff --config=something --laterstuff will interpret the options that --config=something expands to as if they had been mentioned explicitly between --stuff and --laterstuff.
In order to not break users relying on complex flag combinations to configure their builds, this behavior will not yet be turned on by default. Instead, use --expand_configs_in_place as a startup flag to test this feature. --announce_rc may be helpful for debugging any differences between the fixed point and in-place expansions. Once you've debugged your problems, add "startup --expand_configs_in_place" to your blazerc to stick to the new behavior.
RELNOTES: Use --expand_configs_in_place as a startup argument to change the order in which --config expansions are interpreted.
PiperOrigin-RevId: 176371289
|
|
|
|
|
|
|
|
|
| |
repository.
Part of #4056.
Change-Id: I4b8e41660b0a135e23aa572bbfeea27a7cda0581
PiperOrigin-RevId: 176362103
|
|
|
|
|
|
|
|
|
|
| |
Fix for #4035
@laszlocsomor
Closes #4110.
PiperOrigin-RevId: 176346381
|
|
|
|
|
|
|
|
| |
platform-based toolchain selection to match legacy behavior.
This is a change over previous behavior in the platform case, which was to throw if either of those attributes is not present. The default_toolchain field in CROSSTOOL gives a mapping from cc_toolchain.cpu values to toolchains - this map should be used with compiler and libc are not specified, as is currently the non-platforms, legacy behavior.
PiperOrigin-RevId: 176246316
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
performance.
Shaves ~30-40 seconds off the critical path. The critical path is now dominated by the NDK test, but that's out of scope for this change. See below for data.
BEFORE:
$ bazel test //src/test/shell/bazel/android:android_integration_test
INFO: Analysed target //src/test/shell/bazel/android:android_integration_test (0 packages loaded).
INFO: Found 1 test target...
[4 / 5] Testing //src/test/shell/bazel/android:android_integration_test; 23s linux-sandbox
Target //src/test/shell/bazel/android:android_integration_test up-to-date:
/tmp/bazel-bin/src/test/shell/bazel/android/android_integration_test
INFO: Elapsed time: 93.696s, Critical Path: 93.37s
INFO: Build completed successfully, 2 total actions
//src/test/shell/bazel/android:android_integration_test PASSED in 93.4s
AFTER:
$ bazel test :all --nocache_test_results
WARNING: The major revision of the Android NDK referenced by android_ndk_repository rule 'androidndk' is 15. The major revisions supported by Bazel are [10, 11, 12, 13, 14]. Defaulting to revision 14.
WARNING: API level 26 specified by android_ndk_repository 'androidndk' is not available. Using latest known API level 25
INFO: Analysed 9 targets (0 packages loaded).
INFO: Found 2 targets and 7 test targets...
INFO: Elapsed time: 106.452s, Critical Path: 105.66s
INFO: Build completed successfully, 8 total actions
//src/test/shell/bazel/android:aidl_integration_test PASSED in 43.9s
//src/test/shell/bazel/android:android_integration_test PASSED in 55.1s
//src/test/shell/bazel/android:android_ndk_integration_test PASSED in 105.6s
//src/test/shell/bazel/android:android_sdk_integration_test PASSED in 68.4s
//src/test/shell/bazel/android:desugarer_integration_test PASSED in 43.9s
//src/test/shell/bazel/android:proguard_integration_test PASSED in 43.7s
//src/test/shell/bazel/android:resources_integration_test PASSED in 51.4s
Executed 7 out of 7 tests: 7 tests pass.
RELNOTES: None.
PiperOrigin-RevId: 176144822
|
|
|
|
|
|
|
|
| |
Designed by
https://docs.google.com/document/d/1hK2mWl3TYNL9oJYX_S020TKkXZvBw1aBoYERvTHVyfg/edit#
Change-Id: I025adf555a9827c55a90acc3f254cbd105e224c6
PiperOrigin-RevId: 176114968
|
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 176109497
|
|
|
|
|
|
|
| |
https://github.com/bazelbuild/bazel/commit/75d8fe1d347b45f4dd808a76c3a73b24f9728284.
RELNOTES: None
PiperOrigin-RevId: 176107565
|
|
|
|
|
|
|
|
|
|
|
| |
Allows .asm files to be included in srcs. ml64.exe is used to create .o files which can later be linked. However, this change will not allow custom flags to be passed to ml64.exe other than /I and /D.
Fixes #3648
Closes #3887.
Change-Id: I42b6ff76d526abed440bb7f0e0ed4cc3812b4893
PiperOrigin-RevId: 176085382
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 176057393
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 176047128
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 176025413
|
|
|
|
|
|
| |
Fixes #1479.
PiperOrigin-RevId: 175979487
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also, add a fake databinding processor target.
Bazel users will need to do something like this:
# WORKSPACE
local_repository(
name = "databinding",
path = "./databinding",
)
bind(
name = "databinding_annotation_processor",
actual = "@databinding//:annotation_processor",
)
# databinding/BUILD
java_plugin(
name = "annotation_processor",
...
)
...
https://github.com/bazelbuild/bazel/issues/2694
RELNOTES: None
PiperOrigin-RevId: 175975110
|
|
|
|
|
|
|
|
|
|
| |
Bazel used to fail the entire build if there is a single error with remote
spawn cache. This could happen on unreliable network or when server is under
load. This change will allow Bazel to fallback to local execution with a
warning.
Change-Id: I0bd41dc862b33a2ab2ab772d8ce9c943476edbf4
PiperOrigin-RevId: 175951699
|
|
|
|
|
|
|
| |
This is not used by ASwB, and it also doesn't make sense to live in AndroidBinary since android_binary does nothing with it's data deps and they should be removed (b/69371443).
RELNOTES: None
PiperOrigin-RevId: 175877850
|
|
|
|
|
| |
RELNOTES: none
PiperOrigin-RevId: 175866310
|
|
|
|
|
|
|
| |
Also, fix it to not rely on the Android split transition being disabled.
RELNOTES: None
PiperOrigin-RevId: 175861670
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 175858467
|
|
|
|
| |
PiperOrigin-RevId: 175832159
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Causing Bazel server to crash when running bazel clean --expunge
https://github.com/bazelbuild/bazel/issues/3956
*** Original change description ***
Delayed rollforward of commit 8fb311b4dced234b2f799c16c7d08148619f4087.
This was rolled back due to Tensorflow breakage but the patch I exported to gerrit (https://bazel-review.googlesource.com/c/bazel/+/18590) passed Tensorflow (https://ci.bazel.io/job/bazel/job/presubmit/52/Downstream_projects/). Confirmed with jcater@ that the "newly failing" projects in the Global Tests are known issues. I think we can check this in now.
Additionally I had attempted to reproduce any tensorflow issues with this by building and testing Tensor...
***
ROLLBACK_OF=172361085
RELNOTES:None
PiperOrigin-RevId: 175821671
|
|
|
|
|
|
|
|
|
|
|
| |
does not depend on AutoCloseable, as it is not available before API 19.
This CL includes the following:
1. A type inference algorithm based on ASM. It relies on the stack map frames to compute type information at the entry of basic blocks.
2. The type inference is used to infer the types of the resources to be closed. Then for each concrete resource type, we specialize the synthetic $closeResource method to $closeResource(Throwable, <concrete resource type>).
RELNOTES: None
PiperOrigin-RevId: 175731437
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The deps are passed through into the generated java_import and aar_import rules. This is necessary for AARs with resource dependencies since maven_aar ignores transitive dependencies. It's less significant for the Java rules, since typically JARs on Maven are compiled class files and as such only have runtime dependencies.
Example usage:
```
# WORKSPACE
load("@bazel_tools//tools/build_defs/repo:maven_rules.bzl", "maven_aar")
maven_aar(
name = "android_image_cropper",
artifact = "com.theartofdev.edmodo:android-image-cropper:2.3.1",
deps = [
"@androidsdk//com.android.support:appcompat-v7-24.1.1",
],
)
```
Fixes https://github.com/bazelbuild/bazel/issues/2863.
Fixes https://github.com/bazelbuild/bazel/issues/3980.
Also, cleans up some broken stuff in the tests (sadly, they don't run on jenkins, so nothing caught that they were broken). test_maven_jar_with_classifier_skylark still does not work, so I disabled.
RELNOTES: Add deps attribute to Skylark maven_aar and maven_jar workspace rules.
PiperOrigin-RevId: 175698282
|
|
|
|
| |
PiperOrigin-RevId: 175682806
|
|
|
|
|
|
|
|
|
|
|
| |
Quote empty args in the command argument vector
otherwise the command's executable would not
recognize them as arguments.
Fixes https://github.com/bazelbuild/bazel/issues/3973
Change-Id: Iccfb59e75c748247c8df7d52fb8cf4227eae6fa7
PiperOrigin-RevId: 175672201
|
|
|
|
|
|
|
|
| |
RELNOTES[NEW]: Users can use win_def_file attribute to specify a DEF file for
exporting symbols when build a shared library on Windows.
Change-Id: Ifa28d8b7b24eaefcefc9640d8dc56fd2931e9688
PiperOrigin-RevId: 175651203
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** 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
|