aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/genrule/GenRuleBaseRule.java
Commit message (Collapse)AuthorAge
* LateBoundDefault: enforce access to a single fragment (or none).Gravatar mstaib2017-09-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, there is no way to enforce that LateBoundDefaults only access the fragments that they declare. This means that LateBoundDefaults can fail to declare fragments at all, or declare the wrong ones, and still have no troubles. But when trimming, these fragments must be declared, because otherwise they will not necessarily be available. This change refactors LateBoundDefault to declare a single fragment type, not a set. All existing LateBoundDefaults use sets with a single element or no elements at all for their set of fragment classes, so this does not limit anything being done currently. To account for LateBoundDefaults which do not use configuration at all, typically those which only want to access the configured attribute map, it is possible for Void to be the fragment class which is requested. To account for LateBoundDefaults which need to access methods of the BuildConfiguration instance itself, it is possible for BuildConfiguration to be the fragment class which is requested; however, this is unsafe, so it is only a temporary state until a way to do this without also giving access to all of the fragments can be added. Drive-by refactoring: LateBoundDefaults' values are now typed. All actual production LateBoundDefaults were Label or List<Label> typed, through the LateBoundLabel and LateBoundLabelList subclasses. These subclasses have been removed, and LateBoundDefault has two type parameters, one for the type of its input, and one for the type of its output. RELNOTES: None. PiperOrigin-RevId: 169242278
* Every rule class that uses a cc_toolchain also has knowledge of the label forGravatar cpeyser2017-09-18
| | | | | | the c++ toolchain type through an implicit attribute. PiperOrigin-RevId: 168864540
* Rename bazel-user-manual.html into user-manual.htmlGravatar dmarting2017-09-04
| | | | PiperOrigin-RevId: 167477112
* Rename some of native declared providers according to the new naming scheme.Gravatar dslomov2017-08-21
| | | | | RELNOTES: None PiperOrigin-RevId: 165910455
* Move MakeVariableProvider to lib.analysisGravatar ulfjack2017-08-08
| | | | | | | This is part of splitting up the build-base library into separate libraries for analysis, exec, and rules. PiperOrigin-RevId: 164456961
* MakeVariableProvider should be declared provider only.Gravatar dslomov2017-07-11
| | | | | RELNOTES: None. PiperOrigin-RevId: 161527470
* Update the default values for the C++ and Java late-bound attributes to the ↵Gravatar janakr2017-07-10
| | | | | | correct //tools/cpp:toolchain and //tools/jdk:jdk. PiperOrigin-RevId: 161227981
* Automated g4 rollback of commit 8c41633a8700cbadd2ef219879cba305b576070e.Gravatar schmitt2017-04-10
| | | | | | | | | | | | | *** Reason for rollback *** Causes Blaze release failures. *** Original change description *** Genrules only depend on the host JDK if they have Java make variables. e.g.: cmd = "$(JAVA) foo.java ..." PiperOrigin-RevId: 152516143
* Genrules only depend on the host JDK if they have Java make variables.Gravatar Googler2017-04-06
| | | | | | e.g.: cmd = "$(JAVA) foo.java ..." PiperOrigin-RevId: 152263822
* Rename the ToolchainProvider to a more accurate name (and free up the name ↵Gravatar jcater2017-04-03
| | | | | | | | for the new ToolchainProvider). Change-Id: I3537e1ed924c598707759c4a7040d5ba00de559c PiperOrigin-RevId: 151853764
* Small documentation fix.Gravatar Googler2017-03-31
| | | | | | RELNOTES: none PiperOrigin-RevId: 151746179
* Genrules only depend on the C++ toolchain if they have C++ make variables. Gravatar Greg Estren2017-03-28
| | | | | | | | | | e.g.: cmd = "$(CC) foo.cc > $@" Fixes #2729 -- PiperOrigin-RevId: 151369889 MOS_MIGRATED_REVID=151369889
* Remove duplicate genrule documentation on base class.Gravatar John Cater2017-02-24
| | | | | | | | -- Change-Id: Ie33953add6a582368b6b0da74c478a8dd301acb4 Reviewed-on: https://cr.bazel.build/9041 PiperOrigin-RevId: 148355280 MOS_MIGRATED_REVID=148355280
* 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
* 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