| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
| |
It was previously the odd-one out in lib.analysis.actions, due to other code
that wanted to depend on it without pulling in all of analysis. However, it's
needed to interpret Spawn instances, and Spawn lives in lib.actions, so it
makes more sense to move it there, and remove the special-casing.
PiperOrigin-RevId: 158116684
|
|
|
|
|
|
|
|
|
|
| |
The help message previously said that `--batch` is strongly discouraged, but in fact it's only discouraged when using bazel interactively. Since the tradeoffs of `--batch` are fully explained in the online docs, this commit changes the help message to explain what the option does without getting into the tradeoffs.
Fixes #3051
Closes #3118.
PiperOrigin-RevId: 158112611
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ObjcProvider
This facilitates app->dylib->dylib dependencies, as the app needs to avoid linking in symbols
contained in any *transitive* dylibs, not just in any direct dylibs.
This also removes a test which verified the previous, incorrect functionality (not propagating
information about dylibs up the tree).
RELNOTES: None.
PiperOrigin-RevId: 158070381
|
|
|
|
|
|
|
| |
current rule name
RELNOTES: None.
PiperOrigin-RevId: 158068921
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Assuming "all" fulfills "foo", these should be exactly the same (and
maybe we should trigger a redundant listing error). In practice, it's
possible to make the first case succeed while the second fails because of
environment refining and lack of static constraint checking for selects.
See changes for details.
Also refactor ConstraintSemantics.checkConstraints to divide and conquer more clearly.
PiperOrigin-RevId: 158047217
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A few changes:
1. Remove the ApkSigningMethod input. We always read this from
AndroidConfiguration, callers shouldn't need to pass it in.
2. Add a signingKey attribute. This will be needed for dex2oat to pass in
whatever key was used to sign the input APKs.
3. Unify the resourceApk and nativeLibsZips into a "addInputZip(s)" methods.
This can also be used for inputting an existing APK, such as the one from
dex2oat.
RELNOTES: None
PiperOrigin-RevId: 157973679
|
|
|
|
|
|
|
|
| |
existing directory writable when running actions.
RELNOTES: Added a new flag --sandbox_writable_path, which asks the sandbox to
make an existing directory writable when running actions.
PiperOrigin-RevId: 157971858
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(Automated g4 rollback of commit de92f9d8ea093416fae999073bbfcf3cf501ab55).
*** Reason for rollback ***
The problems that forced commit de92f9d8ea093416fae999073bbfcf3cf501ab55 were fixed in commit e6392cd380fce14d719890c78d5eb2657e8a6cfc .
*** Original change description being rolled forward ***
Implement dynamically configured LIPO builds.
Quick overview:
- provide a dynamic interface for getting the artifact owner
configuration
- provide a (dynamic) RuleTransitionFactory LIPO_ON_DEMAND to replace
the (static) RuleClass.Configurator LIPO_ON_DEMAND. Eventually
we'll remove the rule class configurator interface entirely....
***
ROLLBACK_OF=156180015
PiperOrigin-RevId: 157865224
|
|
|
|
|
| |
Change-Id: I98fd671af858c402b10bb5ef59735d83d4003593
PiperOrigin-RevId: 157863146
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 157857216
|
|
|
|
|
|
|
| |
thrown when PackageFunction encounters such an IOException when reading the contents of a BUILD file.
RELNOTES: None
PiperOrigin-RevId: 157853283
|
|
|
|
|
|
| |
ObjcProvider.
PiperOrigin-RevId: 157850516
|
|
|
|
|
|
|
| |
This is consistent with other usage.
RELNOTES: NONE.
PiperOrigin-RevId: 157849696
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 157847930
|
|
|
|
|
| |
RELNOTES: none
PiperOrigin-RevId: 157837746
|
|
|
|
|
|
| |
The C++ implementation of SingleJar, which is available in Bazel, but not yet the default, doesn't support persistent worker mode, so this causes issues when you try to use it.
PiperOrigin-RevId: 157831362
|
|
|
|
|
| |
Change-Id: I45d0cf8e5096ad4ab516af5ddaa98eea8d516c04
PiperOrigin-RevId: 157788771
|
|
|
|
|
|
|
| |
in the transitive closure of robolectric tests.
RELNOTES: None
PiperOrigin-RevId: 157762190
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
interrupted eagerly
The original code swallows the InterruptedException, sets the interrupt bit and
stops new tasks from being submitted. However it does not actively send an
interrupt signal to all running and pending tasks already in the pool. It is
partly due to the misleading syntax of awaitTermination, which actually quitely
waits for all tasks to exit even if interruptWorkers is set to true. Both
errors are fixed in this change.
RELNOTES: None
PiperOrigin-RevId: 157762029
|
|
|
|
|
|
|
| |
These do not make sense since aar_import does not compile any java but are inherited from JavaBaseRule.
RELNOTES: None
PiperOrigin-RevId: 157751090
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes a subtle integration bug between PatchTransition, ConfiguredTargetFunction, and DependencyResolver.
Short story: ConfiguredTargetFunction.getDynamicConfigurations assumes at most one <Attribute, Label, Transition> entry per configured target dep. DependencyResolver.dependentNodeMap faithfully supplies this by returning an OrderedSetMultimap<Attribute, Dependency>, where each Dependency is a <Label, Transition>. OrderedSetMultimap guarantees no <key, value> repeats, but if you have two semantically equal EnableLipoTransition instances that don't satisfy .equals(), deduping fails.
Most PatchTransitions don't have this problem because they're singletons. But each EnableLipoTransition is instantiated with a Rule, so singletons don't work here.
This problem can only happen when a rule has multiple instances of the same C++ dep under the same attribute. But this isn't actually possible for normal attributes like "deps" because they don't allow duplicates (see RuleClass#checkForDuplicateLabels). Only non-LABEL_LIST attributes can trigger this.
PiperOrigin-RevId: 157733284
|
|
|
|
|
|
|
|
|
|
| |
It was already effectively mandatory. The build would fail if you did not have
the manifest attribute set, but this provides a better error message.
Fixes https://github.com/bazelbuild/bazel/issues/3090.
RELNOTES: None
PiperOrigin-RevId: 157719024
|
|
|
|
|
|
|
|
|
|
|
| |
If console output limiting is enabled in the actual output stream
is wrapped in a CountingOutputStream to hard-limit the number of
bytes written. As on the console, the two streams, stdout and stderr,
might interleave, proper flushing of writes is important. Therefore,
make sure flushing is propagated through the CountingOutputStream.
Change-Id: I591a2a1ae798a9d8ef704118b22960ff9773a59e
PiperOrigin-RevId: 157707049
|
|
|
|
|
|
|
|
|
|
|
| |
When building with timestamps enabled, it is useful to know the date
as well, e.g., when later looking at logs. This, however, is not the
case if the command does not build (e.g., "bazel help", "bazel query"),
or, in general, if the first output is only produced after the command
is completed.
Change-Id: I75ef38fbb98e886b1dc38899efa10188055f87e2
PiperOrigin-RevId: 157700578
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On Unix system, `ln -s foo bar` will create an dangling symlink bar -> foo
even foo doesn't exist. The current implementation of createSymbolicLink for
Windows fails in this situtation. And this lead to #2474.
In this change, we create a dangling junction when the target doesn't exist
which mimics the behavior on Unix.
Fixed https://github.com/bazelbuild/bazel/issues/2474
Change-Id: I442ca3e2fb20b76c9b5bbfee903299fe51481f43
PiperOrigin-RevId: 157694631
|
|
|
|
|
| |
RELNOTES: Use action_config in crosstool for static library archiving, remove ar_flag.
PiperOrigin-RevId: 157685703
|
|
|
|
|
|
|
|
| |
The only call site passes single artifacts. Some of the read sites assert that
the NestedSet contains only one element.
RELNOTES: None
PiperOrigin-RevId: 157635897
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 157630000
|
|
|
|
|
|
|
| |
- Remove reference to SelectorValue: an internal Bazel definition
- Clarify that "select" means configurable attributes
PiperOrigin-RevId: 157629959
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This will be used to add some tests and targets to the Bazel codebase that build and run successfully when android_sdk_repository is in the WORKSPACE and silently skip if it is not.
Example deps of a library that links against dx.jar:
```
deps = select({
"//external:has_androidsdk": ["//external:android/dx_jar_import"],
"//conditions:default": [],
}),
```
Also adds tests that config_setting works as expected when propagated through an alias or bind rule.
RELNOTES: None
PiperOrigin-RevId: 157627472
|
|
|
|
|
|
|
|
| |
This also guarantees consistency between toString()
calls to lib.syntax.SelectorList and
lib.packages.BuildType.SelectorList.
PiperOrigin-RevId: 157617509
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes #3004.
Change-Id: I6dcef92e9f23df574e0874a81b2901754042cf9a
Closes #3085.
Change-Id: I6dcef92e9f23df574e0874a81b2901754042cf9a
PiperOrigin-RevId: 157612661
|
|
|
|
|
|
| |
Fixes #2960.
PiperOrigin-RevId: 157604844
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Aliases mess with the assumption that
attributeValue.containsKey(target.getLabel())
for every target in the prerequisites of a LABEL_KEYED_STRING_DICT
attribute.
The solution is to use AliasProvider.getDependencyLabel(target) instead.
This fixes it for all current users, including SkylarkRuleContext.
This also adjusts config_setting flag_values and Android feature_flags
to do intelligent things with aliases in their respective attributes.
RELNOTES: None.
PiperOrigin-RevId: 157594095
|
|
|
|
|
|
|
|
|
| |
Setting this flag to false makes Bazel exit with an error on undefined configs. The default value is true, so this change has no impact unless users explicitly pass --noallow_undefined_configs.
This change supersedes an unmerged one, I'm taking the problem from fkp@.
Credit to him for the original change.
PiperOrigin-RevId: 157593338
|
|
|
|
|
|
|
|
| |
On finding a visibility error, report it directly for that target, instead of
relying on the implict "abort" message for targets that have not been built.
Change-Id: I5e45722a1117afca3bc8eeebd05179425b995172
PiperOrigin-RevId: 157592518
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 157578255
|
|
|
|
|
|
|
|
|
|
| |
As SkyFunctions are supposed to be restartable, e.g., if prerequisites are
missing, events generated by them are temporarily stored. So are BuildEvents
posted by them. However, once the evaluation of a SkyFunction is finalized,
the stored posts need to be reposted. Do this.
Change-Id: I4ce20266fbfcbb298e93eb53086fa9916874f5d8
PiperOrigin-RevId: 157575119
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 157569836
|
|
|
|
|
| |
RELNOTES: '--aspects' can occur more than once on the command line.
PiperOrigin-RevId: 157568229
|
|
|
|
|
|
|
| |
and fixes some of J2ObjC's implicit deps to correctly reference the embedded tools.
RELNOTES: Partially fixes external J2ObjC support.
PiperOrigin-RevId: 157503022
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If all resources from a directory are filtered out, the resource processing
action should not receive a reference to that directory.
Filtering the entire contents of a directory is uncommon but not impossible. It
may be indicative of an error (if the user filters on a language, but only
provided resources in other languages - in this case, the build should and will
fail during Java compilation when the requested resource does not exist) or of
weird but acceptable behavior (placing resources for some default language in
one resource directory and resources for all other languages in some other
directory, then inheriting both directories and filtering on language) that
should be correctly handled.
RELNOTES: none
PiperOrigin-RevId: 157499745
|
|
|
|
|
|
|
|
| |
Move AuthAndTLSOptions to its own package, so that tests/remote no longer
depends on lib:runtime.
RELNOTES: None.
PiperOrigin-RevId: 157469629
|
|
|
|
|
|
|
| |
Using boolean options with expansions on them meant they were still used if in the --no(flag) case.
RELNOTES: Clean command no longer uses boolean values for --async, --expunge, and --expunge_async options.
PiperOrigin-RevId: 157465859
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 157450873
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a test failure occurred the BEP would still report a build_finished event
with exit code SUCCESS, even though bazel's exit code was TESTS_FAILED. This is
because we would rely on the exit code reported by the BuildCompleteEvent. However,
this exit code contains only the build status without taking into account the test status.
In this change we introduce the TestingCompleteEvent that reports bazel's final
exit code in case of "bazel test".
RELNOTES: None.
PiperOrigin-RevId: 157445808
|
|
|
|
|
|
|
|
| |
The BEP protocol currently does not include stdout/stderr when sent over BES.
This change makes the BuildEventStreamer created by the BuildEventServiceModule listen in on stdout/stderr.
RELNOTES: None.
PiperOrigin-RevId: 157439952
|
|
|
|
|
|
| |
Instead, print the downloaded bytes directly to stdout / stderr.
PiperOrigin-RevId: 157435933
|
|
|
|
|
|
| |
experimental_objc_crosstool=all
PiperOrigin-RevId: 157421008
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Create a jar with a classpath in it if the
classpath is too long.
We have already been using this trick on Windows
but need it on Linux/Darwin too, because OpenJDK
and ZuluJDK don't support parameter file syntax.
Fixes https://github.com/bazelbuild/bazel/issues/3069
Change-Id: I57c981ba798dd687118feb98ccf7f61b38b03ff4
PiperOrigin-RevId: 157403379
|