aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar cparsons <cparsons@google.com>2017-05-25 20:27:45 +0200
committerGravatar Irina Iancu <elenairina@google.com>2017-05-26 09:36:53 +0200
commited22f62ab5d15a26bb92e1a10994543f98b4e1d2 (patch)
tree29c62539f9790ff91b059bd0d8652e49fd69029d /src
parent73ff45075e5b23441c66c0f7dad3ae84a9cf0436 (diff)
Expose creation method for DottedVersion to skylark.
RELNOTES: Skylark support (apple_common.dotted_version(string)) for building DottedVersion objects to interface with native apple rules PiperOrigin-RevId: 157131109
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/AppleSkylarkCommon.java27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleSkylarkCommon.java b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleSkylarkCommon.java
index 98340eb706..7d633d3b3c 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleSkylarkCommon.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleSkylarkCommon.java
@@ -23,6 +23,7 @@ import com.google.devtools.build.lib.collect.nestedset.Order;
import com.google.devtools.build.lib.packages.ClassObjectConstructor;
import com.google.devtools.build.lib.packages.SkylarkClassObject;
import com.google.devtools.build.lib.rules.apple.AppleToolchain;
+import com.google.devtools.build.lib.rules.apple.DottedVersion;
import com.google.devtools.build.lib.rules.apple.Platform;
import com.google.devtools.build.lib.rules.apple.Platform.PlatformType;
import com.google.devtools.build.lib.rules.apple.XcodeVersionProperties;
@@ -364,6 +365,32 @@ public class AppleSkylarkCommon {
}
};
+ @SkylarkSignature(
+ name = "dotted_version",
+ objectType = AppleSkylarkCommon.class,
+ returnType = DottedVersion.class,
+ doc = "Creates a new <a href=\"DottedVersion.html\">DottedVersion</a> instance.",
+ parameters = {
+ @Param(name = "self", type = AppleSkylarkCommon.class, doc = "The apple_common instance."),
+ @Param(
+ name = "version",
+ type = String.class,
+ named = false,
+ positional = false,
+ doc = "The string representation of the DottedVersion."
+ )
+ }
+ )
+ public static final BuiltinFunction DOTTED_VERSION =
+ new BuiltinFunction("dotted_version") {
+ @SuppressWarnings("unused")
+ // This method is registered statically for skylark, and never called directly.
+ public DottedVersion invoke(
+ AppleSkylarkCommon self, String version) {
+ return DottedVersion.fromString(version);
+ }
+ };
+
static {
SkylarkSignatureProcessor.configureSkylarkFunctions(AppleSkylarkCommon.class);
}