aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/AppleDebugOutputsInfo.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/AppleDylibBinaryInfo.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/AppleDynamicFrameworkInfo.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/AppleExecutableBinaryInfo.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/AppleLoadableBundleBinaryInfo.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibraryInfo.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/IosDeviceProvider.java48
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java2
8 files changed, 41 insertions, 26 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleDebugOutputsInfo.java b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleDebugOutputsInfo.java
index af5833c17b..37f7ae2bf0 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleDebugOutputsInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleDebugOutputsInfo.java
@@ -91,7 +91,7 @@ public final class AppleDebugOutputsInfo extends NativeInfo {
* </ul>
*/
private AppleDebugOutputsInfo(ImmutableMap<String, ImmutableMap<String, Artifact>> map) {
- super(SKYLARK_CONSTRUCTOR, ImmutableMap.<String, Object>of());
+ super(SKYLARK_CONSTRUCTOR);
this.outputsMap = map;
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleDylibBinaryInfo.java b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleDylibBinaryInfo.java
index 814191b8b3..aeed29b092 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleDylibBinaryInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleDylibBinaryInfo.java
@@ -14,7 +14,6 @@
package com.google.devtools.build.lib.rules.objc;
-import com.google.common.collect.ImmutableMap;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.packages.NativeInfo;
@@ -55,7 +54,7 @@ public final class AppleDylibBinaryInfo extends NativeInfo {
public AppleDylibBinaryInfo(Artifact dylibBinary,
ObjcProvider depsObjcProvider) {
- super(SKYLARK_CONSTRUCTOR, ImmutableMap.<String, Object>of());
+ super(SKYLARK_CONSTRUCTOR);
this.dylibBinary = dylibBinary;
this.depsObjcProvider = depsObjcProvider;
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleDynamicFrameworkInfo.java b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleDynamicFrameworkInfo.java
index 7d9b97e1f1..6555f8a951 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleDynamicFrameworkInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleDynamicFrameworkInfo.java
@@ -14,7 +14,6 @@
package com.google.devtools.build.lib.rules.objc;
-import com.google.common.collect.ImmutableMap;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
@@ -74,7 +73,7 @@ public final class AppleDynamicFrameworkInfo extends NativeInfo {
ObjcProvider depsObjcProvider,
NestedSet<PathFragment> dynamicFrameworkDirs,
NestedSet<Artifact> dynamicFrameworkFiles) {
- super(SKYLARK_CONSTRUCTOR, ImmutableMap.<String, Object>of());
+ super(SKYLARK_CONSTRUCTOR);
this.dylibBinary = dylibBinary;
this.depsObjcProvider = depsObjcProvider;
this.dynamicFrameworkDirs = dynamicFrameworkDirs;
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleExecutableBinaryInfo.java b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleExecutableBinaryInfo.java
index 134d89a70a..374d9bedaf 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleExecutableBinaryInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleExecutableBinaryInfo.java
@@ -14,7 +14,6 @@
package com.google.devtools.build.lib.rules.objc;
-import com.google.common.collect.ImmutableMap;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.packages.NativeInfo;
@@ -60,7 +59,7 @@ public final class AppleExecutableBinaryInfo extends NativeInfo {
*/
public AppleExecutableBinaryInfo(Artifact appleExecutableBinary,
ObjcProvider depsObjcProvider) {
- super(SKYLARK_CONSTRUCTOR, ImmutableMap.<String, Object>of());
+ super(SKYLARK_CONSTRUCTOR);
this.appleExecutableBinary = appleExecutableBinary;
this.depsObjcProvider = depsObjcProvider;
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleLoadableBundleBinaryInfo.java b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleLoadableBundleBinaryInfo.java
index cfb1cc3672..ea2cb6602f 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleLoadableBundleBinaryInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleLoadableBundleBinaryInfo.java
@@ -14,7 +14,6 @@
package com.google.devtools.build.lib.rules.objc;
-import com.google.common.collect.ImmutableMap;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.packages.NativeInfo;
@@ -59,7 +58,7 @@ public final class AppleLoadableBundleBinaryInfo extends NativeInfo {
*/
public AppleLoadableBundleBinaryInfo(Artifact appleLoadableBundleBinary,
ObjcProvider depsObjcProvider) {
- super(SKYLARK_CONSTRUCTOR, ImmutableMap.<String, Object>of());
+ super(SKYLARK_CONSTRUCTOR);
this.appleLoadableBundleBinary = appleLoadableBundleBinary;
this.depsObjcProvider = depsObjcProvider;
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibraryInfo.java b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibraryInfo.java
index 3bbdc6807f..2280bd7487 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibraryInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibraryInfo.java
@@ -14,7 +14,6 @@
package com.google.devtools.build.lib.rules.objc;
-import com.google.common.collect.ImmutableMap;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.packages.NativeInfo;
import com.google.devtools.build.lib.packages.NativeProvider;
@@ -60,7 +59,7 @@ public final class AppleStaticLibraryInfo extends NativeInfo {
*/
public AppleStaticLibraryInfo(Artifact multiArchArchive,
ObjcProvider depsObjcProvider) {
- super(SKYLARK_CONSTRUCTOR, ImmutableMap.<String, Object>of());
+ super(SKYLARK_CONSTRUCTOR);
this.multiArchArchive = multiArchArchive;
this.depsObjcProvider = depsObjcProvider;
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/IosDeviceProvider.java b/src/main/java/com/google/devtools/build/lib/rules/objc/IosDeviceProvider.java
index 1ce7085140..bbd98f7943 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/IosDeviceProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/IosDeviceProvider.java
@@ -16,17 +16,23 @@ package com.google.devtools.build.lib.rules.objc;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
import com.google.devtools.build.lib.analysis.actions.TemplateExpansionAction.Substitution;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.packages.NativeInfo;
import com.google.devtools.build.lib.packages.NativeProvider;
import com.google.devtools.build.lib.rules.apple.DottedVersion;
-import java.util.Map;
+import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
+import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
+import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
import javax.annotation.Nullable;
/** Provider that describes a simulator device. */
@Immutable
+@SkylarkModule(
+ name = "IosDevice",
+ category = SkylarkModuleCategory.PROVIDER,
+ doc = "<b>Deprecated. Use the new Skylark testing rules instead.</b>"
+)
public final class IosDeviceProvider extends NativeInfo {
/** A builder of {@link IosDeviceProvider}s. */
public static final class Builder {
@@ -85,13 +91,38 @@ public final class IosDeviceProvider extends NativeInfo {
private final String locale;
private IosDeviceProvider(Builder builder) {
- super(SKYLARK_CONSTRUCTOR, getSkylarkFields(builder));
+ super(SKYLARK_CONSTRUCTOR);
this.type = Preconditions.checkNotNull(builder.type);
this.iosVersion = Preconditions.checkNotNull(builder.iosVersion);
this.locale = Preconditions.checkNotNull(builder.locale);
this.xcodeVersion = builder.xcodeVersion;
}
+ @SkylarkCallable(
+ name = "ios_version",
+ doc = "The iOS version of the simulator to use.",
+ structField = true
+ )
+ public String getIosVersionString() {
+ return iosVersion.toString();
+ }
+
+ @SkylarkCallable(
+ name = "xcode_version",
+ doc = "The xcode version to obtain the iOS simulator from, or <code>None</code> if unknown.",
+ structField = true,
+ allowReturnNones = true
+ )
+ @Nullable
+ public String getXcodeVersionString() {
+ return xcodeVersion != null ? xcodeVersion.toString() : null;
+ }
+
+ @SkylarkCallable(
+ name = "type",
+ doc = "The hardware type of the device, corresponding to the simctl device type.",
+ structField = true
+ )
public String getType() {
return type;
}
@@ -120,15 +151,4 @@ public final class IosDeviceProvider extends NativeInfo {
Substitution.of("%(simulator_sdk)s", getIosVersion().toString()),
Substitution.of("%(locale)s", getLocale())));
}
-
- private static Map<String, Object> getSkylarkFields(Builder builder) {
- ImmutableMap.Builder<String, Object> skylarkFields =
- new ImmutableMap.Builder<String, Object>()
- .put("type", builder.type)
- .put("ios_version", builder.iosVersion.toString());
- if (builder.xcodeVersion != null) {
- skylarkFields.put("xcode_version", builder.xcodeVersion.toString());
- }
- return skylarkFields.build();
- }
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java
index bcde3803bc..3dfada91b2 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java
@@ -818,7 +818,7 @@ public final class ObjcProvider extends NativeInfo {
ImmutableMap<Key<?>, NestedSet<?>> items,
ImmutableMap<Key<?>, NestedSet<?>> nonPropagatedItems,
ImmutableMap<Key<?>, NestedSet<?>> strictDependencyItems) {
- super(SKYLARK_CONSTRUCTOR, ImmutableMap.<String, Object>of());
+ super(SKYLARK_CONSTRUCTOR);
this.items = Preconditions.checkNotNull(items);
this.nonPropagatedItems = Preconditions.checkNotNull(nonPropagatedItems);
this.strictDependencyItems = Preconditions.checkNotNull(strictDependencyItems);