diff options
author | cparsons <cparsons@google.com> | 2017-05-25 20:27:45 +0200 |
---|---|---|
committer | Irina Iancu <elenairina@google.com> | 2017-05-26 09:36:53 +0200 |
commit | ed22f62ab5d15a26bb92e1a10994543f98b4e1d2 (patch) | |
tree | 29c62539f9790ff91b059bd0d8652e49fd69029d /src | |
parent | 73ff45075e5b23441c66c0f7dad3ae84a9cf0436 (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.java | 27 |
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); } |