aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/CommandHelper.java
Commit message (Collapse)AuthorAge
* Refactor all ctor callsites of PathFragment to instead call a static ↵Gravatar nharmata2017-04-05
| | | | | | | | | | | | 'create' method. This paves the way for changing PathFragment to e.g. an abstract class with multiple subclasses. This way we can split out the windows-specific stuff into one of these concrete classes, making the code more readable and also saving memory (since the shallow heap size of the NonWindowsPathFragment subclass will hopefully be smaller than that of the current PathFragment). This also lets us pursue gc churn optimizations. We can now do interning in PathFragment#create and can also get rid of unnecessary intermediate PathFragment allocations. RELNOTES: None PiperOrigin-RevId: 152145768
* Update GenRule to include the Cpp and Jdk toolchains and properly handleGravatar John Cater2017-02-06
| | | | | | | | expanded make variables. -- PiperOrigin-RevId: 146478427 MOS_MIGRATED_REVID=146478427
* 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
* Create a base implementation of GenRule that can be used by both Bazel andGravatar John Cater2017-01-30
| | | | | | | | internal Google code. -- PiperOrigin-RevId: 145795255 MOS_MIGRATED_REVID=145795255
* Update GenRuleRule attribute documentation. Also rename files pending a mergeGravatar John Cater2017-01-23
| | | | | | | | with the internal GenRule implementation. -- PiperOrigin-RevId: 145087704 MOS_MIGRATED_REVID=145087704
* Replace BuildConfiguration.Fragment#collectExecutables() with a ↵Gravatar Lukacs Berki2016-09-22
| | | | | | | | | #getShellExecutable() method. That's all it was used for anyway. -- MOS_MIGRATED_REVID=133824769
* Better API for creating immutable Skylark lists.Gravatar Dmitry Lomov2016-09-06
| | | | | -- MOS_MIGRATED_REVID=132226460
* Add an "alias" rule.Gravatar Lukacs Berki2016-05-10
| | | | | | | This will be used to replace RedirectChaser so that we don't need to load packages during configuration creation anymore. -- MOS_MIGRATED_REVID=121935989
* Reinstate mutable maps, again.Gravatar Francois-Rene Rideau2016-02-17
| | | | | -- MOS_MIGRATED_REVID=114860576
* Allow propagation of execution requirements to the ctx.resolve_command ↵Gravatar Chris Parsons2016-02-11
| | | | | | | | | function. In the case of the requires-darwin tag, /bin/bash will be used instead of an alternative, which matches the current genrule implementation. -- MOS_MIGRATED_REVID=114360408
* Rollback of commit f941d56acfad5f8c819c81b494f806ea74ea7fd8.Gravatar Carmi Grushko2016-02-02
| | | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks many targets, see [] *** Original change description *** Reinstate mutable SkylarkDict Add <String, Object> annotation to optionMap invocation in SkylarkAttr, to make JDK 1.7 happy. Give the visible name "aspect" to class SkylarkAspect. -- MOS_MIGRATED_REVID=113543873
* Reinstate mutable SkylarkDictGravatar Francois-Rene Rideau2016-02-01
| | | | | | | | | | Add <String, Object> annotation to optionMap invocation in SkylarkAttr, to make JDK 1.7 happy. Give the visible name "aspect" to class SkylarkAspect. -- MOS_MIGRATED_REVID=113394826
* Rollback of commit c0a8c58b9230a1f5d76269eb7dc6b11e18f19686.Gravatar Damien Martin-Guillerez2016-01-29
| | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Break Java 1.7 builds of Bazel. See http://ci.bazel.io/job/Bazel/JAVA_VERSION=1.7,PLATFORM_NAME=linux-x86_64/327/console Test: git clone ... && git revert c0a8c58 && export JAVA_VERSION=1.7 && export BAZEL_COMPILE_TARGET=compile && bash -c "source scripts/ci/build.sh; bazel_build" *** Original change description *** Make Skylark dicts mutable Represent Skylark dict using a new subclass SkylarkDict<K, V> of Map<K, V>. Back it with a TreeMap to provide a deterministic iteration order. Also make SkylarkList generic in its element type <E>. Have Artifact implement Comparable<Object> so it can be used as TreeMap key. -- MOS_MIGRATED_REVID=113359718
* Limit command line length to accomodate Windows.Gravatar Dmitry Lomov2016-01-29
| | | | | -- MOS_MIGRATED_REVID=113350910
* Make Skylark dicts mutableGravatar Francois-Rene Rideau2016-01-29
| | | | | | | | | | Represent Skylark dict using a new subclass SkylarkDict<K, V> of Map<K, V>. Back it with a TreeMap to provide a deterministic iteration order. Also make SkylarkList generic in its element type <E>. Have Artifact implement Comparable<Object> so it can be used as TreeMap key. -- MOS_MIGRATED_REVID=113277489
* Remove command_helper, use resolve_command insteadGravatar Francois-Rene Rideau2015-10-15
| | | | | | | Eliminate side-effect in command_line_srcs and hide the internal class. -- MOS_MIGRATED_REVID=105480701
* Description redacted.Gravatar Francois-Rene Rideau2015-10-08
| | | | | -- MOS_MIGRATED_REVID=104886879
* Rationalize copyright headersGravatar Damien Martin-Guillerez2015-09-25
| | | | | | | | | | | The headers were modified with `find . -type f -exec 'sed' '-Ei' 's|Copyright 201([45]) Google|Copyright 201\1 The Bazel Authors|' '{}' ';'` And manual edit for not Google owned copyright. Because of the nature of ijar, I did not modified the header of file owned by Alan Donovan. The list of authors were extracted from the git log. It is missing older Google contributors that can be added on-demand. -- MOS_MIGRATED_REVID=103938715
* Move Label from the lib.syntax to the lib.cmdline package so that:Gravatar Lukacs Berki2015-09-21
| | | | | | | | | | - Label parsing can be simplified - lib.syntax is only contains the code for Skylark and is reasonably independent from the problem domain of building things This change is mostly only changes to imports declarations. The rest is reversing the dependency between :cmdline and :syntax and moving a tiny amount of code between Printer and FilesetEntry and the addition of SkylarkPrintableValue that I couldn't be bothered to separate out into its own change. -- MOS_MIGRATED_REVID=103527877
* Separate build-specific types and types inherent to Skylark.Gravatar Lukacs Berki2015-09-21
| | | | | -- MOS_MIGRATED_REVID=103374106
* Fix $(location //external:some_tool) expansion for genrules.Gravatar Brian Silverman2015-08-28
| | | | | | | | | | | | Previously, targets in "tools" of genrules could only be expanded in $(location)s as the target of the bind. This is another part of fully fixing #90. -- Change-Id: I91444fbfe551b651c46811014639f08f779c70aa Reviewed-on: https://bazel-review.googlesource.com/#/c/1750/ MOS_MIGRATED_REVID=101760690
* Skylark: Implemented ctx.expand_location() which expands the location(s) of ↵Gravatar Florian Weikert2015-07-10
| | | | | | | the target file(s) of labels -- MOS_MIGRATED_REVID=97949264
* Support running extra_actions on [].Gravatar Googler2015-04-14
| | | | | -- MOS_MIGRATED_REVID=90988858
* Add support for $(location) with //external labelsGravatar Kristina Chodorow2015-04-09
| | | | | | | Fixes https://github.com/google/bazel/issues/90. -- MOS_MIGRATED_REVID=90717991
* Skylark: Mark command_helper as experimental.Gravatar Laurent Le Brun2015-04-01
| | | | | | | | This class is poorly documented and the API is not well thought. We cannot remove it now (because it is used) though. -- MOS_MIGRATED_REVID=90070889
* Some cleanup changes.Gravatar Ulf Adams2015-03-05
| | | | | -- MOS_MIGRATED_REVID=87821306
* Allows users of CommandHelper to override the default shell executable.Gravatar Googler2015-02-11
| | | | | -- MOS_MIGRATED_REVID=86086777
* Update from Google.Gravatar Han-Wen Nienhuys2015-02-25
-- MOE_MIGRATED_REVID=85702957