| Commit message (Collapse) | Author | Age |
|
|
|
| |
PiperOrigin-RevId: 179213789
|
|
|
|
|
|
|
|
|
|
|
| |
The only use case was for Objective-C rules so that different set of sources specified in the same rule could be compiled with either ARC or no ARC. To replace source specific build variables, we call into CcLibraryHelper twice for each set of sources.
This has led to separating the building of compilation providers and outputs from those related to linking. In the case of Objective-C, the compilation outputs are merged and then passed to a single invocation of linking in CcLibraryHelper.
In a later CL, the distinction between compilation and linking will be refined by separating them in different classes.
RELNOTES:none
PiperOrigin-RevId: 179167102
|
|
|
|
| |
PiperOrigin-RevId: 179082062
|
|
|
|
|
|
|
|
|
| |
New name clears the namespace a 2nd flag that will wipe the build graph after the build. The old name would be confusing as it could easily apply to that, and so needs to be more specifically just about tracking state in the first place. The new flag can be clearly separate and about keeping state after the build.
Partial roll forward of https://github.com/bazelbuild/bazel/commit/9321316b34767b06c3071b2cf2a4de189874fcce, with fixes to documentation that are still relevant.
RELNOTES: Rename --keep_incrementality_data to --track_incremental_state
PiperOrigin-RevId: 179078292
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://github.com/bazelbuild/bazel/commit/c6b6dbadd0a93936c51154b25abc5fbba8f2d1af)
We accepted these by environment variable largely because setting it via invocation policy would require changing invocation policy for each command, which had caused the Bazel server to restart, loosing incremental state. This is fixed: changing invocation policy no longer causes Bazel to restart its servers, so accept these as normal options.
We will soon no longer accept these flags by environment variable, but will accept both for a transition period, so that nobody relying on these values is broken by a single release. To inform users of this environment variable, anyone setting the environment variable without the flag will receive a warning but the value will be kept. The following release will no longer accept an environment variable.
Note on format: invocation_id we accept only clean UUIDs, but for build_request_id, to help differentiate otherwise undifferentiable id types, we accept arbitrary prefixes before the UUID. The user is responsible for picking prefixes that are sane.
RELNOTES: None.
PiperOrigin-RevId: 179063120
|
|
|
|
|
|
|
|
| |
system.
This is the only place that should actually need it.
PiperOrigin-RevId: 179054861
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a parameter is defined like the following, the information about the items type defined for the param itself (not for each container type) should be included in the documentation:
@Param(
// ...
allowedTypes = {
@ParamType(type = Container1.class),
@ParamType(type = Container2.class),
},
generic1 = Item.class,
)
PiperOrigin-RevId: 179053750
|
|
|
|
| |
PiperOrigin-RevId: 179053724
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
____Waiting for build event protocol upload: 0s
____Waiting for Build Event Protocol upload to finish.
____Build Event Protocol upload finished successfully.
After:
____Waiting for Build Event Protocol upload: 0s
____Waiting for Build Event Protocol upload to finish.
____Build Event Protocol upload finished successfully.
RELNOTES: None.
PiperOrigin-RevId: 179049827
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 179046403
|
|
|
|
| |
PiperOrigin-RevId: 179042182
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Argument mixes string and array. Use * or separate argument.
- Quote the grep pattern so the shell won't interpret it.
- Use "${var:?}" to ensure this never expands to /* .
- > is for string comparisons. Use -gt instead.
- Quote the parameter to -name so the shell won't interpret it.
Closes #4163.
PiperOrigin-RevId: 179042046
|
|
|
|
|
| |
RELNOTES:none
PiperOrigin-RevId: 179028810
|
|
|
|
| |
PiperOrigin-RevId: 178994972
|
|
|
|
|
|
|
|
|
|
| |
filter. .class and R.class files are filtered out.
During an instrumentation test, jars from both APKS will be loaded onto the same classloader by ART. To prevent runtime crashes due to duplicate classes, we strip the dupe class out from the instrumentation jar.
GITHUB: #903
RELNOTES: None.
PiperOrigin-RevId: 178983712
|
|
|
|
|
|
|
|
|
| |
This should be a no-op because because before testsupport is set (https://github.com/bazelbuild/bazel/blob/3d362fb9a122ceee6d781be127dfedbbff8051f8/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java#L509), it's checking that main_class is pointing to the experimental testrunner.
This is needed because android_local_test doesn't have a main_class attribute and then bazel breaks when it tries to get the main_class attribute.
RELNOTES: None
PiperOrigin-RevId: 178964286
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 178946746
|
|
|
|
| |
PiperOrigin-RevId: 178942449
|
|
|
|
|
|
|
| |
Nonexistent artifact categories or categories that are not supported by the action config now throw InvalidConfigurationException instead of ExpansionException. This allows the checked exception to be caught and reported as a RuleErrorException in Analysis phase.
RELNOTES: None.
PiperOrigin-RevId: 178919727
|
|
|
|
| |
PiperOrigin-RevId: 178910168
|
|
|
|
|
|
|
| |
descriptor set output.
RELNOTES: None
PiperOrigin-RevId: 178904210
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in LocalSpawnRunner, to avoid a race condition.
Aside:
The old, real temporary directory paths looked like this:
TMPDIR=/.../tmp15e_5dd5a8e8347813f5
The new, real temporary directory paths now look like this:
TMPDIR=/.../local-spawn-runner.3217503035718074040
RELNOTES: None.
PiperOrigin-RevId: 178903361
|
|
|
|
| |
PiperOrigin-RevId: 178893146
|
|
|
|
|
|
|
|
|
| |
--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
|
|
|
|
|
|
|
| |
Fixed https://github.com/bazelbuild/bazel/issues/3700
Change-Id: I5fef0065aa90ab0a13f0e060be486b76b930ccc9
PiperOrigin-RevId: 178883672
|
|
|
|
|
|
|
|
|
|
|
| |
LocalSpawnRunner uses the process-wrapper to run commands.
In particular, record metrics for user and system CPU execution time, block I/O and involuntary context switches.
This feature is guarded behind a new option, --experimental_collect_local_action_metrics.
RELNOTES: None.
PiperOrigin-RevId: 178856077
|
|
|
|
|
|
|
| |
This saves some CPU/wall time when creating multiple PackageLoader instances.
RELNOTES: None
PiperOrigin-RevId: 178834826
|
|
|
|
|
|
|
|
| |
This path type is a local file path as a wrapper around a string. It works much the same as java.io.File, but without its file operations.
For the most part, FilePath shouldn't add much overhead compared to using plain strings. Strings do get normalised on the way in, but no extra objects are allocated unless the path actually needs normalisation.
PiperOrigin-RevId: 178798497
|
|
|
|
|
|
|
| |
Tests on my local machine show that the Hyperthreading multiplier is significantly hurting our builds times.
RELNOTES: Set build jobs equivalent to number of logical processors by default. Should improve build times significantly.
PiperOrigin-RevId: 178795078
|
|
|
|
|
|
|
|
|
|
| |
This flag is set to true by default. If `--checkHashMismatch IGNORE` is passed, ZipFilterEntryFilter will filter duplicate files based on filenames and not do the check for different content hashes.
This is used for Android instrumentation tests: classes already in the target APK are removed from the instrumentation APK to prevent runtime crashes in ART.
GITHUB: #903
RELNOTES: Added --checkHashMismatch flag to ZipFilterAction. Valid values are IGNORE, WARN and ERROR. --errorOnHashMismatch is deprecated, please use this flag instead.
PiperOrigin-RevId: 178787292
|
|
|
|
| |
PiperOrigin-RevId: 178785887
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 178760403
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Rollforward of https://github.com/bazelbuild/bazel/commit/c861c0afd9a4df283936218b9e5b33c452b07c95 after fixing fake link actions.
*** Original change description ***
Rollback of 178106899.
RELNOTES: Linkstamping is now a separate and full-blown CppCompileAction, it's
no longer a part of linking command.
PiperOrigin-RevId: 178760072
|
|
|
|
|
|
|
|
| |
1. Allowing .lib as interface library, which is necessary on Windows
2. Documenting cc_improt by giving specific example use cases.
Change-Id: Ia50850495a1e91fe913ad69f9119753c32f9b4a7
PiperOrigin-RevId: 178754145
|
|
|
|
|
|
|
| |
instead of the rule name.
RELNOTES: None.
PiperOrigin-RevId: 178747070
|
|
|
|
| |
PiperOrigin-RevId: 178731961
|
|
|
|
| |
PiperOrigin-RevId: 178704585
|
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 178693605
|
|
|
|
|
|
| |
make cmdline and vfs depend on serialization. This allows a class to have a pointer to its codec, which simplifies automatic recursive composite codecs.
PiperOrigin-RevId: 178683500
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Design change, 2 boolean flags instead of 1 enum flag
*** Original change description ***
Add --incremental_state_retention_strategy
This option is intended to replace some of the uses of --batch. It lets users specify that builds should not be incremental, and how eagerly to discard the state that is kept around for incrementality. Note that for both values discard_eargerly and keep_for_life_of_build, the build graph is kept around until the next build. This may change.
Will add tests for keep_for_life_of_build in a later change, for now it will warn that that feature is experimen...
***
ROLLBACK_OF=178661777
RELNOTES: None.
PiperOrigin-RevId: 178681472
|
|
|
|
|
|
|
|
|
| |
This option is intended to replace some of the uses of --batch. It lets users specify that builds should not be incremental, and how eagerly to discard the state that is kept around for incrementality. Note that for both values discard_eargerly and keep_for_life_of_build, the build graph is kept around until the next build. This may change.
Will add tests for keep_for_life_of_build in a later change, for now it will warn that that feature is experimental.
RELNOTES: --[no]keep_incrementality_data is gone, replaced by the enum-valued --incremental_state_retention_strategy
PiperOrigin-RevId: 178661777
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Tests on my local machine show that the Hyperthreading multiplier is significantly hurting our builds times. Running with 8 logical cores is 11% faster than running with 4.8 cores when doing builds on my Mac.
macOS 10.12
MacBookPro 2017 (1 CPU, 4 core, 8 hyperthreaded)
1434.259 with --jobs = 5
1274.459 with --jobs = 8
I'll do some similar tests on Linux to see if it makes sense there.
PiperOrigin-RevId: 178654477
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 178618888
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To reproduce: run a failing test with --experimental_remote_spawn_cache or with --spawn_strategy=remote and no executor. Expected: test log is uploaded.
Desired behavior:
- regardless of whether a spawn is cacheable or not, its artifacts should be uploaded to the remote cache.
- the spawn result should only be set if the spawn is cacheable *and* the action succeeded.
- when executing remotely, the do_not_cache field should be set for non-cacheable spawns, and the remote execution engine should respect it.
This CL contains multiple fixes to ensure the above behaviors, and adds a few tests, both end to end and unit tests. Important behavior change: it is no longer assumed that non-cacheable spawns should use a NO_CACHE SpawnCache! The appropriate test case was removed. Instead, an assumption was added that all implementations of SpawnCache should respect the Spawns.mayBeCached(spawn) property. Currently, only NO_CACHE and RemoteSpawnCache exist, and they (now) support it.
TESTED=remote build execution backend.
WANT_LGTM: philwo,buchgr
RELNOTES: None
PiperOrigin-RevId: 178617937
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 178609245
|
|
|
|
|
|
|
|
|
|
|
|
| |
MiddlemanFactory wants to check if the middleman inputs set is empty
or singleton. A NestedSet can answer both queries efficiently if the
right APIs are used.
My ultimate goal here is to avoid the expansion of runfiles artifacts
nested sets until execution.
Change-Id: I29a269df757ef41b1410bbb492cf24c926df6114
PiperOrigin-RevId: 178600943
|
|
|
|
|
|
|
| |
Also remove a TODO that was addressed in unknown commit.
RELNOTES: None
PiperOrigin-RevId: 178489151
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 178426166
|
|
|
|
|
|
|
| |
statistics to SpawnResults, and add cumulative getters for these in ActionResults.
RELNOTES: None.
PiperOrigin-RevId: 178426142
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this change, if the default_value is not set, but the flag
has been given a value by a configuration transition, that value
is used and no error is produced.
If the default_value is not set and the flag has not been given
a value by a configuration transition, the rule produces an
error (as it did before, but now the error is different).
config_feature_flags with default_values behave as they did before.
(use the default value if no configured value is set, otherwise use
the configured value)
Also transition the Optional used in feature flags from Guava to
Java 8.
RELNOTES: config_feature_flag's default_value is optional. It is
only an error to have a config_feature_flag with no default_value
if that config_feature_flag has not been set in the configuration
it is being evaluated in.
PiperOrigin-RevId: 178418907
|