aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Replaces InjectingObjectCodec with dependencies threaded through ↵Gravatar shahan2018-02-13
| | | | | | (Des|S)erializationContext. PiperOrigin-RevId: 185547740
* [Skylint] Do not crash ControlFlowChecker on nested functions.Gravatar Taras Tsugrii2018-02-13
| | | | | | | | | | | ControlFlowChecker has a precondition check that assumes nested functions do not occur. While this assumption is reasonable for a valid Skylark syntax, linter can actually be invoked on malformed files and users would get a stack trace instead of a human-readable linter error. Alternative and possibly a better strategy would to not run CFChecker in case parse errors are detected. fixes #4511 Closes #4512. PiperOrigin-RevId: 185538897
* Implement and delegate ListeningExecutorService api to clean up the ↵Gravatar corysmith2018-02-13
| | | | | | | try-with-resources code segments RELNOTES:None PiperOrigin-RevId: 185536875
* Improve error messaging on mismatched aapt2 formatsGravatar corysmith2018-02-13
| | | | | RELNOTES: None PiperOrigin-RevId: 185535264
* Automatic ClangTidyReadability code cleanup.Gravatar Googler2018-02-13
| | | | PiperOrigin-RevId: 185528799
* Route --fdo_optimize information through an implicit dependency instead of ↵Gravatar Googler2018-02-13
| | | | | | | CppConfiguration RELNOTES: None. PiperOrigin-RevId: 185527875
* Add the BUILD_WORKSPACE_DIRECTORY and BUILD_WORKING_DIRECTORY variables to ↵Gravatar lberki2018-02-13
| | | | | | | | | | "blaze run --direct_run" so that the called binary knows about the working directory the client was called from. Its cwd is its runfiles directory and if not for the fact that we have to convey *two* directories to it, I'd have considered changing that. As it is, however, we can't convey two directories with the cwd of the binary so we have to use environment variables. RELNOTES[NEW]: "blaze run --direct_run" now exports the BUILD_{WORKSPACE,WORKING}_DIRECTORY variables to tell the binary about the cwd of the client and the workspace root. PiperOrigin-RevId: 185515884
* tmpdir,local-exec: implement --local_tmp_rootGravatar Laszlo Csomor2018-02-13
| | | | | | | | | | | | | | Add new flag called `--local_tmp_root`, which (if specified) tells Bazel what temp directory should locally executed actions use. Fixes https://github.com/bazelbuild/bazel/issues/4621 Related to https://github.com/bazelbuild/bazel/issues/3215 RELNOTES[NEW]: The new "--local_tmp_root=<path>" flag allows specifying the temp directory for locally executed actions. Change-Id: Ice69a5e63d0bf4d3b5c9ef4dbdd1ed1c5025f85e PiperOrigin-RevId: 185509555
* new_git_repository: support date-based shallow clonesGravatar Klaus Aehlig2018-02-13
| | | | | | | | | | | | | | Add an optional 'shallow_since' parameter to new_git_repository to allow more shallow clones. As opposed to a fixed depths, specifying a date does not get outdated if the branch progresses further. Also, use fully shallow clones if no commit is specified. A (floating) branch or tag can always be cloned in a truly shallow fashion. Improves on #4359. Change-Id: I8459c8f55042c98da2e43f57b7960a291004d26b PiperOrigin-RevId: 185504534
* Automated rollback of commit 28bd997c1c8793973f63dcae4c22bbae49e7d8b7.Gravatar Googler2018-02-12
| | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** https://github.com/bazelbuild/bazel/issues/4625 What I thought was a short fix is turning into a long hunt, so I better roll this back to get the build green again. I'm not yet 100% certain what the interactions are, but there's a chance that it's back to the drawing board. *** Original change description *** Fixing test-setup.sh occasionally missing stdout/stderr, on systems where "tail --pid" is supported. The solutions aren't mine, the new test was taken from Ola's unknown commit and the way to avoid race condition courtesy of sethkoehler@ Mitigates #4608 for compatible Linux systems. TESTED=manual scripts and new test case. RELNOTES: None PiperOrigin-RevId: 185482604
* Use a different date time when normalizing zip entriesGravatar cushon2018-02-12
| | | | | | Fixes #4614 PiperOrigin-RevId: 185474153
* Blaze: let a LinkerInput declare that it needs debug info in the executableGravatar Googler2018-02-12
| | | | | RELNOTES: None. PiperOrigin-RevId: 185455486
* Query reference updates:Gravatar gregce2018-02-12
| | | | | | | | - Add a TOC for document sections - Consistently capitalize section titles - Upgrade "Functions" to a top-level section, since this is an important reference point PiperOrigin-RevId: 185446368
* Ensure that RuleContext is not referenced after analysis by objc_library.Gravatar cparsons2018-02-12
| | | | | | Previously, RuleContext was referenced via the objc implementation of CppSemantics. Objects of that class are no longer held by CppCompileAction post-analysis. PiperOrigin-RevId: 185446320
* Get rid of some uses of RuleConfiguredTarget.getAttributeMapper().Gravatar mjhalupka2018-02-12
| | | | PiperOrigin-RevId: 185441432
* Fix parameter names in docsGravatar Googler2018-02-12
| | | | | RELNOTES: None PiperOrigin-RevId: 185436886
* Create a basic annotation processor for validating SkylarkCallable uses at ↵Gravatar cparsons2018-02-12
| | | | | | | compile time. RELNOTES: None. PiperOrigin-RevId: 185432867
* Add missing parameter documentation to the which method in repository_ctx.Gravatar kaipi2018-02-12
| | | | PiperOrigin-RevId: 185424287
* 1) Make checker exit with 199 if there is any dependency issue.Gravatar cnsun2018-02-12
| | | | | | | | 2) Also print the dependency issues to stderr. 3) Add golden tests to test the above two. RELNOTES:n/a. PiperOrigin-RevId: 185423338
* Use a different date time when normalizing zip entriesGravatar cushon2018-02-12
| | | | PiperOrigin-RevId: 185419668
* Create a skylint and buildozer checker for preventing glob(**/*.java)Gravatar Googler2018-02-12
| | | | | | | | | For now we will only block Java recursive globs. Any other languages or extensions can be banned relatively easily. RELNOTES: Add lint check for discouraging glob(["**/*.java"]) PiperOrigin-RevId: 185417760
* Thread ConfiguredTargetAndTarget through objC classes to get rid of referencesGravatar mjhalupka2018-02-12
| | | | | | | | to ConfiguredTarget.GetTarget(). Also remove equivalence requirements for the ConfiguredTarget's target and the stored Target since there will soon no longer be a Target in ConfiguredTarget. PiperOrigin-RevId: 185417468
* Make AndroidInstrumentationInfo createable from Skylark.Gravatar ajmichael2018-02-12
| | | | | | | | This enables writing tests for android_instrumentation_test that mock android_binary using a skylark rule that returns an AndroidInstrumentationInfo. RELNOTES: None PiperOrigin-RevId: 185417182
* Add labels to some Android progress messages.Gravatar ajmichael2018-02-12
| | | | | RELNOTES: None PiperOrigin-RevId: 185412809
* Fix screen flicker caused by small writes.Gravatar jmmv2018-02-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | ExperimentalEventHandler is in charge of composing the pretty progress bar that Bazel displays. This progress bar is a multi-line message with control characters printed on the terminal. The progress bar was composed by issuing many individual writes to an AnsiTerminal. Because the AnsiTerminal in this case was backed by an error stream (which are unbuffered), each of these writes resulted in a gRPC to the Bazel client to write the message to the console. gRPC calls are much more expensive than calls to a file descriptor, and, in general, even small writes to a file descriptor should be avoided when preparing long messages. To fix this, fully buffer the output messages sent to the AnsiTerminal until explicitly flushed. ExperimentalEventHandler was already doing the right thing regarding flushes but did not account for the fact that each write would be (unintentionally) sent directly to the terminal. The flicker was significant: on a pathological case (building sandboxfs with Bazel on my MacBook Pro 13" on macOS), this change shaves about 5 seconds of build time on the previous 45 second-long build. I think this only happened with "bazel run" and "bazel test" invocations and not "bazel build", but I haven't really confirmed this. RELNOTES: None. PiperOrigin-RevId: 185405892
* Remove description of the build language. It is Skylark.Gravatar laurentlb2018-02-12
| | | | | RELNOTES: None. PiperOrigin-RevId: 185398389
* Remove label name interning.Gravatar tomlu2018-02-12
| | | | | | | | We already intern the labels themselves. Benchmarks do not show any further gain by interning the label names. RELNOTES: None PiperOrigin-RevId: 185394812
* git_repository: add missing args to doc stringGravatar Klaus Aehlig2018-02-12
| | | | | Change-Id: Id898aafaf1a5dec16e5639f50981c1051caa70eb PiperOrigin-RevId: 185390071
* PiperOrigin-RevId: 185383460Gravatar juliexxia2018-02-12
|
* Use a different date time when normalizing zip entriesGravatar cushon2018-02-12
| | | | PiperOrigin-RevId: 185381597
* Document a few more differences between Skylark and Python.Gravatar laurentlb2018-02-12
| | | | | RELNOTES: None. PiperOrigin-RevId: 185378771
* docs: add external links about remote cachingGravatar Jakob Buchgraber2018-02-12
| | | | | | Closes #4623. PiperOrigin-RevId: 185378490
* Revamp rules documentationGravatar laurentlb2018-02-12
| | | | | RELNOTES: None. PiperOrigin-RevId: 185377450
* Fixing test-setup.sh occasionally missing stdout/stderr, on systems where ↵Gravatar Googler2018-02-12
| | | | | | | | | | | | "tail --pid" is supported. The solutions aren't mine, the new test was taken from Ola's unknown commit and the way to avoid race condition courtesy of sethkoehler@ Mitigates #4608 for compatible Linux systems. TESTED=manual scripts and new test case. RELNOTES: None PiperOrigin-RevId: 185374273
* Clarify doc related to declare_file and declared outputs.Gravatar laurentlb2018-02-12
| | | | | RELNOTES: None. PiperOrigin-RevId: 185372459
* Changes cc_library to consume headers specified in the "hdrs" attribute of anGravatar cpeyser2018-02-12
| | | | | | | | objc_library that it depends on. See https://github.com/bazelbuild/bazel/issues/3352 PiperOrigin-RevId: 185371993
* Add a mechanism to SpawnResult to return an in-memory outputGravatar ulfjack2018-02-12
| | | | PiperOrigin-RevId: 185370712
* Move common proto aspect logic to a new class.Gravatar elenairina2018-02-12
| | | | PiperOrigin-RevId: 185369902
* C++: Allows adding linkopts through file.Gravatar plf2018-02-12
| | | | | | | The file can be generated during execution by a different rule. RELNOTES:none PiperOrigin-RevId: 185361140
* Fix relative link to remote execution sectionGravatar Eric Wendelin2018-02-12
| | | | | | Closes #4610. PiperOrigin-RevId: 185359400
* Update documentation about Files.Gravatar laurentlb2018-02-12
| | | | | | | | I don't think it's worth repeating things here. Let's point to the main documentation. RELNOTES: None. PiperOrigin-RevId: 185356504
* [MSVC] Don't declare environ when it is already defined as macroGravatar Loo Rong Jie2018-02-12
| | | | | | | | | | | | | | | | In MSVC, `environ` is a macro (from `stdlib.h`): ```cpp extern char*** __p__environ(void); #define _environ (*__p__environ()) #define environ _environ ``` So `extern char **environ;` will be expanded as `extern char **(*__p_environ());` which is invalid. This causes compile warning on MSVC. Closes #4487. PiperOrigin-RevId: 185354631
* C++: Remove last instatiation of CppModel outside CcLibraryHelper.Gravatar plf2018-02-12
| | | | PiperOrigin-RevId: 185354353
* Skylark: SlicingExpression: do not create new nodes for optional expressionsGravatar laurentlb2018-02-12
| | | | | RELNOTES: None. PiperOrigin-RevId: 185353994
* BEP: assert event orderings explicitlyGravatar Klaus Aehlig2018-02-12
| | | | | | | | | | | ...even where they should be clear from the evaluation order. Since reporting sometimes happens in different threads, there might be races on the event bus. Explicit order constraints allow the BuildEventStreamer to reorder those events correctly in the case of a lost race. Change-Id: Ib5211341c2016527e9268e8fdbd1677d4255b23c PiperOrigin-RevId: 185345738
* Add context argument to ObjectCodec.{serialize,deserialize}Gravatar michajlo2018-02-11
| | | | | | | | | | Context implementations are currently empty, just doing the plumbing in this change. Once this is in we can start passing along the ObjectCodecRegistry, which will allow runtime codec resolution for classes not known at compile time. We'll also inevitably add some memoization helpers, allowing us to optimize the serialization process further. PiperOrigin-RevId: 185305674
* Add custom_package attribute to android_local_test.Gravatar dannark2018-02-10
| | | | | | | | | android_local_test generates and R.class file and so this is necessary for projects that don't nest their BUILD files under a java/ or javatests/ root. Fixes #4618 RELNOTES: None PiperOrigin-RevId: 185281836
* Desugar fixes:Gravatar kmb2018-02-10
| | | | | | | | - make Objects.requireNonNull and Long.compare rewrites compatible with --core_library - apply those and try-with-resources rewrites to generated companion classes RELNOTES: None. PiperOrigin-RevId: 185262256
* Rollback changes to TargetCompleteEventGravatar mjhalupka2018-02-10
| | | | PiperOrigin-RevId: 185255326
* Delete erroneous piece of desugar's renaming logicGravatar kmb2018-02-09
| | | | | | RELNOTES: None. PiperOrigin-RevId: 185218745