| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
| |
--
PiperOrigin-RevId: 148643993
MOS_MIGRATED_REVID=148643993
|
|
|
|
|
|
|
|
| |
...now that the ExtendedEventHandler can serve the same purpose.
--
PiperOrigin-RevId: 148640618
MOS_MIGRATED_REVID=148640618
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 148632169
MOS_MIGRATED_REVID=148632169
|
|
|
|
|
|
|
|
|
|
| |
This time, if the action discovers inputs, the extra action is made to depend on the outputs of the action so that by the time the extra action runs, the inputs of the original action are discovered. This avoids us having to think about the state the shadowed action may keep.
Yes, actions should not keep state, but they do. Such is life.
--
PiperOrigin-RevId: 148627715
MOS_MIGRATED_REVID=148627715
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 148625618
MOS_MIGRATED_REVID=148625618
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds step by step documentation for remote caching feature and document how to run the remote
execution demo.
Fixes a small issue with interacting with WebDAV module of NGINX and Apache using --rest_cache_url
feature.
--
Change-Id: I5e98aa6707bf502eab0801ba637eae575ba26d42
Reviewed-on: https://cr.bazel.build/9031
PiperOrigin-RevId: 148546592
MOS_MIGRATED_REVID=148546592
|
|
|
|
|
|
|
|
| |
J2ObjC source jar transpilation support.
--
PiperOrigin-RevId: 148501938
MOS_MIGRATED_REVID=148501938
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 148488719
MOS_MIGRATED_REVID=148488719
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 148484425
MOS_MIGRATED_REVID=148484425
|
|
|
|
|
|
|
|
| |
to generate extra action proto file.
--
PiperOrigin-RevId: 148479293
MOS_MIGRATED_REVID=148479293
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 148469323
MOS_MIGRATED_REVID=148469323
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 148464084
MOS_MIGRATED_REVID=148464084
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With more specific information to be reported by Skyfunctions, e.g.,
to inform the build-event protocol on missing files, the EventHandler
interface is no longer enough. Therefore, provide an enriched context
for reporting events.
--
Change-Id: I2d06166fe4d5b9054e24ad8c752fafc039e3f9f8
Reviewed-on: https://cr.bazel.build/8794
PiperOrigin-RevId: 148463437
MOS_MIGRATED_REVID=148463437
|
|
|
|
|
|
|
|
|
|
| |
Updated class doc, added examples to depsets.md.
Constructor/method doc updates will be a follow-up CL.
--
PiperOrigin-RevId: 148463032
MOS_MIGRATED_REVID=148463032
|
|
|
|
|
|
|
|
| |
stripping is enabled.
--
PiperOrigin-RevId: 148458258
MOS_MIGRATED_REVID=148458258
|
|
|
|
|
|
|
|
| |
Follow-up to commit cae43035f9e6957ad05fec047d015a98aa53f97b
--
PiperOrigin-RevId: 148450575
MOS_MIGRATED_REVID=148450575
|
|
|
|
|
|
|
|
|
|
| |
Closes #2543.
--
Change-Id: I0cd7566fc9ae91f3c1374eca61500a64b3cc8079
Reviewed-on: https://github.com/bazelbuild/bazel/pull/2543
PiperOrigin-RevId: 148449853
MOS_MIGRATED_REVID=148449853
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 148445872
MOS_MIGRATED_REVID=148445872
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This combines both previous changes and extends them to work both with and
without kchodorow@'s rollout of the exec root rearrangement. Unfortunately,
each of these changes individually breaks something somewhere, so they must
all go into a single commit.
Change 1:
CppCompileAction must return false from inputsKnown for .d pruning
This is necessary (but not sufficient) for the action cache to work
correctly. Consider the following sequence of events:
1. action is executed
2. .d pruning is performed
3. action cache writes entry with post-pruning inputs list
4. action gets regenerated (e.g., due to server restart)
5. the action cache calls inputsKnown(), which returns true
6. action cache checks entry from step 3 against pre-pruning inputs list,
which results in a cache miss
The action cache needs to know that the current list is not the final list,
so inputsKnown() in step 5 must return false if .d pruning is enabled.
Change 2:
Fix artifact root discovery for external artifacts
The SkyframeExecutor was assuming that all exec paths were coming from the
main repository. Instead, rely on external exec paths to start with "../".
Additional change 3:
In addition, update the PackageRootResolverWithEnvironment and the
HeaderDiscovery to use the single unified repository name guessing
implementation. Previously, the PackageRootResolverWithEnvironment was
poisoning the source artifact cache, which then caused subsequent lookups
to return a bad artifact.
Add a precondition to double-check that artifacts looked up by exec path
have the correct source root.
For compatibility with kchodorow@'s upcoming exec root refactor, if the exec
path starts with "external", then assume it's coming from an external
repository. This must be removed when that change is successfully rolled out,
or it will break if anyone creates a package called 'external'.
Additional change 4:
On top of all of that, PackageRootResolverWithEnvironment and SkyframeExecutor
must use the same source root computation as the Package class itself. I
extracted the corresponding code to Root, and added comments both there and
in Package to clearly indicate that these methods have to always be modified
in sync.
Fixes #2490.
--
PiperOrigin-RevId: 148439309
MOS_MIGRATED_REVID=148439309
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
AbstractAction#getInputFilesForExtraAction().
Turns out, we didn't add *mandatory* inputs of the shadowed action to the extra action, thus, breakage.
Original description:
Remove AbstractAction#getInputFilesForExtraAction().
This method was used to return the discovered inputs for extra actions, but it turns out that we can use #discoverInputs() just as well.
Note that this makes it possible for #discoverInputs() to be called more than once per action instance (once for the action and once for each extra action), but this appears to work. A followup change may be able to dispense with that, but let's take baby steps for now.
Also note that this introduces synchronization between an action and its associated extra action.
--
PiperOrigin-RevId: 148429641
MOS_MIGRATED_REVID=148429641
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 148405662
MOS_MIGRATED_REVID=148405662
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks dagger []: []
*** Original change description ***
Separate the classpaths of the TestRunner with the test target, and use a separate Classloader to load the test target's classes. This enables a clean separation of the classes of the TestRunner with the target under test.
This is achieved with the following steps:
1. Start the test runner with only the bare bones classpaths to the Test Runner's classes which are used by the system ClassLoader.
2. Have all the classpaths required to load the test target's classes in a TEST_TARGET_CLASSPATH envi...
***
--
PiperOrigin-RevId: 148405598
MOS_MIGRATED_REVID=148405598
|
|
|
|
|
|
|
|
|
|
|
| |
configuration transition on dependencies"
This includes a fix:
Propagate iquote appropriately from apple_binary so that generated headers of xctest apps are seen by ios_test
--
PiperOrigin-RevId: 148403601
MOS_MIGRATED_REVID=148403601
|
|
|
|
|
|
|
|
|
|
| |
cc_proto_library to the outside world.
RELNOTES: New rules in Bazel: proto_library, java_lite_proto_library, java_proto_library and cc_proto_library
--
PiperOrigin-RevId: 148394617
MOS_MIGRATED_REVID=148394617
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 148388306
MOS_MIGRATED_REVID=148388306
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 148382422
MOS_MIGRATED_REVID=148382422
|
|
|
|
|
|
|
|
|
|
| |
processing it. We are going to read the whole thing and convert it into data structures, anyway.
This shaves some time off of server startup time.
--
PiperOrigin-RevId: 148377493
MOS_MIGRATED_REVID=148377493
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 148369723
MOS_MIGRATED_REVID=148369723
|
|
|
|
|
|
|
|
|
| |
This enables both native and Skylark rules to declare attributes which
have labels/Targets as keys, and have string values.
--
PiperOrigin-RevId: 148365033
MOS_MIGRATED_REVID=148365033
|
|
|
|
|
|
|
|
| |
--
Change-Id: Ie33953add6a582368b6b0da74c478a8dd301acb4
Reviewed-on: https://cr.bazel.build/9041
PiperOrigin-RevId: 148355280
MOS_MIGRATED_REVID=148355280
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before this change, resource_configuration_filters were only used to filter
resources out of android_binary targets during resource processing. Instead, we
can filter these unwanted resources out during analysis. This means we won't
have to copy these resources for use in execution, and that execution itself
will have a smaller set of inputs. This should produce a speed-up in
android_binary targets with resource_configuration_filters.
Also add a flag that controls this behavior. Currently, the flag defaults to
not doing this prefiltering. We'll change that after further testing.
Also, do some related cleanup:
- Replace repeated used of the constant "resource_configuration_filters" with
references to the new class
- Pass around instances of the new class rather that List<String> objects meant
to represent ResourceConfigurationFilters
--
PiperOrigin-RevId: 148353501
MOS_MIGRATED_REVID=148353501
|
|
|
|
|
|
|
|
|
|
| |
targets when both resource shrinking and Proguard are enabled, as it is required by resource shrinking to work properly.
RELNOTES: Automatically generate Proguard mapping when resource shrinking and Proguard are enabled.
--
PiperOrigin-RevId: 148349205
MOS_MIGRATED_REVID=148349205
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 148349051
MOS_MIGRATED_REVID=148349051
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 148342788
MOS_MIGRATED_REVID=148342788
|
|
|
|
|
|
|
|
| |
Unlike commit e2239cc61ca170ff9a65e1a94c3344d2b272c9e2, this only adds "." to the rpath if isNativeDeps is true.
--
PiperOrigin-RevId: 148330144
MOS_MIGRATED_REVID=148330144
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 148329920
MOS_MIGRATED_REVID=148329920
|
|
|
|
|
|
|
|
|
| |
Also moved ProtoJavaApiInfo*Provider to package
com.google.devtools.build.lib.rules.java to avoid a dependency cycle.
--
PiperOrigin-RevId: 148324664
MOS_MIGRATED_REVID=148324664
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 148322874
MOS_MIGRATED_REVID=148322874
|
|
|
|
|
|
|
|
| |
BUG=35456356
--
PiperOrigin-RevId: 148317662
MOS_MIGRATED_REVID=148317662
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
separate Classloader to load the test target's classes. This enables a clean separation of the classes of the TestRunner with the target under test.
This is achieved with the following steps:
1. Start the test runner with only the bare bones classpaths to the Test Runner's classes which are used by the system ClassLoader.
2. Have all the classpaths required to load the test target's classes in a TEST_TARGET_CLASSPATH environment variable exported by the stub script.
3. Use a new classloader to load all the test target's classes using the paths in TEST_TARGET_CLASSPATH.
This additionally enables the persistent test runner (currently experimental), to reload all the target's classes for every subsequent test run, so it can pick up any changes to the classes in between runs.
The persistent test runner can be used by adding the argument --test_strategy=experimental_worker to the bazel test command.
Tested this against:
1. gerrit/gerrit-common:client_tests: Dismal avg. improvement of 580ms to 557ms (just 23ms)
2. intellij/intellij/base:unit_tests: Somewhat modest avg. improvement 1661ms to 913ms (748 ms)
RELNOTES: 1) Java tests and suites will now have to explicitly declare JUnit dependency 2) All non-legacy java_tests will now be run in a
--
PiperOrigin-RevId: 148309979
MOS_MIGRATED_REVID=148309979
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 148281228
MOS_MIGRATED_REVID=148281228
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
__file__ is not necessarily a absoulte path, fix and rename the function
for adding UNC prefix.
Since UNC prefix doesn't work with Python 2, skip adding it if running
in Python 2
--
Change-Id: I274dc0127c1427740c6824533b15299a066cdd83
Reviewed-on: https://cr.bazel.build/9050
PiperOrigin-RevId: 148281049
MOS_MIGRATED_REVID=148281049
|
|
|
|
|
|
|
|
| |
is true.
--
PiperOrigin-RevId: 148277221
MOS_MIGRATED_REVID=148277221
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 148275963
MOS_MIGRATED_REVID=148275963
|
|
|
|
|
|
|
|
|
|
| |
We currently have no need to discern between strings quoted with ' or ". While it could be
nice for something one day (and may have been in the past), it's yagni now. Removing the
distinction simplifies string concatenation.
--
PiperOrigin-RevId: 148273400
MOS_MIGRATED_REVID=148273400
|
|
|
|
|
|
|
|
| |
compiler flags.
--
PiperOrigin-RevId: 148273368
MOS_MIGRATED_REVID=148273368
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a boring naive synchronized implementation.
There's a race condition in my design of the lockless data structure. I haven't been able to come up with a lockless algorithm that actually works, and the naive one seems to be fine. In Blaze's usage, performance actually isn't super important so the naive implementation is fine.
Consider three threads and a MultisetSemaphore with 2 max unique values.
T1: acquireAll({a, b})
T2: acquireAll({a, c})
T3: acquireAll({a, d})
For the for-loop before the 'acquire' call, suppose:
-T1 wins the race to acquire 'a' [1] and also wants to acquire 'b' [1]
-T2 loses the race to acquire 'a' [2] and also wants to acquire 'c' [1]
-T3 loses the race to acquire 'a' [2] and also wants to acquire 'd' [1]
So then in [3] we have:
-T1 tries to acquire 2 permits
-T2 tries to acquire 1 permit
-T3 tries to acquire 1 permit
Suppose the execution order in [3] is T2, T3, T1. So that means we then have T1 still at [3] and both T2 and T3 at [4], which is a deadlock.
[1] https://github.com/bazelbuild/bazel/blob/fa96b04f6c8ca6b6b3464727672267133e852959/src/main/java/com/google/devtools/build/lib/concurrent/MultisetSemaphore.java#L184
[2] https://github.com/bazelbuild/bazel/blob/fa96b04f6c8ca6b6b3464727672267133e852959/src/main/java/com/google/devtools/build/lib/concurrent/MultisetSemaphore.java#L191
[3] https://github.com/bazelbuild/bazel/blob/fa96b04f6c8ca6b6b3464727672267133e852959/src/main/java/com/google/devtools/build/lib/concurrent/MultisetSemaphore.java#L199
[4] https://github.com/bazelbuild/bazel/blob/fa96b04f6c8ca6b6b3464727672267133e852959/src/main/java/com/google/devtools/build/lib/concurrent/MultisetSemaphore.java#L210
--
PiperOrigin-RevId: 148272171
MOS_MIGRATED_REVID=148272171
|
|
|
|
|
|
|
|
| |
android binaries
--
PiperOrigin-RevId: 148270755
MOS_MIGRATED_REVID=148270755
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 148253141
MOS_MIGRATED_REVID=148253141
|
|
|
|
|
|
|
|
| |
there is one) worry about it.
--
PiperOrigin-RevId: 148249223
MOS_MIGRATED_REVID=148249223
|