| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 148244816
MOS_MIGRATED_REVID=148244816
|
|
|
|
|
|
|
|
|
|
|
| |
This PR addresses comment by @gregestren in https://github.com/bazelbuild/bazel/pull/2531
Closes #2546.
--
Reviewed-on: https://github.com/bazelbuild/bazel/pull/2546
PiperOrigin-RevId: 148201730
MOS_MIGRATED_REVID=148201730
|
|
|
|
|
|
|
|
|
|
| |
Removed obsoleted TODOs and use more character matcher for package name validation
--
Change-Id: I7e8b69e34b0befe8a81c7c32924299790b6c56d0
Reviewed-on: https://cr.bazel.build/9052
PiperOrigin-RevId: 148195881
MOS_MIGRATED_REVID=148195881
|
|
|
|
|
|
|
|
| |
apply on the top level.
--
PiperOrigin-RevId: 148155171
MOS_MIGRATED_REVID=148155171
|
|
|
|
|
|
|
|
|
|
| |
Skylark modules.
With this change, we no longer have to manually register modules whose generation should be generated. Manual registration turned out to be prone to errors since engineers didn't know about it or simply forgot to register their modules. As a result, we had ~20 modules that featured nice documentation texts, but that were not being picked up by the documentation pipeline.
--
PiperOrigin-RevId: 148136776
MOS_MIGRATED_REVID=148136776
|
|
|
|
|
|
|
|
| |
Note that I also have to make some changes to cpp files to add the ability to specify a suffix for linked artifacts. This helps to avoid an artifact conflict between proto_library and J2ObjcAspect acting on proto_library, where both will create an archive file. J2ObjcAspect will simply generate a "_j2objc.a" archive instead of ".a" archive.
--
PiperOrigin-RevId: 148135630
MOS_MIGRATED_REVID=148135630
|
|
|
|
|
|
|
|
| |
In Skylark, "Target" refers to TransitiveInfoCollection.class, which contains the real documentation string.
--
PiperOrigin-RevId: 148132811
MOS_MIGRATED_REVID=148132811
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Rollforward with fix for android_integration_test.sh. android_integration_test.sh should no longer make assumptions about the SDK api_level that is installed.
Note that it does still assume NDK api_level 24 and support libraries 24.0.0 and android_sdk_repository itself requires build_tools_version >= 24.0.3. I will try and loosen the first two of those dependencies of this test at some point.
--
PiperOrigin-RevId: 148130764
MOS_MIGRATED_REVID=148130764
|
|
|
|
|
|
|
|
| |
flag.
--
PiperOrigin-RevId: 148115586
MOS_MIGRATED_REVID=148115586
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
To deprecate that flag, we need to fix #2539 first.
*** Original change description ***
Deprecate the legacy_java_test flag, now that nolegacy_java_test has been the default for quite a while now.
RELNOTES[INC]: legacy_java_test flag will not have any effect now.
--
PiperOrigin-RevId: 148107667
MOS_MIGRATED_REVID=148107667
|
|
|
|
|
|
|
|
| |
and toolchain contexts.
--
PiperOrigin-RevId: 148104218
MOS_MIGRATED_REVID=148104218
|
|
|
|
|
|
|
|
|
|
| |
descriptors
these fields currently can't return null/None (since the @AutoValue will reject it) and there doesn't seem to be a reason to think that they might in the future so i think this is safe to remove.
--
PiperOrigin-RevId: 148099927
MOS_MIGRATED_REVID=148099927
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 148092963
MOS_MIGRATED_REVID=148092963
|
|
|
|
|
|
|
|
|
|
|
|
| |
...through the ExtendedEventHandler. The main use case of the extended
event handler is to allow posting of BuildEvents. So it is implicit that
they are all good to be posted. Declare this.
--
Change-Id: I9fcb2f33e57e05c3a05509b1121e44396f28c168
Reviewed-on: https://cr.bazel.build/9011
PiperOrigin-RevId: 148090465
MOS_MIGRATED_REVID=148090465
|