| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
by the documentation generation in the future.
--
PiperOrigin-RevId: 148081562
MOS_MIGRATED_REVID=148081562
|
|
|
|
|
|
|
|
|
|
|
|
| |
Not in all situation, having an EventHandler allows detailed enough
reporting on events during the build. Therefore add a new interface
that additionally allows posting arbitrary objects on the event bus.
--
Change-Id: I6ff3eebcad5f36b52c38d3f7ac20df8af2706821
Reviewed-on: https://cr.bazel.build/8793
PiperOrigin-RevId: 148078891
MOS_MIGRATED_REVID=148078891
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 148075887
MOS_MIGRATED_REVID=148075887
|
|
|
|
|
|
|
|
| |
--
Change-Id: I9e1483b9e99751b03d332110db023d99c045cb52
Reviewed-on: https://cr.bazel.build/9012
PiperOrigin-RevId: 148069886
MOS_MIGRATED_REVID=148069886
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 148042501
MOS_MIGRATED_REVID=148042501
|
|
|
|
|
|
|
|
| |
This was a bug, f(*4) was silently handled as f().
--
PiperOrigin-RevId: 148017021
MOS_MIGRATED_REVID=148017021
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks Blaze nightly
*** Original change description ***
apple_binary extension_safe attribute results in configuration transition on dependencies
RELNOTES: apple_binary has a new "extension_safe" attribute to set extension compilation options on dependencies.
--
PiperOrigin-RevId: 148009147
MOS_MIGRATED_REVID=148009147
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks TEST_BINARY env setting if --run_under is used.
*** Original change description ***
Rewrite TestStrategy.getArgs
This changes command-line computation for tests:
- run the coverage collector before the run_under command
- no shell escaping: if all tools just call "$@", then this should work
Note that we still wrap the command in a sub-shell to support shell built-ins
and PATH lookup if the command does not contain a slash character '/'.
A side effect of this change is that the --run_under command now executes in
the test's runfiles directory, rather than in the exec root, if...
***
--
PiperOrigin-RevId: 148003525
MOS_MIGRATED_REVID=148003525
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes Windows + Python3. Probably does not work for Python2!
@meteorcloudy This is part of the fix. Can you look into porting that to Python2? I have no idea how to properly handle unicode strings in Python2.
With that patch, it then later fails in the assert on line 134.
Closes #2496.
Fixed https://github.com/bazelbuild/bazel/issues/2504
--
Reviewed-on: https://github.com/bazelbuild/bazel/pull/2496
PiperOrigin-RevId: 147975131
MOS_MIGRATED_REVID=147975131
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 147908180
MOS_MIGRATED_REVID=147908180
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 147892584
MOS_MIGRATED_REVID=147892584
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 147876411
MOS_MIGRATED_REVID=147876411
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This puts Bazel in line with the paths actually produced by the data
binding resource processor.
This difference matters when the library name doesn't match the package
name (the build fails without this change).
I started writing a shell integration test to check this end-to-end. But
staging all the data binding support libs and their deps is a mess. Too much
so, IMO.
--
PiperOrigin-RevId: 147868538
MOS_MIGRATED_REVID=147868538
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If not specified, the highest api level in the NDK is used.
This is one more step towards the goal of making android_{s,n}dk_repository better for our users in https://github.com/bazelbuild/bazel/issues/2284.
RELNOTES: android_ndk_repository api_level attribute is now optional. If not
specified, the highest api level in the ndk/platforms directory is used.
--
PiperOrigin-RevId: 147868288
MOS_MIGRATED_REVID=147868288
|
|
|
|
|
|
|
|
|
|
| |
This is not a clean rollback:
I had to change CppCompileAction on line 1278 and pass cppSemantics.getIncludeProcessing().
Please flag this if it doesn't make sense :)
--
PiperOrigin-RevId: 147868235
MOS_MIGRATED_REVID=147868235
|
|
|
|
|
|
|
|
|
|
| |
dependencies
RELNOTES: apple_binary has a new "extension_safe" attribute to set extension compilation options on dependencies.
--
PiperOrigin-RevId: 147864346
MOS_MIGRATED_REVID=147864346
|
|
|
|
|
|
|
|
|
|
| |
the default for quite a while now.
RELNOTES[INC]: legacy_java_test flag will not have any effect now.
--
PiperOrigin-RevId: 147851661
MOS_MIGRATED_REVID=147851661
|
|
|
|
|
|
|
|
| |
of actual class jars. This should improve the action cache hit for J2ObjC translation actions.
--
PiperOrigin-RevId: 147836893
MOS_MIGRATED_REVID=147836893
|
|
|
|
|
|
|
|
|
|
| |
* Exposed transitive_runtime_jars from the former black-box JavaProvider.
* Added support for aliases.
* Returned the runfiles from the Skylark rule of java_lite_proto_library.
--
PiperOrigin-RevId: 147834471
MOS_MIGRATED_REVID=147834471
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Broke tests on CI: http://ci.bazel.io/job/bazel-tests/570/
*** Original change description ***
Roll forward execroot change
RELNOTES[INC]: Previously, an external repository would be symlinked into the
execution root at execroot/local_repo/external/remote_repo. This changes it to
be at execroot/remote_repo. This may break genrules/Skylark actions that
hardcode execution root paths. If this causes breakages for you, ensure that
genrules are using $(location :target) to access files and Skylark rules are
using http://bazel.io/docs/skylark/lib/File.html's path, dirname, etc.
functions. Cust...
--
PiperOrigin-RevId: 147833177
MOS_MIGRATED_REVID=147833177
|
|
|
|
|
|
|
|
|
| |
Before this change, running with --run_under=//foo:foo.sh gave an error,
if foo.sh is an executable shell script.
--
PiperOrigin-RevId: 147831484
MOS_MIGRATED_REVID=147831484
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Reverting this because we need to revert commit 4b73e972d909bcd533f2f9940f95a00b9b73bdde. (See unknown commit).
*** Original change description ***
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 re...
***
--
PiperOrigin-RevId: 147831409
MOS_MIGRATED_REVID=147831409
|
|
|
|
|
|
|
|
| |
magic artifact.
--
PiperOrigin-RevId: 147830857
MOS_MIGRATED_REVID=147830857
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It was previously in unix, but also used from non-unix file systems, which
means it's not actually unix-specific. This is in preparation for splitting
compilation of the unix and windows file systems into separate libraries.
That improves layering and reduces compile times - note that Bazel already
injects the vfs into its lower layers, which should only rely on the normal
vfs APIs, not on anything platform-specific.
--
PiperOrigin-RevId: 147829659
MOS_MIGRATED_REVID=147829659
|