diff options
author | cparsons <cparsons@google.com> | 2018-04-23 12:04:09 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-04-23 12:05:19 -0700 |
commit | 981f65bf0a53239c8d5d55a1469c17721a12b2f4 (patch) | |
tree | 097d8c6faea51729bac0e9aee95b2d38eacbcd07 /src/main/java/com/google/devtools/build/lib/analysis | |
parent | a4852b5fbf09c40bfebfec6ed231ebeb11950194 (diff) |
Start refactoring elements of the Skylark Build API into their own package.
RELNOTES: None.
PiperOrigin-RevId: 193962460
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/analysis/skylark/BazelBuildApiGlobals.java (renamed from src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkBuildApiGlobals.java) | 35 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkLateBoundDefault.java | 4 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkModules.java | 2 |
3 files changed, 8 insertions, 33 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkBuildApiGlobals.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/BazelBuildApiGlobals.java index a8851c92c4..efd87e7c10 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkBuildApiGlobals.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/BazelBuildApiGlobals.java @@ -14,44 +14,19 @@ package com.google.devtools.build.lib.analysis.skylark; - import com.google.devtools.build.lib.events.Location; -import com.google.devtools.build.lib.skylarkinterface.Param; -import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable; -import com.google.devtools.build.lib.skylarkinterface.SkylarkGlobalLibrary; +import com.google.devtools.build.lib.skylarkbuildapi.SkylarkBuildApiGlobals; import com.google.devtools.build.lib.syntax.Environment; import com.google.devtools.build.lib.syntax.EvalException; import com.google.devtools.build.lib.syntax.SkylarkUtils; /** - * A collection of global skylark build API functions that belong in the global namespace. + * Bazel implementation of {@link SkylarkBuildApiGlobals}: a collection of global skylark build + * API functions that belong in the global namespace. */ -@SkylarkGlobalLibrary -public class SkylarkBuildApiGlobals { +public class BazelBuildApiGlobals implements SkylarkBuildApiGlobals { - @SkylarkCallable( - name = "configuration_field", - // TODO(cparsons): Provide a link to documentation for available SkylarkConfigurationFields. - doc = "References a late-bound default value for an attribute of type " - + "<a href=\"attr.html#label\">label</a>. A value is 'late-bound' if it requires " - + "the configuration to be built before determining the value. Any attribute using this " - + "as a value must <a href=\"../rules.html#private-attributes\">be private</a>.", - parameters = { - @Param( - name = "fragment", - type = String.class, - named = true, - doc = "The name of a configuration fragment which contains the late-bound value." - ), - @Param( - name = "name", - type = String.class, - named = true, - doc = "The name of the value to obtain from the configuration fragment."), - }, - useLocation = true, - useEnvironment = true - ) + @Override public SkylarkLateBoundDefault<?> configurationField( String fragment, String name, Location loc, Environment env) throws EvalException { diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkLateBoundDefault.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkLateBoundDefault.java index 93fe96e32e..bf91cafbab 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkLateBoundDefault.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkLateBoundDefault.java @@ -27,9 +27,9 @@ import com.google.devtools.build.lib.packages.Attribute.LateBoundDefault; import com.google.devtools.build.lib.packages.AttributeMap; import com.google.devtools.build.lib.packages.Rule; import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; +import com.google.devtools.build.lib.skylarkbuildapi.LateBoundDefaultApi; import com.google.devtools.build.lib.skylarkinterface.SkylarkModule; import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter; -import com.google.devtools.build.lib.skylarkinterface.SkylarkValue; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.Map; @@ -50,7 +50,7 @@ import javax.annotation.concurrent.Immutable; @Immutable @AutoCodec public class SkylarkLateBoundDefault<FragmentT> extends AbstractLabelLateBoundDefault<FragmentT> - implements SkylarkValue { + implements LateBoundDefaultApi { private final Method method; private final String fragmentName; diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkModules.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkModules.java index 17129ee6f4..a85893197e 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkModules.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkModules.java @@ -38,8 +38,8 @@ public final class SkylarkModules { */ public static final ImmutableList<Class<?>> MODULES = ImmutableList.of( + BazelBuildApiGlobals.class, SkylarkAttr.class, - SkylarkBuildApiGlobals.class, SkylarkCommandLine.class, SkylarkNativeModule.class, SkylarkRuleClassFunctions.class); |