aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCompileAction.java
Commit message (Collapse)AuthorAge
* Fix memory regression from CL/160891204.Gravatar tomlu2017-07-10
| | | | | | | | | Java compile actions create unnecessary wrapper objects around a shared constant object. We can share the ActionEnviroment between these actions. In the general spawn case there will be a lot of empty action environments. Make sure that these are shared too. RELNOTES: None PiperOrigin-RevId: 161389056
* Platform -> ApplePlatform, to avoid ambiguity with the newly introducedGravatar cpeyser2017-07-07
| | | | | | Platform rule. PiperOrigin-RevId: 161203491
* Update SpawnAction to take an ActionEnvironmentGravatar ulfjack2017-07-05
| | | | | | | | | | Some of the callers are not using the proper one from the configuration, and are thus ignoring --action_env. Some are only using part of the configuration's action environment. I tried to carefully not change the semantics in any case. Semantic-changing changes come later. PiperOrigin-RevId: 160891204
* Rewrite the Executor/ActionExecutionContext splitGravatar ulfjack2017-06-19
| | | | | | | Move everything to ActionExecutionContext, and drop Executor whereever possible. This clarifies the API, makes it simpler to test, and simplifies the code. PiperOrigin-RevId: 159414816
* Use nested sets for configured target runfiles instead of flattened lists.Gravatar Googler2017-05-26
| | | | | RELNOTES: None PiperOrigin-RevId: 157124371
* Remove methods from CommandLine, making it a simple argument list interface.Gravatar Googler2017-05-15
| | | | | | | * isShellCommand is now passed directly to SpawnAction * Getting the associated params file action was a test-only thing. We can pull this out of the action graph instead. PiperOrigin-RevId: 156060366
* Parse /showIncludes output for MSVC compilerGravatar Yun Peng2017-04-25
| | | | | | | | Instead of parsing .d file generated by wrapper script, we directly parse the output of /showIncludes option. Change-Id: Id94e20a5cb05a494a793fd6a43756d44d27cea8a PiperOrigin-RevId: 154161939
* Adds support for the header thinning feature to the new Objective-C rule ↵Gravatar Googler2017-03-03
| | | | | | | | implementation that uses crosstool for compilation. -- PiperOrigin-RevId: 149083774 MOS_MIGRATED_REVID=149083774
* Clean up the semantics of input discovering actions a bit by making ↵Gravatar Lukacs Berki2017-02-28
| | | | | | | | | | | | updateInputs() and inputsKnown() non-overridable and removing setInputs(). This comes at the cost of adding a flag to every action instance that's not used for non-input-discovering actions, but I think that's a deal. Simpler APIs are good, mmmmkay? Also fixed a few pre-existing issues in TestAction and ObjcCompileAction. -- PiperOrigin-RevId: 148749734 MOS_MIGRATED_REVID=148749734
* Remove AbtractAction#getInputsForExtraAction() (the third time).Gravatar Lukacs Berki2017-02-27
| | | | | | | | | | This time, if the action discovers inputs, the extra action is made to depend on the outputs of the action so that by the time the extra action runs, the inputs of the original action are discovered. This avoids us having to think about the state the shadowed action may keep. Yes, actions should not keep state, but they do. Such is life. -- PiperOrigin-RevId: 148627715 MOS_MIGRATED_REVID=148627715
* Fixes issue with ObjcCompileAction where extra action funcitonality is unableGravatar Googler2017-02-27
| | | | | | | | to generate extra action proto file. -- PiperOrigin-RevId: 148479293 MOS_MIGRATED_REVID=148479293
* Change header thinning feature to use dotd pruning to update action inputs.Gravatar Googler2017-02-17
| | | | | | -- PiperOrigin-RevId: 147788295 MOS_MIGRATED_REVID=147788295
* Correct support for TreeArtifacts with ObjC header thinning feature.Gravatar Googler2017-02-15
| | | | | | -- PiperOrigin-RevId: 147515806 MOS_MIGRATED_REVID=147515806
* Remove AbstractAction#getInputFilesForExtraAction().Gravatar Lukacs Berki2017-02-03
| | | | | | | | | | | | This method was used to return the discovered inputs for extra actions, but it turns out that we can use #discoverInputs() just as well. Note that this makes it possible for #discoverInputs() to be called more than once per action instance (once for the action and once for each extra action), but this appears to work. A followup change may be able to dispense with that, but let's take baby steps for now. Also note that this introduces synchronization between an action and its associated extra action. -- PiperOrigin-RevId: 146450132 MOS_MIGRATED_REVID=146450132
* Experimental feature to do header thinning of Objective-C compilation actions.Gravatar Googler2017-02-03
| | | | | | -- PiperOrigin-RevId: 146385106 MOS_MIGRATED_REVID=146385106
* Simplify the Action interface by asking it a set of allowed inputs instead ↵Gravatar Lukacs Berki2017-02-02
| | | | | | | | | | of to resolve exec paths found in the action cache. The resolution algorithm was the same in all cases where it was implemented. -- PiperOrigin-RevId: 146344672 MOS_MIGRATED_REVID=146344672
* Simplify action input discovery by removing ↵Gravatar Lukacs Berki2017-01-31
| | | | | | | | | | Action#getInputsWhenSkippingInputDiscovery(). This has the side effect of always allowing new inputs to be discovered when Action#discoversInputs() return true, but since those actions are very few and have mostly to do with C++, I think it's an acceptable tradeoff for th ecode being that much simpler. -- PiperOrigin-RevId: 146098150 MOS_MIGRATED_REVID=146098150
* Switch to RunfilesSuppliers for communicating runfilesGravatar Michajlo Matijkiw2017-01-30
| | | | | | | | | | | | | | | | | | | | | | | ActionSpawn/SpawnAction now deal exclusively in RunfilesSuppliers, manifests maps are no more. There is some lingering awkwardness, in particular: - Manifests still need to be tracked in some places, we can work out if this is still necessary on a case by case basis. - Skylark makes actions' runfiles available via 'resolve_command' where they are consumed by 'action'. I've updated the documentation, though the name isn't entirely accurate anymore. That being said these interfaces _are_ marked as experimental, so we _should_ be able to be flexible here. Overall, I think the benefits consolidating runfiles into suppliers, from both code cleanliness and performance perspectives (no longer needing to parse manifests), outweights the awkwardnesses. RELNOTES: resolve_command/action's input_manifest return/parameter is now list -- PiperOrigin-RevId: 145817429 MOS_MIGRATED_REVID=145817429
* ObjcCompileAction does not signal to skyframe that it discovers inputs.Gravatar Cal Peyser2016-11-17
| | | | | | | | | | | Instead, it skips discovery (include scanning), but provides all headers to action execution to allow for re-adding pruned sources in a sandbox. This means that mis-capitalization errors will only break a build if --objc_use_dotd_pruning is one. -- MOS_MIGRATED_REVID=139456194
* Description redacted.Gravatar Cal Peyser2016-11-16
| | | | | -- MOS_MIGRATED_REVID=139219934
* Implement action cache resolution for ObjcCompileAction. This allows forGravatar Cal Peyser2016-11-11
| | | | | | | | | correct behavior in dotd pruning after a bazel shutdown - the action will realize that its inputs are not known and will consult the on-disk action cache. -- MOS_MIGRATED_REVID=138868221
* ObjcCompileAction provides all headers to sandboxed execution. This allowsGravatar Cal Peyser2016-11-11
| | | | | | | headers pruned by .d pruning to be re-added if they are changed. -- MOS_MIGRATED_REVID=138866385
* Rollback, breaks dependent code.Gravatar Jon Brandvein2016-11-02
| | | | | -- MOS_MIGRATED_REVID=137864618
* ObjcCompileAction provides all headers to sandboxed execution. This allowsGravatar Cal Peyser2016-10-31
| | | | | | | headers pruned by .d pruning to be re-added if they are changed. -- MOS_MIGRATED_REVID=137697323
* Make the .d file a mandatory output of the ObjcCompileAction.Gravatar Cal Peyser2016-10-10
| | | | | -- MOS_MIGRATED_REVID=135495881
* Implement input pruning using .d files in objc behind a flag that defaults toGravatar Cal Peyser2016-09-28
| | | | | | | false. -- MOS_MIGRATED_REVID=134452391
* Rollback of commit 4946ab9d5b5d78862c043e35342107a1b9b2f398.Gravatar Cal Peyser2016-09-23
| | | | | | | | | | | | | *** Reason for rollback *** We *still* have case discrepancies in objc code, which appears to be a hard blocker to .d pruning. This change will not work until we've found some way to enforce case-consistency. *** Original change description *** Implement input pruning using .d files in objc. -- MOS_MIGRATED_REVID=134069949
* Implement input pruning using .d files in objc.Gravatar Cal Peyser2016-09-22
| | | | | -- MOS_MIGRATED_REVID=133944059
* Rollback of commit a85bf4b19c680a6db11f21758847dc88ec0aa658.Gravatar Cal Peyser2016-09-16
| | | | | | | | | | | | | *** Reason for rollback *** Breaks Bigtop incremental build *** Original change description *** Implement input pruning using .d files in objc. -- MOS_MIGRATED_REVID=133271059
* Implement input pruning using .d files in objc.Gravatar Cal Peyser2016-09-09
| | | | | -- MOS_MIGRATED_REVID=132550233
* Rollback of commit 4689c5d1d2faf902846b100b8d858d172a0ceb3d.Gravatar Cal Peyser2016-09-06
| | | | | | | | | | | | | *** Reason for rollback *** Prunes .modulemap files incorrectly. See []. *** Original change description *** Implement input pruning using .d files in objc. -- MOS_MIGRATED_REVID=132246906
* Implement input pruning using .d files in objc.Gravatar Cal Peyser2016-09-06
| | | | | -- MOS_MIGRATED_REVID=132061988
* Description redacted.Gravatar Cal Peyser2016-09-02
| | | | | -- MOS_MIGRATED_REVID=131990160
* Implement input pruning using .d files in objc.Gravatar Cal Peyser2016-09-02
-- MOS_MIGRATED_REVID=131951535