aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Move bazel conditions into src/conditions.Gravatar tomlu2017-11-30
| | | | | | | This will enable an easier transition from checked-in BUILD files to ones generated by copybara. RELNOTES: None PiperOrigin-RevId: 177514519
* Add rexopts attribute to android_binary.Gravatar dannark2017-11-30
| | | | | RELNOTES: None PiperOrigin-RevId: 177510583
* Remove some unused code from GenRuleBaseGravatar ulfjack2017-11-30
| | | | PiperOrigin-RevId: 177504645
* Suppress ThinLTO indexing for linkstatic testsGravatar Googler2017-11-30
| | | | | | | | | | | | | ThinLTO and static linking of test suites is a bad combination since it results in a combinatorial explosion of the ThinLTO backends - each object file needs a separate LTO backend action per target. If you are static linking O(N) objects, and have O(M) targets, with ThinLTO you will get O(N*M) LTO backend jobs. This is because the whole program optimization step is per-target, and may make different decisions affecting the object files. With dynamic linking it isn't a problem, since the ThinLTO optimization happens at the .so level, which are shared across tests. And for statically-linked cc_binary it hasn't been an issue since typically only a single target is built at a time, unlike tests. In general it isn't incredibly useful to run tests with ThinLTO, although most projects are in the habit of running their tests with the same options that they use to optimize their main binary (and most blueprints seem to be set up to share options between them). With ThinLTO since it is doing whole-program optimization, you are getting different whole-program optimizations for the main binary and each test binary, so it isn't the case that this will optimize the tests in the same exact way as the main binary anyway. Therefore, when creating LTO backends for statically-linked *_test targets, skip the LTO indexing stage, and create (or use if already created) shared dummy LTO backend actions for each library. These LTO backends are fed an empty index, so they don't do any whole program optimization and are safe to share. Enable this under a new feature so that we can enable it by default via blazerc but provide a facility to disable if needed. RELNOTES: None PiperOrigin-RevId: 177495858
* Update tests to use the label-based load() syntax.Gravatar laurentlb2017-11-30
| | | | | RELNOTES: None. PiperOrigin-RevId: 177487913
* Refactor the FileSystem API to allow for different hash functions.Gravatar buchgr2017-11-30
| | | | | | | | | | | | | Refactor the FileSystem class to include the hash function as an instance field. This allows us to have a different hash function per FileSystem and removes technical debt, as currently that's somewhat accomplished by a horrible hack that has a static method to set the hash function for all FileSystem instances. The FileSystem's default hash function remains MD5. RELNOTES: None PiperOrigin-RevId: 177479772
* Remove no-longer-needed experimental_android_inherit_resources_in_tests flagGravatar Googler2017-11-30
| | | | | | | This flag was turned on everywhere and can now be removed. RELNOTES: none PiperOrigin-RevId: 177478329
* Update some of the tests to use the label-based load() syntax.Gravatar laurentlb2017-11-30
| | | | | RELNOTES: None. PiperOrigin-RevId: 177476726
* Refactor Android rule classes to minimize bazel specific stuff.Gravatar ajmichael2017-11-30
| | | | | RELNOTES: None PiperOrigin-RevId: 177463650
* Improve the error messaging by suppressing stack traces for expected errors.Gravatar corysmith2017-11-30
| | | | | RELNOTES: None PiperOrigin-RevId: 177460834
* Remove unused code from RuleSetUtilsGravatar Googler2017-11-30
| | | | PiperOrigin-RevId: 177459771
* Fix documentationGravatar vladmos2017-11-30
| | | | | | | Replace code definitions that cannot be recognised by Jekyll with standard definitions. PiperOrigin-RevId: 177453968
* Make "timeout" a constant in ExecutionRequirementsGravatar ulfjack2017-11-30
| | | | PiperOrigin-RevId: 177453738
* Set --objc_debug_with_GLIBCXX=false by default in the Bazel binary.Gravatar cpeyser2017-11-30
| | | | PiperOrigin-RevId: 177452571
* Simplify tagged event handling.Gravatar ulfjack2017-11-30
| | | | | | | | | | | | Don't make copies of Events on replay. The same events may be replayed a lot, so it's better to copy before storing the events. Also avoid a copy if the tag doesn't actually change. The intent of this change is to reduce gc churn on incremental builds. When I wrote this change (~a year ago), this was a noticable source of gc churn in some benchmarks I ran at the time. PiperOrigin-RevId: 177450696
* Switch ExtraActionFactory to the Expander APIGravatar ulfjack2017-11-30
| | | | | | | This is a partial roll-forward of https://github.com/bazelbuild/bazel/commit/e8d32b7c922f65539b74357711d5ad6b70934115, which was rolled back due to genrule breakages - this part doesn't affect genrules, so it should be safe. PiperOrigin-RevId: 177450542
* Move BazelRuleClassProvider.CONFIG_RULES to its own class in the config package.Gravatar lpino2017-11-30
| | | | PiperOrigin-RevId: 177447905
* PiperOrigin-RevId: 177447311Gravatar Googler2017-11-30
|
* Skylint: Add a warning for the '|' operator.Gravatar laurentlb2017-11-30
| | | | | | | Also, minor fix for the += operator check. RELNOTES: None. PiperOrigin-RevId: 177444203
* Mark relative_to_caller_repository as deprecated in Label constructor.Gravatar laurentlb2017-11-30
| | | | | RELNOTES: in the Label() function, relative_to_caller_repository is now deprecated. PiperOrigin-RevId: 177443907
* remote: don't hide non-test failures behind test failures. Fixes #4082Gravatar buchgr2017-11-30
| | | | | | | | | | Bazel should display the root cause of a test failure to the user. For example, if a test could not be executed on a remote executor due to there being no network connection, then it shouldn't display the test as failed but tell the user about the network error. RELNOTES: PiperOrigin-RevId: 177439578
* Take MB/s into account for the Slow read message.Gravatar Austin Schuh2017-11-30
| | | | | | | | | | | Slow read: a 1253924941-byte read from image.tar.gz took 5396ms. is 221 MB/s, which is smokin' fast, not slow :P Fixes: #3967 Change-Id: Ieca7464e0a670ade52f80172408334c9fc3a5b52 PiperOrigin-RevId: 177438364
* Do not filter debug messagesGravatar vladmos2017-11-30
| | | | | | | Debug messages (generated with Skylark's `print` function) used to be filtered out by the output filter: if such messages are generated during the analysis phase in a package different to the target package (e.g. if a user builds //foo:foo and the message is generated in a dependency //bar:bar), the message are not shown by default, which makes an erroneous impression that the code for //bar:bar hasn't been executed at all and interferes with debugging. Now the output filter doesn't affect debug messages at all. RELNOTES: Debug messages generated by `print()` are not being filtered out by --output_filter anymore, it's recommended not to use them in production code. PiperOrigin-RevId: 177431255
* Successful SpawnResult is not a user error.Gravatar buchgr2017-11-30
| | | | PiperOrigin-RevId: 177428407
* Buffer blaze queryGravatar ulfjack2017-11-30
| | | | | | | | | | | It was previously sending each label individually over gRPC, where each call has a lot of overhead. This makes queries with a large amount of output _a lot_ faster. For an example query where all packages are already loaded, I observe a difference of ~3.5s before this change to ~1.6s after this change. PiperOrigin-RevId: 177426957
* Emit Blaze server pid when there is a connection timeout.Gravatar felly2017-11-30
| | | | | RELNOTES: None PiperOrigin-RevId: 177420511
* Add a CommandLineBuilder for the process-wrapper embedded tool, and use it ↵Gravatar ruperts2017-11-30
| | | | | | | | | everywhere instead of duplicating process-wrapper --shell_arguments in Blaze. To avoid a cyclic dependency, I broke up exec/local:local into exec/local:local and exec/local:options. RELNOTES: None. PiperOrigin-RevId: 177419268
* Explicitly validate that the argument to JarCreator.addDirectory existsGravatar cushon2017-11-29
| | | | | | Follow-up to https://github.com/bazelbuild/bazel/commit/0b2352de3101e87647d083f6089246079dda0f75 PiperOrigin-RevId: 177415788
* Add android_local_test base class.Gravatar dannark2017-11-29
| | | | | RELNOTES: None PiperOrigin-RevId: 177414939
* Add support for package specification-based java_plugin configurationGravatar cushon2017-11-29
| | | | | | | | This change allows java_plugins to be enabled for the set of packages described by a package group, using a new java_plugin_configuration rule that can be added to a java_toolchain configuration. PiperOrigin-RevId: 177410831
* Fix protoc_compiler variable in testenv.sh and add ↵Gravatar ruperts2017-11-29
| | | | | | | //third_party/protobuf:protoc dependency to process_wrapper_test. RELNOTES: None. PiperOrigin-RevId: 177399066
* RuleFormatter: Skip Skylark-defined ComputedDefault attributes instead of ↵Gravatar carmi2017-11-29
| | | | | | | crashing. RELNOTES: None PiperOrigin-RevId: 177376100
* Add C++ Make variables to cc_binary, cc_library, and cc_test automatically whenGravatar cpeyser2017-11-29
| | | | | | | | | Make variables are derived from toolchain. This will allow c++ targets to use c++ Make variables once platforms are activated without declaring an explicit dependency on the c++ toolchain. PiperOrigin-RevId: 177365568
* Open source the top-level Skylark object cc_common. cc_common provides SkylarkGravatar cpeyser2017-11-29
| | | | | | | | | rules with access to the CcToolchainProvider. cc_common is required to migrate open-source users of the Skylark endpoints on CppConfiguration to CcToolchainProvider. PiperOrigin-RevId: 177364710
* Add ActionKeyContext to Action#getKey.Gravatar tomlu2017-11-29
| | | | | | | This key context can be used by actions to share partial key computations, for instance when computing MD5s for nested sets. RELNOTES: None PiperOrigin-RevId: 177359607
* Don't use //base:system_malloc for spend_cpu_time testing tool.Gravatar ruperts2017-11-29
| | | | | RELNOTES: None. PiperOrigin-RevId: 177342763
* Remove the check "Reassignment of builtin" in BUILD files.Gravatar laurentlb2017-11-29
| | | | | | | If the check is useful, it can be done in the linter. RELNOTES: None. PiperOrigin-RevId: 177342483
* invoke a separate splitter action in multidex builds (behind flag)Gravatar kmb2017-11-29
| | | | PiperOrigin-RevId: 177341750
* MockRule-ify some more tests.Gravatar gregce2017-11-29
| | | | PiperOrigin-RevId: 177339358
* Add a static method GroupedList#numElements to allow to count the number of ↵Gravatar shreyax2017-11-29
| | | | | | deps from a compressed GroupedList without uncompressing it. Also some minor GC improvements. PiperOrigin-RevId: 177338852
* Improve error messaging for invalid values of the --xcode_version flag.Gravatar cparsons2017-11-29
| | | | | RELNOTES: None. PiperOrigin-RevId: 177337384
* Remove the concept of a mandatory input which is allowed to be missing.Gravatar Googler2017-11-29
| | | | | RELNOTES: None. PiperOrigin-RevId: 177332323
* Revert name of coverage_suppot to coverage_support.Gravatar cparsons2017-11-29
| | | | | | | The previous change was accidental. RELNOTES: None. PiperOrigin-RevId: 177330228
* Remove some unused extension points.Gravatar Googler2017-11-29
| | | | | RELNOTES: None. PiperOrigin-RevId: 177326265
* Add some minor debugging messages to discard_analysis_cache_test, ↵Gravatar janakr2017-11-29
| | | | | | | | purportedly to diagnose issue #4181. My real hope is to achieve the effect I got in discard_graph_edges_test, where the debugging messages seem to have made the flakiness go away, but since this is less multithreaded, I'm less hopeful. PiperOrigin-RevId: 177325229
* Improve depset documentation.Gravatar laurentlb2017-11-29
| | | | | RELNOTES: None. PiperOrigin-RevId: 177321286
* Move CcToolchainTypeRule to CPP_RULES, as opposed to PLATFORM_RULES. It ↵Gravatar cpeyser2017-11-29
| | | | | | more logically belongs with other c++ rule types. PiperOrigin-RevId: 177313718
* RestBlobStore: add missing CAS_PREFIXGravatar nicolov2017-11-29
| | | | | | | | | According to the SimpleBlobStore interface `containsKey` should look up blobs in the CAS. However, the URL it requests is missing `CAS_PREFIX`, so it will never find anything. Closes #4118. PiperOrigin-RevId: 177313658
* Create the output source jar in java_common.compileGravatar elenairina2017-11-29
| | | | | | | | | | | | | | | | | and expose transitive source jars to Skylark. Initial change was rolled back (unknown commit). java_common.compile wouldn't fill the JavaRuleOutputJarsProvider when there was only one input source jar. Fixed that and added test (there was one before, but didn't check this particular provider). Slightly refactor java classes to take in specific host javabase inputs and host java executable for creating the source jar, instead of always relying on fetching them from native java rules specific attributes. Creating the output source jar in java_common.compile makes the behavior more similar to java_library. Exposing the transitive_source_jars to Skylark helps with the Skylark migration from the old 'java' provider to JavaInfo. Progress on #2614. RELNOTES: transitive_source_jars is now exposed on JavaInfo. PiperOrigin-RevId: 177311138
* Fix strip-prefix typo in docsGravatar Ed Baunton2017-11-29
| | | | | | | | The usage is `strip_prefix` not `strip-prefix`. Closes #4162. PiperOrigin-RevId: 177311042