| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
| |
Given a target (for example from a skylark aspect), one will be able to access a list of actions that the target generated using "target.actions". This is without additional memory footprint.
Actions themselves are not fully exposed to skylark (and thus there isn't much meaning to gather from them in skylark yet). Access methods will follow soon.
RELNOTES: None.
PiperOrigin-RevId: 188098079
|
|
|
|
|
|
|
| |
WANT_LGTM=buchgr
TESTED=unit tests, 500 runs per test
RELNOTES: None
PiperOrigin-RevId: 188093043
|
|
|
|
| |
PiperOrigin-RevId: 188085895
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
//tools/defaults:android_jar is a synthetic target that is being
replaced by the regular target @bazel_tools//tools/android:android_jar
in Bazel 0.11 and later. See cf097e4.
Change-Id: I2cfc38a0dcd25f43985e75b386f9f1cadec86320
RELNOTES: None
Closes #4785.
Change-Id: I2cfc38a0dcd25f43985e75b386f9f1cadec86320
PiperOrigin-RevId: 188080503
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It was previously assumed that safety wasn't needed because
1) all builtins should be registered in static initializer blocks, and
2) all retrievals should occur during Skylark evaluation, after static initialization completes.
It turns out these assumptions aren't actually true (Who would've thunk it!). SkylarkActionFactory has been observed to be initialized as late as analysis time, and retrievals occur as early as constructing a PackageFactory (when scanning the native module). The failure mode is particularly ugly: Random Skylark method lookups will fail non-deterministically.
This change guards against this by making the builtins registry implement a form of freezing. Before freezing, reads and writes are allowed and are synchronized. After freezing, only reads are allowed and they are unsynchronized for performance. BlazeRuntime is responsible for flipping the bit, and for ensuring classes like SkylarkActionFactory run their initialization by that point. Unit tests don't need to worry, since they just stay unfrozen and synchronized throughout.
RELNOTES: None
PiperOrigin-RevId: 188080136
|
|
|
|
|
|
| |
TESTED=manually
RELNOTES: None
PiperOrigin-RevId: 188079436
|
|
|
|
| |
PiperOrigin-RevId: 188078054
|
|
|
|
| |
PiperOrigin-RevId: 188077900
|
|
|
|
|
|
|
|
|
|
|
|
| |
This prevents both creation and access to platform providers from
Skylark.
This is needed so we can load platforms directly from platform-rule
targets without needing a full configured target, and to effiently
distinguish platform providers from non-platform providers.
Change-Id: I6b61f9ee7518d5e9311232908a922596e18fe32f
PiperOrigin-RevId: 188070457
|
|
|
|
|
| |
RELNOTES:none
PiperOrigin-RevId: 188066111
|
|
|
|
|
|
| |
BuildConfiguration, BuildOptions, CollectTargetsUnderDirectoryValue.
PiperOrigin-RevId: 188059815
|
|
|
|
|
|
|
|
|
| |
This finishes a partial change erroneously submitted as part of https://github.com/bazelbuild/bazel/commit/864ac520951821bd197a02490d2b04f6246be7fa.
The full outputs map behavior is still not fully described because its implementation is too complex. That requires a separate discussion.
RELNOTES: None
PiperOrigin-RevId: 188049028
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks external cc_proto_library. See https://github.com/bazelbuild/bazel/issues/4780
RELNOTES: None.
*** Original change description ***
Fixing issue with external j2objc protos
PiperOrigin-RevId: 188041921
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 188038131
|
|
|
|
| |
PiperOrigin-RevId: 188034513
|
|
|
|
|
| |
RELNOTES:none
PiperOrigin-RevId: 188026038
|
|
|
|
|
|
| |
Closes #4640.
PiperOrigin-RevId: 188022228
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 187997144
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It shouldn't be open sourced at all, since it solves a very specific internal
use case, and for external use cc_library with its includes, include_prefix, and
strip_include_prefix attributes can be used to perfectly replace cc_inc_library.
RELNOTES: Removed cc_inc_library, please use cc_library instead
Use includes, include_prefix, and strip_include_prefix attributes of cc_library
to replace the behavior of cc_inc_library with cc_library.
PiperOrigin-RevId: 187991313
|
|
|
|
|
|
|
|
|
|
|
|
| |
We pass the clientEnv to the workspace status command, and it may use
environment variables to influence status. We must therefore reevaluate
the workspace status command whenever the clientEnv changes.
Fixes #4222
Closes #4705.
PiperOrigin-RevId: 187988847
|
|
|
|
|
|
|
| |
This isn't strictly necessary since we disable caching and require local
execution.
PiperOrigin-RevId: 187985476
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 187974423
|
|
|
|
| |
PiperOrigin-RevId: 187956593
|
|
|
|
| |
PiperOrigin-RevId: 187945746
|
|
|
|
|
|
| |
multiple times.
PiperOrigin-RevId: 187941859
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 187936071
|
|
|
|
|
|
|
|
|
|
| |
This provides a io.grpc.ClientInterceptor implementation that can be used to log gRPC call information. The interceptor can select a logging handler to use based on the gRPC method being called (Watch, Execute, Write, etc) to build a LogEntry, which can then be logged after the call has finished. Unit tests for the interceptor are included.
In this change, the interceptor is never invoked, nor are there any handlers implemented for any gRPC methods. The interceptor also never tries to log any entries.
To avoid circular dependency issues (Remote library will depend on logger which depends on remote library for utils), I've factored out the utility classes from the remote library into their own directory/package as part of this change.
PiperOrigin-RevId: 187926516
|
|
|
|
|
|
| |
Needed for Attribute serialization.
PiperOrigin-RevId: 187907727
|
|
|
|
|
|
|
|
| |
This was broken by the jar being renamed from SingleJar_deploy.jar to bazel-singlejar_deploy.jar in commit 6705b508fe069147c853ca9669363342f3527689 (Fixes #3988)
Closes #4642.
PiperOrigin-RevId: 187880736
|
|
|
|
|
|
|
| |
actual toolchain, not the CppConfiguration.
Change-Id: I9cb74a883d3041ee2c31d294c0a1a36df578f738
PiperOrigin-RevId: 187880704
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Fixed issue that led to rollback.
RELNOTES: None
*** Original change description ***
Automated rollback of commit eee53d3a33dde441f7e7adaecde81ef2d3db7c1b.
*** Reason for rollback ***
breaks Blaze_CorpTest
*** Original change description ***
@AutoCodec ConfiguredTargetValue.
PiperOrigin-RevId: 187869560
|
|
|
|
| |
PiperOrigin-RevId: 187868296
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 187865083
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement Runfiles::EnvVars so it's now possible
to propagate runfiles to subprocesses via
environment variables (RUNFILES_MANIFEST_FILE and
RUNFILES_DIR).
Subsequent commits will add more feataures:
- automatic Runfiles creation based on argv[0] and
the envvars of this process
See https://github.com/bazelbuild/bazel/issues/4460
Change-Id: If9a37b1be13b9cbacf21a496305d60444fd660b2
PiperOrigin-RevId: 187858830
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When this option is set to true, then bazel will not scan linkopts for -static
and will therefore never set linking mode to fully_static. This option will be
used to flip the switch once the world is migrated away from fully static
linking mode.
RELNOTES: C++: Introduced --experimental_drop_fully_static_linking_mode
Fully static linking mode will be removed soon. This option allows you to test
if your build will be passing.
Strategy for migrating away from fully static linking mode is to define a
crosstool feature named `fully_static_link`, enable it from the target (by
adding `features = [ "fully_static_link" ]`), and make sure the target is build
with `linkstatic = 1`. Buildozer command that will do just that is:
buildozer 'remove linkopts -static' 'set linkstatic 1' 'add features fully_static_link' //foo:bar
PiperOrigin-RevId: 187856775
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 187855919
|
|
|
|
|
|
|
|
|
|
|
| |
//src/test/shell/bazel/android:android_ndk_integration_test
and
//src/test/shell/bazel:bazel_test_test
They're timing out on Kokoro recently.
RELNOTES: None
PiperOrigin-RevId: 187853786
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 187852219
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Link inputs are there only to invalidate the action, they don't affect the
execution of the compile action. This cl optimizes the action execution by not
having to collect unnecessary inputs into the sandbox.
Since this is CppCompileAction and nothing is easy here, let me elaborate on my
assumptions. The goal of this cl is to stop passing unneeded inputs into Spawns.
This is implemented by introducing a dispensableInputs field to the
CppCompileAction. SpawnGccStrategy then doesn't forward these further.
I'm not adding dispensableInputs to the ActionKey. I think it's enough to put
them to the inputs and into the updateActionInputs method.
RELNOTES: None.
PiperOrigin-RevId: 187849482
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
breaks Blaze_CorpTest
*** Original change description ***
@AutoCodec ConfiguredTargetValue.
PiperOrigin-RevId: 187783702
|
|
|
|
|
|
|
|
| |
ObjectCodec into a MEMOIZE_AFTER MemoizingCodec. I think that this is safe, because all the codecs that are being wrapped this way weren't memoizing anything internally that I could see.
In order to @AutoCodec the WithValue type, which is generic and can have null elements in lists, add functionality to @AutoCodec to deal with generic type static instantiators, matching generic type arguments (although I'm not sure why that wasn't already working), and null elements in lists.
PiperOrigin-RevId: 187740461
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 187734792
|
|
|
|
|
|
| |
RELNOTES:None.
PiperOrigin-RevId: 187711775
|
|
|
|
|
|
|
|
| |
doesn't save memory in the 32-bit case, but makes it easier for people to see how many SkyKeys we have.
There's some unnecessary interning in tests, but it was easier to copypasta and doesn't harm anything, I think.
PiperOrigin-RevId: 187694309
|
|
|
|
|
|
|
| |
the directory
RELNOTES: None.
PiperOrigin-RevId: 187692669
|
|
|
|
|
|
|
|
| |
The only two remaining users are for JAR, so directly call into BazelJavaBuilder rather than through our multiplex tool.
This requires opening the visibility of BazelJavaBuilder up to public.
PiperOrigin-RevId: 187690855
|
|
|
|
|
|
|
| |
published via the BEP, instead of only publishing failed actions and extra actions.
RELNOTES: Add a --build_event_publish_all_actions flag to allow all actions to be published via the BEP.
PiperOrigin-RevId: 187683799
|
|
|
|
|
|
| |
don't care about the group structure, and simplify the logic for prefetching old deps.
PiperOrigin-RevId: 187681887
|
|
|
|
|
|
| |
Needed for Attribute serialization.
PiperOrigin-RevId: 187676061
|
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 187671513
|