aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java
Commit message (Collapse)AuthorAge
* 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
* Blaze: let a LinkerInput declare that it needs debug info in the executableGravatar Googler2018-02-12
| | | | | RELNOTES: None. PiperOrigin-RevId: 185455486
* 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
* 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
* 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 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
* PiperOrigin-RevId: 185383460Gravatar juliexxia2018-02-12
|
* 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
* 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
* 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
* Rollback changes to TargetCompleteEventGravatar mjhalupka2018-02-10
| | | | PiperOrigin-RevId: 185255326
* Automated rollback of commit 873f343fefbb08048e7e75c482843b9e68954de6.Gravatar jingwen2018-02-09
| | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaking targets in 2018.02.08 and 2018.02.09 nightly TGPs There were some merge conflicts in this rollback CL. See unknown commit for the unresolved version. I kept the YOURS sections, and ran fiximports.py to remove unused imports. See b/73157879 *** Original change description *** C++: Remove last instatiation of CppModel outside CcLibraryHelper. This is the second try for this CL. The first one caused Blaze to crash when building Exoblaze as shown in b/72936965. In this CL I fix the condition of when to generate non-PIC compilation actions for WrapCcHelper. RELNOTES:none PiperOrigin-RevId: 185203398
* Add support to Polymorphic strategy for grandchild classes that have no ↵Gravatar janakr2018-02-09
| | | | | | codec, but whose parent classes have codecs. This is ok because the polymorphic strategy doesn't need an instance of the grandchild class: the parent class is fine, so long as it has a codec. PiperOrigin-RevId: 185200943
* Do not store Path object in RootedPath.Gravatar tomlu2018-02-09
| | | | | | | This can be computed on the fly if we need it. RELNOTES: None PiperOrigin-RevId: 185180257
* Narrow type of "configuration" field in ActionOwner. It is only ever a ↵Gravatar janakr2018-02-09
| | | | | | BuildConfiguration. PiperOrigin-RevId: 185155423
* Stop populating deprecated fields in the TargetComplete Message in theGravatar mjhalupka2018-02-09
| | | | | | TargetCompletedEvent. PiperOrigin-RevId: 185150827
* Make blaze stop passing --rule_kind to java tools.Gravatar tomlu2018-02-09
| | | | | | | This argument is unused and should be removed. RELNOTES: None PiperOrigin-RevId: 185147327
* Switch a few maps/sets to CompactHash(Map|Set)Gravatar Googler2018-02-09
| | | | | RELNOTES: None. PiperOrigin-RevId: 185145663
* Move BazelRuleClassProvider.TOOLCHAIN_RULES to its own class.Gravatar lpino2018-02-09
| | | | PiperOrigin-RevId: 185143078
* Split the include scanning dummy classes into their own parent classGravatar ulfjack2018-02-09
| | | | PiperOrigin-RevId: 185140903
* Remove a few unused fields.Gravatar lberki2018-02-09
| | | | | RELNOTES: None. PiperOrigin-RevId: 185138928
* distdir: also accept relative pathGravatar Klaus Aehlig2018-02-09
| | | | | | | ...and interpret them relative to the workspace directory. Change-Id: I31a0ce3a179356c798f00c4218ddd22e16b256a3 PiperOrigin-RevId: 185136432
* Remove hard-wired basenames for the test setup and the coverage collection ↵Gravatar lberki2018-02-09
| | | | | | | | | script. Accomplished by creating an explicit attribute for both of them on test actions. RELNOTES: None. PiperOrigin-RevId: 185132460
* Simplify BinTools setup for integration testsGravatar ulfjack2018-02-09
| | | | | | Progress on #4608. PiperOrigin-RevId: 185126689
* experimental_repository_cache: support relative pathsGravatar Klaus Aehlig2018-02-09
| | | | | | | | | | ...and interpret them relative to the workspace directory. Improves on #3516. In fact, fixes the original request of supporting relative paths. Change-Id: Ibbb6fd43179d589ad477427e47e26c773c7a04de PiperOrigin-RevId: 185121629
* Support local search for http archivesGravatar Klaus Aehlig2018-02-09
| | | | | | | | | | | | | | | | | | With --experimental_repository_cache, bazel has means of avoiding downloading the same archive again. However, this requires bazel to first download it itself, as we make no guarantee about the internal structure of that cache; this, in turn, does not play well in situations where bazel has to cooperate with other tools, e.g., because the bazel build is just one step in a larger package building process. Therefore, add an experimental option allowing to specify directories where the outer process may have placed needed files and make bazel not download them if a file with correct name and hash could be found in one of those directories. In this way, cooperation is possible without patching all entries in the WORSPACE file. Change-Id: I43240b8b59bf8472ec0310661015899e46491236 PiperOrigin-RevId: 185115713
* Replace path implementation.Gravatar tomlu2018-02-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Path and PathFragment have been replaced with String-based implementations. They are pretty similar, but each method is dissimilar enough that I did not feel sharing code was appropriate. A summary of changes: PATH ==== * Subsumes LocalPath (deleted, its tests repurposed) * Use a simple string to back Path * Path instances are no longer interned; Reference equality will no longer work * Always normalized (same as before) * Some operations will now be slower, like instance compares (which were previously just a reference check) * Multiple identical paths will now consume more memory since they are not interned PATH FRAGMENT ============= * Use a simple string to back PathFragment * No more segment arrays with interned strings * Always normalized * Remove isNormalized * Replace some isNormalizied uses with containsUpLevelReferences() to check if path fragments try to escape their scope * To check if user input is normalized, supply static methods on PathFragment to validate the string before constructing a PathFragment * Because PathFragments are always normalized, we have to replace checks for literal "." from PathFragment#getPathString to PathFragment#getSafePathString. The latter returns "." for the empty string. * The previous implementation supported efficient segment semantics (segment count, iterating over segments). This is now expensive since we do longer have a segment array. ARTIFACT ======== * Remove Path instance. It is instead dynamically constructed on request. This is necessary to avoid this CL becoming a memory regression. RELNOTES: None PiperOrigin-RevId: 185062932
* Remove references to getTarget(). Requires threading through anGravatar mjhalupka2018-02-08
| | | | | | | ExtendedEventHandler so we can get the target via the package manager during rule dumps. PiperOrigin-RevId: 185042522
* Add support for javabeans-style getters ("getFoo()", "isFoo()") to AutoCodec'sGravatar cpeyser2018-02-08
| | | | | | AutoValue support. This is required to serialize ActionOwner. PiperOrigin-RevId: 185037291
* remote: Add support for HTTP Basic AuthGravatar Jakob Buchgraber2018-02-08
| | | | | | Closes #4609. PiperOrigin-RevId: 185032751
* Add a CODEC for LibraryToLink, which is required to serialize CppLinkAction.Gravatar cpeyser2018-02-08
| | | | PiperOrigin-RevId: 185029456
* Move BazelRuleClassProvider.SH_RULES to its own class.Gravatar lpino2018-02-08
| | | | PiperOrigin-RevId: 185021810
* Add an AutoCodec marshaller for UUID. This is required to serializeGravatar cpeyser2018-02-08
| | | | | | CppCompileAction. PiperOrigin-RevId: 185020942
* Change $cc_toolchain_type to NODEP_LABEL so there is no actual dependency.Gravatar jcater2018-02-08
| | | | PiperOrigin-RevId: 185018321
* User-friendlier representation of a missing digest.Gravatar olaola2018-02-08
| | | | | | | | I moved it into DigestUtil preemptively in case we switch to binary instead of hex representation. TESTED=manually RELNOTES: None PiperOrigin-RevId: 185007558
* Remove another getTarget() call from PrintActionCommand.Gravatar mjhalupka2018-02-08
| | | | PiperOrigin-RevId: 185006324