aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Add the LABEL_KEYED_STRING_DICT type for attributes.Gravatar Michael Staib2017-02-24
| | | | | | | | | 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
* Remove duplicate genrule documentation on base class.Gravatar John Cater2017-02-24
| | | | | | | | -- Change-Id: Ie33953add6a582368b6b0da74c478a8dd301acb4 Reviewed-on: https://cr.bazel.build/9041 PiperOrigin-RevId: 148355280 MOS_MIGRATED_REVID=148355280
* Filter android_binary resources during analysisGravatar Googler2017-02-24
| | | | | | | | | | | | | | | | | | | | | | 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
* Implicitly generate Proguard obfuscation mapping file for android_binary ↵Gravatar Andrew Pellegrini2017-02-24
| | | | | | | | | | 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
* Fix typo.Gravatar Nathan Harmata2017-02-24
| | | | | | -- PiperOrigin-RevId: 148349051 MOS_MIGRATED_REVID=148349051
* Add commit link to githubGravatar Yue Gan2017-02-24
| | | | | | -- PiperOrigin-RevId: 148345988 MOS_MIGRATED_REVID=148345988
* Report inconsistent aspect order error to the user.Gravatar Dmitry Lomov2017-02-24
| | | | | | -- PiperOrigin-RevId: 148342788 MOS_MIGRATED_REVID=148342788
* Bazel client: make jvm.log path platform-safe Gravatar László Csomor2017-02-24
| | | | | | | | | | | | | | | | | When writing the javalog.properties file that configures the java logger, pass the log file path in a platform safe manner. Namely if we're running on Windows, don't write paths with backslashes because they are mistaken for paths with escaped characters. Fixes: https://github.com/bazelbuild/bazel/issues/2576 -- Change-Id: Ibd907c13f1ffe4561c3a4e737f0c2b25ec5d4b17 Reviewed-on: https://cr.bazel.build/9059 PiperOrigin-RevId: 148342757 MOS_MIGRATED_REVID=148342757
* Expose rpath entries as a build variableGravatar Marcel Hlopko2017-02-24
| | | | | | | | Unlike commit e2239cc61ca170ff9a65e1a94c3344d2b272c9e2, this only adds "." to the rpath if isNativeDeps is true. -- PiperOrigin-RevId: 148330144 MOS_MIGRATED_REVID=148330144
* Pass in the "coverage enabled" flag on the C++ linkstamp compile command line.Gravatar Lukacs Berki2017-02-24
| | | | | | -- PiperOrigin-RevId: 148329920 MOS_MIGRATED_REVID=148329920
* Upgrade //third_party/protobuf to v3.2.0Gravatar Carmi Grushko2017-02-23
| | | | | | | with some backports from HEAD (:java_toolchain, internal_gen_well_known_protos_java) Change-Id: I54be8809f411ec8cb02203b478f699e1fccb5f62
* Add ProtoJavaApiInfoAspectProvider to JavaProvider.Gravatar Irina Iancu2017-02-23
| | | | | | | | | 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
* Remove ctx.aspect_id and Target.aspect_ids.Gravatar Dmitry Lomov2017-02-23
| | | | | | -- PiperOrigin-RevId: 148322874 MOS_MIGRATED_REVID=148322874
* Fix BUILD file mistakes in code generator.Gravatar Yue Gan2017-02-23
| | | | | | -- PiperOrigin-RevId: 148320212 MOS_MIGRATED_REVID=148320212
* 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
* roll-forward of "Delete temporary directory on exit"Gravatar Colin Cross2017-02-23
| | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Bazel build is fixed by making fields referenced from inner class final. Clean reapply of commit 9a05f3bc58f9845bf41f9f8031e97b09e5348855 with "Path directory" arguments changed to "final Path directory". *** Original change description *** Revert "Delete temporary directory on exit" This reverts commit 9a05f3bc58f9845bf41f9f8031e97b09e5348855. This change breaks Bazel: http://ci.bazel.io/job/bazel-tests/555/BAZEL_VERSION=HEAD,PLATFORM_NAME=windows-x86_64/console Fixes #2552 -- PiperOrigin-RevId: 148293996 MOS_MIGRATED_REVID=148293996
* Re-enable bazel_windows_example_test Gravatar Yun Peng2017-02-23
| | | | | | | | | | Fixed #2178 -- Change-Id: I64557fafab04cb9a8ffa0d96825ac75c979b3e12 Reviewed-on: https://cr.bazel.build/9051 PiperOrigin-RevId: 148292023 MOS_MIGRATED_REVID=148292023
* Make bazel_bootstrap_distfile_test work on WindowsGravatar Yun Peng2017-02-23
| | | | | | | | -- Change-Id: Ia6c94304fded25de48eda2060c5ec11368ff172c Reviewed-on: https://cr.bazel.build/8991 PiperOrigin-RevId: 148286095 MOS_MIGRATED_REVID=148286095
* 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
* Add a flag to enable desugaring java.* classes by rewriting package namesGravatar Colin Cross2017-02-23
| | | | | | | | java.* and sun.* classes cannot be desugared directly because there are hard coded restrictions in the JVM that prevent using loading or using reflection on them. Add a --core_library flag that rewrites package names to have a __desugar__ prefix when reading them, and strips the prefix when writing them back out. -- PiperOrigin-RevId: 148273386 MOS_MIGRATED_REVID=148273386
* 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
* Rolling forward the change to open source JUnit integration tests.Gravatar Kush Chakraborty2017-02-23
| | | | | | | | | | | | | | | | | | | | Fixed failures by removing the (expected) failing XML reports from the path, to stop Jenkins from reporting a failure despite passing tests. After removing the XMLs I see jenkins passing where it was previously failing: http://ci.bazel.io/job/Gerrit-bazel-tests/419/ (caused by an un-clean version of this change https://bazel-review.googlesource.com/c/9039/) <Rollback history below> *** Original change description *** Automated [] rollback of commit 9822151a2ab0574b3d7a884f623b6b260258cd6b. *** Reason for rollback *** Jenkins reports the tests as failing. See #2554 for more details. -- PiperOrigin-RevId: 148268951 MOS_MIGRATED_REVID=148268951
* Filter out Blaze-specific javacopts in VanillaJavaBuilderGravatar Liam Miller-Cushon2017-02-23
| | | | | | | | | e.g. Error Prone flags, since VanillaJavaBuilder doesn't support them. -- PiperOrigin-RevId: 148263963 MOS_MIGRATED_REVID=148263963
* change incremental dexing fallback in DexFileMerger to behave exactly as if ↵Gravatar Googler2017-02-23
| | | | | | | | | | classes were converted to dex. -- PiperOrigin-RevId: 148255629 MOS_MIGRATED_REVID=148255629
* Fix broken javadoc link.Gravatar Shreya Bhattarai2017-02-23
| | | | | | -- PiperOrigin-RevId: 148253141 MOS_MIGRATED_REVID=148253141
* Remove mobile-install stub app targets from BUILD files.Gravatar Adam Michael2017-02-23
| | | | | | | | | | | These targets are unneeded and do not build without an android_sdk_repository set up. This issue was identified in https://github.com/bazelbuild/bazel/issues/2559. -- PiperOrigin-RevId: 148251416 MOS_MIGRATED_REVID=148251416
* 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
* Give users a hint at what could be wrong when an imported blazerc cannot be ↵Gravatar Googler2017-02-22
| | | | | | | | found. -- PiperOrigin-RevId: 148199034 MOS_MIGRATED_REVID=148199034
* 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
* Add javac-9-dev-r3297-3Gravatar Liam Miller-Cushon2017-02-22
| | | | | | https://github.com/google/error-prone-javac/archive/9-dev-r3297-3.zip Change-Id: I78b073c8db4a525d19b73650ed8d3a12b10ff86a
* 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
* Remove javac-turbine hack to support a non-standard annotation processorGravatar Liam Miller-Cushon2017-02-22
| | | | | | -- PiperOrigin-RevId: 148125885 MOS_MIGRATED_REVID=148125885
* 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