aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Delete Literal.javaGravatar laurentlb2017-08-17
| | | | | RELNOTES: None. PiperOrigin-RevId: 165422514
* When a worker can no longer be used, because one or more of its files on ↵Gravatar philwo2017-08-17
| | | | | | | disk have changed since it was launched, print *which* files have changed. RELNOTES: Improved logging when workers have to be restarted due to its files having changed. PiperOrigin-RevId: 165419664
* Remove methods that shouldn't belong to FuncallExprGravatar fzaiser2017-08-17
| | | | | RELNOTES: None PiperOrigin-RevId: 165419360
* Use cached values for option converter types.Gravatar ccalvarin2017-08-16
| | | | | | This requires us to have OptionsData for all usage messages, since static functionality is being removed, but this should already have been the case. It was added as an optional argument when the expansion function feature was added, but there is actually no reason not to require it, as the public interface for usage text was already computing the optionsData anyway. PiperOrigin-RevId: 165386893
* Add more type safety to CustomCommandLine.Gravatar tomlu2017-08-16
| | | | | | | | | | | | Allowing add(Object) is too loose and can easily lead to programmer mistakes. Because of type erasure, we can't use the same overload name for (eg.) add(NestedSet<String>) and add(NestedSet<Artifact>). The API is overhauled to use the same terms everywhere, eg. "add", "addPaths", "addExecPaths". This is similar to how it used to be a few CLs ago. The API is overhauled to make sure it's consistent for all types. While tedious, the facade methods immediately dispatch to internal helpers, so implementation wise it's not too heavy. While large, this CL is almost entirely an automated refactor. PiperOrigin-RevId: 165358287
* Add the command option --experimental_oom_more_eagerly_threshold. This will ↵Gravatar janakr2017-08-16
| | | | | | replace the startup option after a deprecation period. PiperOrigin-RevId: 165340514
* android_library can be used in the resources attributeGravatar Googler2017-08-16
| | | | | | | | | | | | | | | | | | | | | | This allows us to perform a more gradual migration away from the android_resources rule. Specifically, rather than move all android_resources targets and simultaneously move all resources attributes, we can now first transform all android_resources rules into android_library rules, and then afterwards migrate dependencies on those rules from resources into deps. This allows a two-part migration. The resources attribute, once allowed to take android_library targets, should continue to work exactly as before. There is one change in behavior - for this to work, android_library targets now need to build an output APK during resource processing. This APK will be removed once the resources attribute is removed. Once the migration is complete, the resources attribute will be removed completely. RELNOTES: none PiperOrigin-RevId: 165313447
* Delete unused ObjcProvider keys.Gravatar schmitt2017-08-16
| | | | | RELNOTES: Removing a few unused objc_provider keys. PiperOrigin-RevId: 165230824
* Delete last vestiges of xcodegen.Gravatar schmitt2017-08-16
| | | | | RELNOTES: None. PiperOrigin-RevId: 165215334
* Send Bazel startup options to server.Gravatar ccalvarin2017-08-16
| | | | | | | | | | | Send the startup options tagged with their origin so that the server has correct information about the command line as the client received it. Removes the unconditional stderr printing of all bazelrc startup options in the bazel client. Instead, the startup options are sent to the server and the same informational printing is gated on the --announce_rc option. This avoids unconditional log spam to stderr early in startup. If the server is unreachable or there are errors parsing startup options, the message is still printed to stderr. Fixes https://github.com/bazelbuild/bazel/issues/2530. RELNOTES: --announce_rc now controls whether bazelrc startup options are printed to stderr. PiperOrigin-RevId: 165211007
* Delete --deprecated_generate_xcode_project.Gravatar schmitt2017-08-16
| | | | | | | | This flag has been a noop for a while. RELNOTES[INC]: Noop flag --deprecated_generate_xcode_project deleted. PiperOrigin-RevId: 165199302
* Update BUILD grammarGravatar fzaiser2017-08-16
| | | | | RELNOTES: None PiperOrigin-RevId: 165193696
* Add @CompileTimeConstant annotations to CustomCommandLine.Gravatar tomlu2017-08-16
| | | | | | | | | This enforces certain memory-efficient patterns. For deliberate use of dynamic strings, explicitly named overloads are introduced, with javadoc that guides the programmer into making the right choice. This CL is a memory no-op on benchmarks, but it tries to prevent backslide by making sure programmers make conscious choices when they construct their command lines. RELNOTES: None PiperOrigin-RevId: 165185997
* Make CcToolchainProvider subclass ToolchainInfo. This is required for use ↵Gravatar cpeyser2017-08-16
| | | | | | of CcToolchainProvider as a "toolchain" in platform-based toolchain resolution. PiperOrigin-RevId: 165185303
* Remove unused methods from FunctionSignatureGravatar brandjon2017-08-16
| | | | | RELNOTES: None PiperOrigin-RevId: 165177605
* Delete unused buck iOS supportGravatar Peter Schmitt2017-08-14
| | | | Change-Id: I56592ed4e507389d329377436223716c00348869
* Fix product name in directory messagesGravatar Klaus Aehlig2017-08-14
| | | | | | | | If bazel runs under emacs, it emits messages about changing of directories. In those messages, fix the product name. Change-Id: I233a46db741dc4cd0dc5bfbaadbf2ad09c04952e PiperOrigin-RevId: 165159721
* SyntaxTreeVisitor handles flow statements (break / continue).Gravatar laurentlb2017-08-14
| | | | | RELNOTES: None. PiperOrigin-RevId: 165159163
* Fix Skylark parsing of call expressions.Gravatar fzaiser2017-08-14
| | | | | | | | This allows more complex expressions to be called, not just identifiers. For example, "x[0]()" is not a syntax error anymore. RELNOTES: None PiperOrigin-RevId: 165157981
* Update JacocoCoverageRunnerGravatar elenairina2017-08-14
| | | | | | | new blaze Java implementation sends the runtime jars encapsulated in a metadata txt file, instead of listing them in the environment variable. The previous approach led to blaze crashing with an "Argument list too long" error. PiperOrigin-RevId: 165155269
* Lazily construct AndroidDeployInfo proto.Gravatar tomlu2017-08-14
| | | | | RELNOTES: None PiperOrigin-RevId: 165116857
* Use Label for equality comparison instead of Target: Target objects don't ↵Gravatar janakr2017-08-14
| | | | | | have equality. PiperOrigin-RevId: 165039514
* Introduce a new SpawnCache API; add a RemoteSpawnCache implementationGravatar ulfjack2017-08-14
| | | | | | | | | | AbstractSpawnRunner now uses a SpawnCache if one is registered, this allows adding caching to any spawn runner without having to be aware of the implementations. I will delete the old CachedLocalSpawnRunner in a follow-up CL. PiperOrigin-RevId: 165024382
* Make AndroidTest#initializeTargetDevicesTest use lazy template args.Gravatar tomlu2017-08-14
| | | | | RELNOTES: None PiperOrigin-RevId: 165015884
* Workaround for ld bug that causes flakiness when using -bitcode_symbol_map.Gravatar allevato2017-08-14
| | | | | RELNOTES: PiperOrigin-RevId: 165012363
* Validate and Link libraries action for aapt2Gravatar corysmith2017-08-14
| | | | | RELNOTES: None PiperOrigin-RevId: 165012084
* Intern aspect definitions by their respective aspect class + parameters.Gravatar tomlu2017-08-14
| | | | | RELNOTES: None PiperOrigin-RevId: 165010750
* Introduce the 'siblings' query function.Gravatar nharmata2017-08-14
| | | | | | RELNOTES[NEW]: There is now a 'siblings' query function. See the query documentation for more details. PiperOrigin-RevId: 165010653
* Rollback of ↵Gravatar ajmichael2017-08-14
| | | | | | | | | https://github.com/bazelbuild/bazel/commit/21436e062a12b64c8bee665b0cf79dfe48cff114. That change broke module maps that depended on the transitive headers from ObjC protos. RELNOTES: None PiperOrigin-RevId: 165010275
* Internal changeGravatar Googler2017-08-14
| | | | PiperOrigin-RevId: 165003777
* BEP: Make tags available in TargetConfigured eventGravatar Klaus Aehlig2017-08-14
| | | | | | | | | | | | The tags associated with a rule is information that is useful as information about the target, independent of the configuration. At the moment, tags cannot be configuration-dependent anyway, but even if the extend bazel it that way, the union of all possible tags is still useful information. Change-Id: Iabca0c28b0da4b13b8a62b2638a881c53cc70ccc PiperOrigin-RevId: 164996472
* Use CustomCommandLine.Builder in SpawnAction always.Gravatar tomlu2017-08-14
| | | | | | | | This takes advantage of CustomCommandLine's ability to defer argument expansion. I can't think of any situation where this would be inferior, at it also cleans up the code a little. After the execution phase when Artifact strings will have been prodded and interned, I expect the memory difference to be less pronounced. PiperOrigin-RevId: 164996323
* Improve type safety for vector args in CustomCommandLine.Gravatar tomlu2017-08-14
| | | | | | | By using generics we can help the user ensure that they pass a map function of the right type. RELNOTES: None PiperOrigin-RevId: 164984415
* Use all resource types in PlaceholderIdFieldInitializerBuilderGravatar Googler2017-08-14
| | | | | | | | | | | | | | All resource types should be supported by PlaceholderIdFieldInitializerBuilder. Will keeping the ordering from the previous scheme, ensure that all of the contents of ResourceType.values() are considered. This means that, when adding new resource types, only updating the ResourceType enum is needed. A previous attempt at this change tried eliminating the special ordering of resource types entirely, on the grounds that it shouldn't be needed. However, strange build failures mean we're keeping it there for now. RELNOTES: none PiperOrigin-RevId: 164983075
* Refactor FuncallExpression to allow for complex function terms later.Gravatar fzaiser2017-08-14
| | | | | RELNOTES: None. PiperOrigin-RevId: 164981071
* Remove unused tree artifact methods from CustomCommandLine.Gravatar tomlu2017-08-14
| | | | | | These only had usages in test code. The tests could be altered to use other methods. PiperOrigin-RevId: 164977900
* remote: Provide a clear error message if the remote cache is in an invalid ↵Gravatar buchgr2017-08-14
| | | | | | | | | | | | | state. A remote cache must never serve a failed action. However, if it did Bazel would not detect this and simply fail and display an error message that's hard to distinquish from a local execution failure. Bazel now displays a clear error message stating what went wrong. RELNOTES: None. PiperOrigin-RevId: 164975631
* BEP: move configuration-independent information to TargetConfigured eventGravatar Klaus Aehlig2017-08-11
| | | | | | | | | | Some information about a target is configuration independent and therefore can already be provided at a target level (i.e., in the TargetConfigured event). Do so, to have that information available earlier and, once the deprecation period is over, avoid redundant information in the stream. Change-Id: I8021ce3dd2a8168d409ea513190c4e3a349dbc2f PiperOrigin-RevId: 164967059
* remote: Refactor RemoteSpawnRunner to distinquish between remoteGravatar buchgr2017-08-11
| | | | | | | | | | | executor, remote cache and local executor errors. This is a no-op refactoring and clears the way to integrate a change that no longer uploads to the remote cache if a previous remote cache interaction failed. RELNOTES: None. PiperOrigin-RevId: 164966432
* Refactor persistent workers to use SpawnRunner.Gravatar Benjamin Peterson2017-08-11
| | | | | | | | | | | | | | | | | | | | | | | | | | Change the persistent worker spawn strategy to extend AbstractSpawnStrategy and put the actual logic into WorkerSpawnRunner. WorkerTestStrategy is unaffected. I had to extend SpawnPolicy with a speculating() method. Persistent workers need to know if speculation is happening in order to require sandboxing. Additionally, I added java_test rules for the local runner tests and worker tests. See https://github.com/bazelbuild/bazel/issues/3481. NOTE: ulfjack@ made some changes to this change before merging: - changed Reporter to EventHandler; added TODO about its usage - reverted non-semantic indentation change in AbstractSpawnStrategy - reverted a non-semantic indentation change in WorkerSpawnRunner - updated some internal classes to match - removed catch IOException in WorkerSpawnRunner in some cases, removed verboseFailures flag from WorkerSpawnRunner, updated callers - disable some tests on Windows; we were previously not running them, now that we do, they fail :-( Change-Id: I207b3938f0dc84d374ab052d5030020886451d47 PiperOrigin-RevId: 164965398
* Fix flaky test: process-wrapper_test.Gravatar philwo2017-08-11
| | | | PiperOrigin-RevId: 164963238
* CachedLocalSpawnRunner: reuse existing code from RemoteSpawnRunnerGravatar ulfjack2017-08-11
| | | | PiperOrigin-RevId: 164961564
* Support executing as root in the linux sandbox.Gravatar Benjamin Peterson2017-08-11
| | | | | | | | | | | | | | | linux-sandbox has a useful option -R, that runs the spawn as fake root. However, it's not exposed to Bazel rules. Here, we do that via the "requires-fakeroot" tag. One possible usecase: In combination with "block-network", "requires-fakeroot" makes it possible to integration test services that insist on listening on privileged ports. Unsurprisingly, this is incompatible with --sandbox_fake_username. Change-Id: I9e8ab4d4abf0e45626e005ff21f73e6c17de0788 PiperOrigin-RevId: 164961019
* AbstractSpawnStrategy: use ActionExecutionContext.getVerboseFailuresGravatar ulfjack2017-08-11
| | | | | | | ...instead of injecting it through the constructor. Simplify all the callers accordingly. PiperOrigin-RevId: 164955391
* Rewrite //:combine_distfiles.sh in PythonGravatar László Csomor2017-08-11
| | | | | | | | | | | | | | | | It can only pack to zip for now (packing to tar is not trivial and I haven't figured it out yet). This allows building //:bazel-distfile on Windows. Previously it was either timing out or taking so long that it was unbearable (over 10 minutes). I never waited long enough to see it build. The new Python version runs under just a few seconds. Change-Id: I3264eb7132dd58c581c4216e5bbab035a79d716d PiperOrigin-RevId: 164954162
* Extract a library from create_embedded_tools.pyGravatar László Csomor2017-08-11
| | | | | | | | | We'll use the extracted functions in the upcoming Python-based reincarnation of the //:bazel-distfile rule. Change-Id: I5140938ae4af50f62fb695b5b96cd41f3cd939ef PiperOrigin-RevId: 164950515
* multi-thread DexFileMergerGravatar kmb2017-08-11
| | | | | | RELNOTES: speedup of incremental dexing tools PiperOrigin-RevId: 164926895
* Set a bit in ActionExecutedEvent indicating if a failure occurred before the ↵Gravatar janakr2017-08-11
| | | | | | action actually executed. PiperOrigin-RevId: 164917959
* Up the size of skylark_flag_test to "medium" to avoid timeoutsGravatar brandjon2017-08-11
| | | | | | | Fixes #3072 RELNOTES: None PiperOrigin-RevId: 164906305
* Fix documentation in FilesetEntryGravatar kush2017-08-11
| | | | | RELNOTES:None PiperOrigin-RevId: 164903310