diff options
author | cparsons <cparsons@google.com> | 2018-06-26 10:25:25 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-06-26 10:26:53 -0700 |
commit | 6ecacd585ca406c1681b4b6cbd71222b52c30fcc (patch) | |
tree | e5ed84f70d0a6697f5b3692610e3017e70439a30 /src/main/java/com/google/devtools/build/lib | |
parent | 85d3f614c9e8e8080ed121fbac979ceb381e031c (diff) |
Document LateBoundDefault
RELNOTES: None.
PiperOrigin-RevId: 202150316
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skylarkbuildapi/LateBoundDefaultApi.java | 14 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkBuildApiGlobals.java | 9 |
2 files changed, 16 insertions, 7 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/LateBoundDefaultApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/LateBoundDefaultApi.java index 802d09f6dd..b4707cb35d 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/LateBoundDefaultApi.java +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/LateBoundDefaultApi.java @@ -20,10 +20,12 @@ import com.google.devtools.build.lib.skylarkinterface.SkylarkValue; /** * The interface for late bound defaults in Skylark. */ -// TODO(cparsons): Document. @SkylarkModule(name = "LateBoundDefault", - documented = false, - doc = "") -public interface LateBoundDefaultApi extends SkylarkValue { - // TODO(cparsons): Migrate this API from the Bazel-specific implementation. -} + doc = "Represents a late-bound default attribute value of type 'Label'. " + + "The value of a LateBoundDefault is only resolvable in the context of a rule " + + "implementation function, and depends on the current build configuration. For example, a " + + "LateBoundDefault might represent the Label of the java toolchain in the current build " + + "configuration. " + + "<p>See <a href=\"globals.html#configuration_field\">configuration_field</a> for " + + "example usage.") +public interface LateBoundDefaultApi extends SkylarkValue {} diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkBuildApiGlobals.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkBuildApiGlobals.java index fd24b7ff1e..23c345fef5 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkBuildApiGlobals.java +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkBuildApiGlobals.java @@ -33,7 +33,14 @@ public interface SkylarkBuildApiGlobals { 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>.", + + "as a value must <a href=\"../rules.html#private-attributes\">be private</a>. " + + "<p>Example usage: " + + "<p>Defining a rule attribute: <br><pre class=language-python>" + + "'foo_': attr.label(default=configuration_field(fragment='java', name='toolchain'))</pre>" + + "<p>Accessing in rule implementation: <br><pre class=language-python>" + + " def _rule_impl(ctx):\n" + + " foo_info = ctx.attr._foo\n" + + " ...</pre>", parameters = { @Param( name = "fragment", |