diff options
author | jcater <jcater@google.com> | 2018-06-04 08:01:09 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-06-04 08:02:32 -0700 |
commit | 072154757970826b39715a67aaec15763d8be4a1 (patch) | |
tree | 57665d1ad0e57c9237fd854e448e3a7a0c0d82ec /src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java | |
parent | c3aa9fed6f91204817b9d2f5cb46d9484019f745 (diff) |
Let Skylark rules take part in MakeVariableExpandingRule expansions using the
toolchains attribute.
PiperOrigin-RevId: 199133235
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java index b8c7471065..b93f357939 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java @@ -36,6 +36,7 @@ import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.analysis.ActionsProvider; import com.google.devtools.build.lib.analysis.BaseRuleClasses; import com.google.devtools.build.lib.analysis.DefaultInfo; +import com.google.devtools.build.lib.analysis.TemplateVariableInfo; import com.google.devtools.build.lib.analysis.config.ConfigAwareRuleClassBuilder; import com.google.devtools.build.lib.analysis.config.HostTransition; import com.google.devtools.build.lib.analysis.config.transitions.PatchTransition; @@ -88,6 +89,7 @@ import com.google.devtools.build.lib.syntax.SkylarkType; import com.google.devtools.build.lib.syntax.SkylarkUtils; import com.google.devtools.build.lib.syntax.Type; import com.google.devtools.build.lib.syntax.Type.ConversionException; +import com.google.devtools.build.lib.util.FileTypeSet; import com.google.devtools.build.lib.util.Pair; import java.util.Map; import java.util.concurrent.ExecutionException; @@ -120,6 +122,11 @@ public class SkylarkRuleClassFunctions implements SkylarkRuleFunctionsApi<Artifa BaseRuleClasses.nameAttribute( new RuleClass.Builder("$base_rule", RuleClassType.ABSTRACT, true)) .add(attr("expect_failure", STRING))) + // TODO(skylark-team): Allow Skylark rules to extend native rules and remove duplication. + .add( + attr("toolchains", LABEL_LIST) + .allowedFileTypes(FileTypeSet.NO_FILE) + .mandatoryProviders(ImmutableList.of(TemplateVariableInfo.PROVIDER.id()))) .build(); /** Parent rule class for executable non-test Skylark rules. */ |