| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
This is part of splitting up the build-base library into separate libraries
for analysis, exec, and rules.
PiperOrigin-RevId: 164438390
|
|
|
|
|
|
|
| |
J2ObjcAspect ignores them.
RELNOTES: None
PiperOrigin-RevId: 164335492
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Roll-forward.
unknown commit fixed the internal protoc to also accept full paths, just as the external one does. Fixes #2265
*** Original change description ***
Automated rollback of commit bcd23553f38f54fd4846aa507c827a4ee40cfab4.
*** Reason for rollback ***
RELNOTES: None
PiperOrigin-RevId: 164324424
|
|
|
|
|
|
| |
--test_env isn't moved in this CL since it's exposed to Skylark via BuildConfiguration, making it a somewhat riskier refactor.
PiperOrigin-RevId: 164266168
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change https://github.com/bazelbuild/bazel/commit/646cfd81793fc3b87979089aab873310d14e95e6 moved copts to the build variable and in order to keep the
ordering of the flags as before the copts feature needs to be the last feature
in the toolchain. Osx crosstool generator sometimes appended additional
features, that broke this assumption. This cl makes sure copts is the last
feature. In addition, flags directly from action_config will be added first, not
last as they were before.
RELNOTES: Flags from action_config get added first to the command line first,
before the flags from features.
PiperOrigin-RevId: 164257469
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Deprecate the --libraries flag of the
GENERATE_BINARY_R tool in favour of --library.
The new flag is multi-value and uses "," as the
pair-separator instead of ":".
The value converter still supports ":"-separated
pairs as well, but looks for "," first.
Old format:
--libraries=key1:value1,key2:value2,...
New format:
--library=key1,value1 --library=key2,value2
Motivation:
- the ":"-separator prevents using absolute paths
on Windows
The old flag is still supported, but will be
removed after 2018-02-28 (about 6 months from
now).
Also in this commit:
- add a new method to CustomCommandLine.Builder
to lazily construct the command line for the
--library flag
See https://github.com/bazelbuild/bazel/issues/3264
RELNOTES: none
PiperOrigin-RevId: 164246506
|
|
|
|
|
|
|
|
|
|
|
|
| |
If no_stripping feature is enabled, then strip action config is not
necessary, building stripped binary will just copy the orignial binary.
Fix https://github.com/bazelbuild/bazel/issues/3482
Also fixed CI breakage:
https://github.com/bazelbuild/bazel/issues/3505
Change-Id: Ie78fe174c42248c9b3e930008eef96dcd1864741
PiperOrigin-RevId: 164237588
|
|
|
|
|
|
|
|
|
| |
Add SpawnAction.Builder#setProgressMessageNonLazy for dynamic strings. This should help guide users to the right method.
This also helped find a few methods I'd missed previously that could use a constant-string version.
RELNOTES: None
PiperOrigin-RevId: 164150264
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks Bazel CI (https://github.com/bazelbuild/bazel/issues/3501)
*** Original change description ***
Android BusyBox: actions use the default shell env
SpawnActions that run the Android BusyBox now use
the default shell environment.
This has the following benefits:
- Bazel propagates the PATH, TMPDIR envvars to the
action
- Bazel propagates the --action_env envvars to the
action
This allows the Bazel client to pass
--action_env=TMP or --action_env=TEMP (whichever
of the envvars is defined) to the server, so the
BusyBox actions will have TMP/TEMP set...
***
PiperOrigin-RevId: 164126020
|
|
|
|
|
|
|
|
|
|
|
|
| |
I think this code predates being able to load Skylark .bzl files
from the WORKSPACE. As most non-trivial projects are using load()
in the WORKSPACE, it's fairly uninformative to say "it was
defined in the WORKSPACE file" for this error.
This is to help debug the Tensorflow issue (#3478) but should
generally be more useful than the current message.
PiperOrigin-RevId: 164118176
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SpawnActions that run the Android BusyBox now use
the default shell environment.
This has the following benefits:
- Bazel propagates the PATH, TMPDIR envvars to the
action
- Bazel propagates the --action_env envvars to the
action
This allows the Bazel client to pass
--action_env=TMP or --action_env=TEMP (whichever
of the envvars is defined) to the server, so the
BusyBox actions will have TMP/TEMP set (to the
same value as the clientenv), so they can create
temp directories using
java.nio.file.Files.createTempDirectory.
This method seems to be calling the GetTempPath
WinAPI function, which needs the TMP or TEMP
envvar, otherwise it falls back to returning
c:\windows which is non-writable.
There's one drawback of using the default shell
environment, although @ulfjack is working on it:
- PATH is now also part of the action's cache key.
However in a single-machine environment (no
remote execution) and assuming PATH isn't likely
to change between builds, this probably doesn't
poision the action cache in practice.
This change is a short-term solution. Propagating
the client env's TMP/TEMP means we make that part
of the action's cache key.
The ideal long-term solution will be to not
propagate this envvar, and instead let the
execution strategy set it to some
client-env-independent value.
See https://github.com/bazelbuild/bazel/issues/3264
Change-Id: I756a4203b5d86c881bc36cc089e35cde0d419914
PiperOrigin-RevId: 164114502
|
|
|
|
|
|
| |
Fixes #3434
PiperOrigin-RevId: 164113116
|
|
|
|
|
|
|
|
|
|
| |
This cl introduces new action_config named 'strip' for the strip action. While
at it, it fixes support for executionRequirements.
Fixed #209
RELNOTES: 'strip' action is now configured via feature configuration
PiperOrigin-RevId: 164110478
|
|
|
|
|
|
|
|
|
|
| |
Consumers using spawn action builder now have access to handy overloads that behind the scene do a lazy String.format. In 95% of cases progress messages are expressible as 0, 1, or 2 argument String.formats.
This saves memory because the format string is constant and shared between all actions, and the captured subjects are usually live on the heap anyway (eg. labels).
Skylark still computes its progress messages eagerly. If we want similar savings there I'd have to follow up with a Skylark proposal.
PiperOrigin-RevId: 164068816
|
|
|
|
|
|
| |
The other test configuration options will follow in subsequent CLs to keep size manageable.
PiperOrigin-RevId: 164068510
|
|
|
|
| |
PiperOrigin-RevId: 164066205
|
|
|
|
|
|
|
|
|
| |
We now use a unified way to check provider requirements everywhere.
Reland of https://github.com/bazelbuild/bazel/commit/c32e1b1efcd703b3780de47fba62974123593d71.
RELNOTES: None.
PiperOrigin-RevId: 164038621
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 164031163
|
|
|
|
| |
PiperOrigin-RevId: 164013246
|
|
|
|
|
|
| |
As suggested in readability review for https://github.com/bazelbuild/bazel/commit/2789c97149a1f253b659aa0f2401f44705a3258f. Ended up being a fair number of changes, but I think I got them all.
PiperOrigin-RevId: 163975846
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 163942164
|
|
|
|
| |
PiperOrigin-RevId: 163889699
|
|
|
|
|
|
|
|
|
|
|
| |
This cl changes copts to be immutable (and changes addCopts methods into
setCopts, so it's simpler to reason about copts) and exposes copts as a build
variable. It also introduces CompileBuildVariablesTest, similar to
LinkBuildVariablesTest, to test that right build variables are exposed for right
actions.
RELNOTES: None.
PiperOrigin-RevId: 163876774
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks depot b/64250728
*** Original change description ***
Use RequiredProviders to validate rule prerequisites in RuleContext.
We now use a unified way to check provider requirements everywhere.
RELNOTES: None.
PiperOrigin-RevId: 163862067
|
| |
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 163838735
|
|
|
|
|
|
|
|
|
|
|
| |
Add support for setting up the LTO indexing step when the inputs
contain bitcode.
Added a python BuildViewTestCase that provokes this, as well as a
ThinLTO GoogleBuildIntegrationTestCase to the existing NativeDeps
testing.
PiperOrigin-RevId: 163827441
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows CROSSTOOL authors to add flags to all targets for which fission
is enabled, even when a compile action does not output split debug info.
For example, when building with ThinLTO, compiles are split into a frontend
compile, that does not generate split debug info, but still needs to include
debug info if fission is enabled (even in opt mode).
RELNOTES: None.
PiperOrigin-RevId: 163825563
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add flag --convert_lipo_to_thinlto, which allows builds with LLVM to use
ThinLTO when the user specifies LIPO + FDO flags; if that flag is not set, and
the user requests a build with LLVM, the compile will now fail.
Add an attribute supports_lipo to the DefaultCpuToolchain crosstool proto and
skip default toolchains that do not support LIPO when the user has specified
LIPO flags in the toolchain selection; this enables CROSSTOOL files to cause
an implicit fallback to a hybrid / LIPO toolchain when using an LLVM toolchain
as the default.
Add a CrosstoolBuilder to MockCcSupport and add a new method
setupCrosstoolFromScratch that allows unit tests to fully control the setup.
The other methods available in MockCcSupport will always load in a default
CROSSTOOL file and may show different unit test results depending on the
content of that file.
RELNOTES: None.
PiperOrigin-RevId: 163819246
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks some iOS Photos targets: []
*** Original change description ***
Framework dependency subtraction uses runfiles path instead of full artifact path
RELNOTES: None.
PiperOrigin-RevId: 163732608
|
|
|
|
|
|
|
|
| |
Follows
https://docs.google.com/document/d/1aAIVWvHPERDz2cv_PCFGwr8dvh5FcAkENFoRsNS4clk/.
RELNOTES: None.
PiperOrigin-RevId: 163728291
|
|
|
|
|
|
|
| |
We now use a unified way to check provider requirements everywhere.
RELNOTES: None.
PiperOrigin-RevId: 163710961
|
|
|
|
| |
PiperOrigin-RevId: 163701792
|
|
|
|
|
|
|
|
|
| |
'is_executable'.
This is for consistency with 'ctx.actions.write'.
RELNOTES: None.
PiperOrigin-RevId: 163687973
|
|
|
|
|
|
|
|
|
|
| |
The only way to use those was in the `ctx.action(...executable...)`
parameter, made that accept string.
Fixes #2931.
RELNOTES: None.
PiperOrigin-RevId: 163511248
|
|
|
|
|
|
|
| |
path
RELNOTES: None.
PiperOrigin-RevId: 163484010
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Actually hook up the resource filtering configuration transitions to
AndroidConfiguration's topLevelConfigurationHook.
Dynamic configuration is inefficient when multiple configurations are used.
Multiple configurations result in splitting the build graph and duplicating
work.
To avoid using multiple configurations as much as possible, dynamically
configured resource filtering will only be applied for top-level android_binary
targets. When android_binary targets are included as dependencies, it's very
likely that multiple binaries with many shared dependencies but different
configurations would be used. Only applying dynamic filtering to top-level
binaries removes this concern.
It is still possible to build multiple top-level binary targets with different
configurations at once. Previous versions of this code considered not using
dynamic configuration in that case as well, but that raised some unanswered
questions about whether Bazel's invariants should allow modifying one target's
configuration based solely on targets that happen to be building in parallel.
As a result, that optimization is not included for now; we assume that
developers manually building multiple similar binaries at once is relatively
rare (plus, dynamically configured resource filtering in general is not turned
on by default and will not be turned on by default until we're confident the
benefits outweigh the costs).
RELNOTES: none
PiperOrigin-RevId: 163464415
|
|
|
|
|
|
|
|
|
|
|
| |
transitive dependencies, in the list of transitive jars that a java_xxx_proto_library rule exposes.
This fixes b/63723368, in a way that no action is required.
The new behavior is guarded by a flag.
RELNOTES: None
PiperOrigin-RevId: 163421788
|
|
|
|
|
|
|
| |
Also fix the remaining violations.
RELNOTES: None.
PiperOrigin-RevId: 163391215
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 163343931
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 163338873
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 163331254
|
|
|
|
|
|
|
|
|
|
|
|
| |
From one of the boost gurus:
If you want to split up your template sources into interface and implementation
(there are lots of good reasons to do that, including controlling
instantiation), you can't very well use the same name (foo.hpp) twice, and
foo.cpp wouldn't be appropriate for either one. foo.ipp clearly delineates the
file as an implementation file intended to be #included in foo.hpp.
RELNOTES: None.
PiperOrigin-RevId: 163329612
|
|
|
|
|
|
|
|
| |
Also PintoSourcesContextProvider should not be a SkylarkApiProvider: it
is not facade for anything but a provider in its own right.
RELNOTES: None.
PiperOrigin-RevId: 163323130
|
|
|
|
|
|
|
|
|
|
| |
This lets a parent choose a transition for its dep based
on the dep's rule class.
Implement (experimental) dynamic Android resource filtering
trimming with this.
PiperOrigin-RevId: 163259052
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before this change, density-based resource filtering tracked resources by
qualifiers and name. Resources with density qualifiers specified would go into
this code, but only one resource would be chosen from each each (qualifier,
name) pair.
Instead, track the resource using its entire path, this tracking resources with
the same name seperately.
Also, in case multiple resource are passed to the resource processing action,
resource filtering only ignores a file if its name was in the list of resources
to ignore *and* it does not exist. Otherwise, legitimate resources with the
same name as a filtered resource might be ignored.
RELNOTES: none
PiperOrigin-RevId: 163235681
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Broke bundling of objc_frameworks.
PiperOrigin-RevId: 163215950
|
|
|
|
|
|
|
|
| |
This change adds a way to set proto profile artifact to ProtoCompileActionBuilder
so that it passes profile_path flag to protocol_compiler.
RELNOTES: None.
PiperOrigin-RevId: 163155532
|
|
|
|
|
|
| |
Part of the static configuration removal cleanup.
PiperOrigin-RevId: 163130922
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 163126457
|