aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build
Commit message (Collapse)AuthorAge
* Remove ctx.aspect_id and Target.aspect_ids.Gravatar Dmitry Lomov2017-02-23
| | | | | | -- PiperOrigin-RevId: 148322874 MOS_MIGRATED_REVID=148322874
* Add ctx.aspect_ids, deprecate ctx.aspect_id and Target.aspect_ids.Gravatar Dmitry Lomov2017-02-23
| | | | | | | | BUG=35456356 -- PiperOrigin-RevId: 148317662 MOS_MIGRATED_REVID=148317662
* Separate the classpaths of the TestRunner with the test target, and use a ↵Gravatar Kush Chakraborty2017-02-23
| | | | | | | | | | | | | | | | | | | | | | 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
* str.partition and str.rpartition return tuples instead of listsGravatar Vladimir Moskva2017-02-23
| | | | | | -- PiperOrigin-RevId: 148281228 MOS_MIGRATED_REVID=148281228
* Fix python stub_template.txt on Windows Gravatar Yun Peng2017-02-23
| | | | | | | | | | | | | | __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
* APPLE_CROSSTOOL distinguisher is not applied if --apple_crosstool_transition ↵Gravatar Cal Peyser2017-02-23
| | | | | | | | is true. -- PiperOrigin-RevId: 148277221 MOS_MIGRATED_REVID=148277221
* Incrementally dex any Android IDL runtime libraryGravatar Googler2017-02-23
| | | | | | -- PiperOrigin-RevId: 148275963 MOS_MIGRATED_REVID=148275963
* Use skylark-preferred quote char for string literalGravatar Michajlo Matijkiw2017-02-23
| | | | | | | | | | 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
* Update to header thinning feature to create header_scanner actions based on ↵Gravatar Googler2017-02-23
| | | | | | | | compiler flags. -- PiperOrigin-RevId: 148273368 MOS_MIGRATED_REVID=148273368
* Replace the fancy, lockless, and incorrect BoundedMultisetSemaphore and with ↵Gravatar Nathan Harmata2017-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* incrementally dex generated_extension_registry jars generated for top-level ↵Gravatar Googler2017-02-23
| | | | | | | | android binaries -- PiperOrigin-RevId: 148270755 MOS_MIGRATED_REVID=148270755
* Fix broken javadoc link.Gravatar Shreya Bhattarai2017-02-23
| | | | | | -- PiperOrigin-RevId: 148253141 MOS_MIGRATED_REVID=148253141
* Allow absolute symlinks in TreeArtifacts. Let the downstream action (if ↵Gravatar Janak Ramakrishnan2017-02-23
| | | | | | | | there is one) worry about it. -- PiperOrigin-RevId: 148249223 MOS_MIGRATED_REVID=148249223
* Make Expression.eval() public.Gravatar Carmi Grushko2017-02-23
| | | | | | -- PiperOrigin-RevId: 148244816 MOS_MIGRATED_REVID=148244816
* Add detailed rule class/label info when report attribute checking error Gravatar Liangliang He2017-02-22
| | | | | | | | | | | 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
* Some refactoring of LabelValidator Gravatar Damien Martin-Guillerez2017-02-22
| | | | | | | | | | 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
* If dynamic configurations are turned on, ruleclass configuration transitionsGravatar Cal Peyser2017-02-22
| | | | | | | | apply on the top level. -- PiperOrigin-RevId: 148155171 MOS_MIGRATED_REVID=148155171
* Skylark documentation pipeline automatically generates documentation for all ↵Gravatar Florian Weikert2017-02-22
| | | | | | | | | | 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
* Crosstool compilation support for J2ObjcAspect.Gravatar Rumou Duan2017-02-22
| | | | | | | | 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
* Remove Skylark documentation text from Target.class.Gravatar Florian Weikert2017-02-22
| | | | | | | | In Skylark, "Target" refers to TransitiveInfoCollection.class, which contains the real documentation string. -- PiperOrigin-RevId: 148132811 MOS_MIGRATED_REVID=148132811
* Rollback of commit e49886c55a7e2cfd6dd1fc52b037dc2d5a6ca019.Gravatar Adam Michael2017-02-22
| | | | | | | | | | | | *** 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
* Disable bitcode for simulator architectures, regardless of the apple_bitcode ↵Gravatar Chris Parsons2017-02-22
| | | | | | | | flag. -- PiperOrigin-RevId: 148115586 MOS_MIGRATED_REVID=148115586
* Rollback of commit bd3be73b84001dbdb2f05297f215e8eb5bacf0e1.Gravatar Damien Martin-Guillerez2017-02-22
| | | | | | | | | | | | | | | | *** 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
* Error out when the STL label points to an undefined target when merging STLGravatar Luis Fernando Pino Duque2017-02-22
| | | | | | | | and toolchain contexts. -- PiperOrigin-RevId: 148104218 MOS_MIGRATED_REVID=148104218
* Remove 'allowReturnsNone=true' from the ProtoSourcesProvider methods for ↵Gravatar Googler2017-02-22
| | | | | | | | | | 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
* Augmented assignments don't evaluate lhs multiple timesGravatar Vladimir Moskva2017-02-21
| | | | | | -- PiperOrigin-RevId: 148092963 MOS_MIGRATED_REVID=148092963
* Declare all BuildEvents as Postable Gravatar Klaus Aehlig2017-02-21
| | | | | | | | | | | | ...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
* Move Classpath.java from src/test/... to src/main/... since it will be used ↵Gravatar Florian Weikert2017-02-21
| | | | | | | | by the documentation generation in the future. -- PiperOrigin-RevId: 148081562 MOS_MIGRATED_REVID=148081562
* Add interface for extended reporting of events Gravatar Klaus Aehlig2017-02-21
| | | | | | | | | | | | 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
* TestResult: make execRoot visible to subclassesGravatar Klaus Aehlig2017-02-21
| | | | | | -- PiperOrigin-RevId: 148075887 MOS_MIGRATED_REVID=148075887
* Fix spelling of millisGravatar Klaus Aehlig2017-02-21
| | | | | | | | -- Change-Id: I9e1483b9e99751b03d332110db023d99c045cb52 Reviewed-on: https://cr.bazel.build/9012 PiperOrigin-RevId: 148069886 MOS_MIGRATED_REVID=148069886
* parseBuildString doesn't crash on files with hash lines.Gravatar Carmi Grushko2017-02-21
| | | | | | -- PiperOrigin-RevId: 148042501 MOS_MIGRATED_REVID=148042501
* Raise error in function calls when star argument is not iterableGravatar Laurent Le Brun2017-02-20
| | | | | | | | This was a bug, f(*4) was silently handled as f(). -- PiperOrigin-RevId: 148017021 MOS_MIGRATED_REVID=148017021
* Rollback of commit 59b01953143562502dc036735c2cd23e5255cb24.Gravatar Laurent Le Brun2017-02-20
| | | | | | | | | | | | | | | | *** 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
* Rollback of commit 1cb5059396e46d9ff2c317b8a0a046af32b3a1d8.Gravatar Ulf Adams2017-02-20
| | | | | | | | | | | | | | | | | | | | | | | | | | *** 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
* Make Python zip extraction work with paths bigger than 256 characters. Gravatar Andreas Bergmeier2017-02-20
| | | | | | | | | | | | | | | | 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
* Update doc wrt set vs depset.Gravatar Laurent Le Brun2017-02-20
| | | | | | -- PiperOrigin-RevId: 147908180 MOS_MIGRATED_REVID=147908180
* Add missing fall through commentGravatar Liam Miller-Cushon2017-02-20
| | | | | | -- PiperOrigin-RevId: 147892584 MOS_MIGRATED_REVID=147892584
* Avoid crashing on proto_libraries when not incrementally dexing lite protos.Gravatar Googler2017-02-20
| | | | | | -- PiperOrigin-RevId: 147876411 MOS_MIGRATED_REVID=147876411
* Tune naming of Android data binding metadata files.Gravatar Greg Estren2017-02-20
| | | | | | | | | | | | | | | | 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
* Make android_ndk_repository api_level attribute optional.Gravatar Adam Michael2017-02-20
| | | | | | | | | | | | | 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
* Rollback of commit 41c2a26eef89167e807cbc9f33487dc66bb757d3.Gravatar Carmi Grushko2017-02-20
| | | | | | | | | | 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
* apple_binary extension_safe attribute results in configuration transition on ↵Gravatar Chris Parsons2017-02-20
| | | | | | | | | | dependencies RELNOTES: apple_binary has a new "extension_safe" attribute to set extension compilation options on dependencies. -- PiperOrigin-RevId: 147864346 MOS_MIGRATED_REVID=147864346
* Deprecate the legacy_java_test flag, now that nolegacy_java_test has been ↵Gravatar Kush Chakraborty2017-02-20
| | | | | | | | | | 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
* Switch J2ObjC to use compile-time jars (interface and header jars) instead ↵Gravatar Rumou Duan2017-02-20
| | | | | | | | of actual class jars. This should improve the action cache hit for J2ObjC translation actions. -- PiperOrigin-RevId: 147836893 MOS_MIGRATED_REVID=147836893
* Progress on Skylarkified java_lite_proto_library.Gravatar Irina Iancu2017-02-20
| | | | | | | | | | * 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
* Rollback of commit 4b73e972d909bcd533f2f9940f95a00b9b73bdde.Gravatar Dmitry Lomov2017-02-17
| | | | | | | | | | | | | | | | | | | | | | | *** 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
* Fix --run_under to work with labels that describe source or output filesGravatar Ulf Adams2017-02-17
| | | | | | | | | 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
* Rollback of commit 8bae4f4e99594118b7ce651f7779f92e7683cdd0.Gravatar Dmitry Lomov2017-02-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | *** 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
* Make the interface dynamic library builder a regular label instead of a ↵Gravatar Lukacs Berki2017-02-17
| | | | | | | | magic artifact. -- PiperOrigin-RevId: 147830857 MOS_MIGRATED_REVID=147830857