aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis
Commit message (Collapse)AuthorAge
* Add @AutoCodec to some PatchTransitions.Gravatar mjhalupka2018-02-27
| | | | PiperOrigin-RevId: 187230702
* Tag ParameterFileWriteAction with @AutoCodec.Gravatar mjhalupka2018-02-27
| | | | | | | | This requires codecs for CustomCommandLine and a Marshaller for Charset. Added AutoCodec functionality to generic classes like Iterable<T>. PiperOrigin-RevId: 187182889
* Expose --output_user_base to the Bazel server processGravatar Klaus Aehlig2018-02-27
| | | | | | | | | | | ...so that it can use that path to compute other directories in the output user base, in particular the default location for caches. The first cache we will add is the hash-index cache for downloads of external archives, but a spawn cache might be added later in the output user base as well. Change-Id: I24b1c33235c8f76ec008ecb1789163de2b2a45be PiperOrigin-RevId: 187164275
* @AutoCodec FileWriteAction.Gravatar janakr2018-02-26
| | | | PiperOrigin-RevId: 187048921
* @AutoCodec PackageGroupConfiguredTarget (forgot to actually annotate the ↵Gravatar janakr2018-02-26
| | | | | | class in https://github.com/bazelbuild/bazel/commit/14e549cc6596f67ed22c1bac0819f0775e4fb806). PiperOrigin-RevId: 187042482
* Revamp docs for default outputs / output groupsGravatar brandjon2018-02-26
| | | | | | | | | | | - collapsed these into one section - removed the term "implicit outputs" - add explanation for what these are first, then how to control them - update docs for DefaultInfo - also update docs for test/executable args of rule() RELNOTES: None PiperOrigin-RevId: 187026641
* Revamp rules.md documentation for filesGravatar brandjon2018-02-26
| | | | | | | Unified "Files" and "Output files" sections. Renamed "declared files" to "predeclared files" to avoid confusion with "declare_file()"/"declare_directory()". RELNOTES: None PiperOrigin-RevId: 187017607
* @AutoCodec RuleConfiguredTarget.Gravatar janakr2018-02-23
| | | | PiperOrigin-RevId: 186849562
* @AutoCodec FilesetOutputConfiguredTarget.Gravatar janakr2018-02-23
| | | | PiperOrigin-RevId: 186837642
* @AutoCodec all the *ConfiguredTarget classes except for ↵Gravatar janakr2018-02-23
| | | | | | | | | | RuleConfiguredTarget. RuleConfiguredTarget is harder, and will be handled in a follow-up. Also remove duplicate field from InputFileConfiguredTarget and unused parameter in EnvironmentGroupConfiguredTarget constructor. Largely punt on FilesetOutputConfiguredTarget for now, but will handle soon. PiperOrigin-RevId: 186829768
* Better @AutoCodec for TransitiveInfoProviderMapImpl: avoid having to ↵Gravatar janakr2018-02-23
| | | | | | serialize offset table at the cost of some overhead reconstructing the table. Also fewer code changes, although there is a serialization-only method added as a hack. PiperOrigin-RevId: 186808832
* Apply @AutoCodec to ExecutableSymlinkAction and SymlinkAction.Gravatar mjhalupka2018-02-23
| | | | | | | AbstractAction had getPrimaryInput() and getPrimaryOutput() which is why arguments are renamed. PiperOrigin-RevId: 186795064
* @AutoCodec TransitiveInfoProviderMapImpl and JavaInfo.Gravatar janakr2018-02-23
| | | | PiperOrigin-RevId: 186789569
* Add a new BuildOptions diff method that holds and pretty prints the ↵Gravatar juliexxia2018-02-23
| | | | | | different option values between two BuildOptions PiperOrigin-RevId: 186769975
* @AutoCodec for GenRuleAction.Gravatar cpeyser2018-02-23
| | | | PiperOrigin-RevId: 186765754
* Move enabling of coverage related features to CcCommonGravatar Googler2018-02-23
| | | | | | | | Move dealing with coverage related features from CppConfiguration.configurationEnabledFeatures to CcCommon.configureFeatures. Remove configurationEnabledFeatures. RELNOTES: None. PiperOrigin-RevId: 186744803
* Fix baseline.lcov name in important_outputGravatar Googler2018-02-22
| | | | | | This was already fixed in the file set, but was missed in important_output field. PiperOrigin-RevId: 186711917
* Add @AutoCodec to SpawnAction. Refactor the SpawnAction API for extra ↵Gravatar cpeyser2018-02-22
| | | | | | actions so that it is non-generic and does not persist a GeneratedExtension, which is hard to serialize. PiperOrigin-RevId: 186627440
* Add option to dump the action graph.Gravatar twerth2018-02-22
| | | | | | | | | | | | | Note that this dumps the current state in skyframe (which may contain more nodes than you're interested in): - bazel build --nobuild //interesting:targets - bazel dump --action_graph=/path/to/file - printproto --proto2 --raw_protocol_buffer --message=action_graph.ActionGraphContainer --multiline --proto=third_party/bazel/src/main/protobuf/action_graph.proto /path/to/file We'll add filtering options in a later CL. RELNOTES[NEW]: Add option to dump the action graph to a file: 'bazel dump --action_graph=/path/to/file'. PiperOrigin-RevId: 186597930
* Do not expand depset twice and store expanded in ctx.actions.run inputs.Gravatar tomlu2018-02-21
| | | | | | | | | | | | | | Previously, when inputs is a depset, we'd: * Expand it to a collection, then * Expand it again and add it as a flat list to the input builder This would be square on both performance and analysis time memory. Note that we _still_ expand the depset once to try to see if any input is a tool. This will have to be fixed in a future CL. RELNOTES: None PiperOrigin-RevId: 186566243
* Clean up test tag handlingGravatar ulfjack2018-02-21
| | | | PiperOrigin-RevId: 186427907
* Deletes POLYMORPHIC strategy. ObjectCodec now uses runtime type information ↵Gravatar shahan2018-02-20
| | | | | | to select a codec. PiperOrigin-RevId: 186378153
* Update --flaky_test_attempts to also take a repeatable argument of the formGravatar jcater2018-02-20
| | | | | | | | | regex@attempts, similarly to --runs_per_test. Also re-arrange some option converters to be closer to their options. RELNOTES: flaky_test_attempts supports the regex@attempts syntax, like runs_per_test. PiperOrigin-RevId: 186358437
* Route fdo logic that deals with the path to the fdo profile through ↵Gravatar Googler2018-02-20
| | | | | | | | | | CcToolchainProvider As --fdo_optimize can point to a label, the path to the fdo profile can not be reliably determined in CppConfiguration. In order to enable the fdo features (which depend on the path to the fdo profile), the logic from CppConfiguration.configurationEnabledFeatures() has been moved to CcCommon.configureFeatures(). The latter method has access to the fdo profile path through CcToolchainProvider. RELNOTES: None. PiperOrigin-RevId: 186278311
* Change Skylark's print() on a rule target to print the Skylark-exposed ↵Gravatar cparsons2018-02-16
| | | | | | | | | provider keys. This change only affects printing a rule target directly -- it intentionally does not affect the behavior of str(target), as we want to avoid skylark code being able to parse potentially-private provider keys. RELNOTES: In skylark, print(target) now shows the provider keys of a target, as debug information. PiperOrigin-RevId: 186046226
* Add @AutoCodec for FdoSupport(Provider) and TemplateVariableInfo.Gravatar mjhalupka2018-02-16
| | | | PiperOrigin-RevId: 186007056
* Tag for classes with @AutoCodec.Gravatar mjhalupka2018-02-15
| | | | PiperOrigin-RevId: 185906605
* Move CommandLine, CommandLineItem, and ParamFileInfo from ↵Gravatar tomlu2018-02-15
| | | | | | | | | lib.analysis.actions -> lib.actions. These are fundamental types that want to sit alongside types like Spawn. RELNOTES: None PiperOrigin-RevId: 185887971
* Stop storing ActionTemplate in a SkyKey: it's too heavyweight. Use the same ↵Gravatar janakr2018-02-15
| | | | | | mechanism as for normal actions, have the ActionTemplateExpansionFunction look the template up when needed. PiperOrigin-RevId: 185861672
* Use AutoCodec to generate CODECs for a few more provider types that areGravatar cpeyser2018-02-15
| | | | | | exported by cc_library. PiperOrigin-RevId: 185852115
* Add AutoCodec for a bunch of cc library providers.Gravatar mjhalupka2018-02-15
| | | | PiperOrigin-RevId: 185850685
* Extract part of EnvironmentGroup that's necessary for constraint ↵Gravatar janakr2018-02-15
| | | | | | | | calculation, so we don't have to have the whole package. Memory increase should be minimal because there aren't that many environment groups, but it's further minimized by breaking an inner class UnpackagedEnvironmentGroup out of EnvironmentGroup. Previously, each EnvironmentGroup cost 40 bytes (24 bytes for first three fields, 8 for next two, 8 for last field because of alignment). Each UnpackagedEnvironmentGroup costs 32 bytes (4 fields), while the EnvironmentGroup now costs 24 bytes. So a loss of 16 bytes per EnvironmentGroup: shouldn't be noticeable. PiperOrigin-RevId: 185837140
* Move BinTools to lib.execGravatar ulfjack2018-02-15
| | | | | | | It's never used during analysis, it shouldn't be used during analysis, so let's not make it available during analysis. PiperOrigin-RevId: 185808384
* Remove code that allows RunfilesSupport.owningExecutable to be null.Gravatar Benjamin Peterson2018-02-15
| | | | | | | RunfilesSupport.owningExecutable can clearly never be null because the first thing the constructor does is reject it if it's null. Change-Id: Ie861d96a2a2ab6937f1e27a6745cf1cb2f50e0fb PiperOrigin-RevId: 185806352
* Get Target out of SupportedEnvironmentsProvider. Only a Label and Location ↵Gravatar janakr2018-02-14
| | | | | | are needed, so just use that. PiperOrigin-RevId: 185738140
* Remove Target from ConfiguredTarget.Gravatar mjhalupka2018-02-14
| | | | PiperOrigin-RevId: 185735582
* Add a CODEC for CppCompileAction.Gravatar cpeyser2018-02-14
| | | | PiperOrigin-RevId: 185733313
* Use AutoCodec to generate CODECs for several provider types that are exportedGravatar cpeyser2018-02-14
| | | | | | by cc_library. PiperOrigin-RevId: 185729248
* @AutoCodec for LicenseProvider.Gravatar cpeyser2018-02-14
| | | | PiperOrigin-RevId: 185728682
* Get rid of the last reference to getAttributeMapper by keeping packages whichGravatar mjhalupka2018-02-13
| | | | | | are referenced by TopLevelTargets when we discard the analysis cache. PiperOrigin-RevId: 185574670
* Environment guarantees determinism when retrieving its bindingsGravatar brandjon2018-02-13
| | | | | | | Added a little javadoc and tests. RELNOTES: None PiperOrigin-RevId: 185569985
* Replaces InjectingObjectCodec with dependencies threaded through ↵Gravatar shahan2018-02-13
| | | | | | (Des|S)erializationContext. PiperOrigin-RevId: 185547740
* 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
* 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
* Rollback changes to TargetCompleteEventGravatar mjhalupka2018-02-10
| | | | PiperOrigin-RevId: 185255326
* 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
* 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