aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/android
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2018-07-17 14:37:33 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-07-17 14:39:06 -0700
commit3f37d71fb2f03777b231834646888c68811817a7 (patch)
treeddc6ba1116d04a0f9ab933a3b76d352bc4861d17 /src/main/java/com/google/devtools/build/lib/rules/android
parent27e81776f6dd684aca01c1066216a3c127821da5 (diff)
Update the AndroidProguardInfo provider so that it can be created from Skylark.
RELNOTES: none. PiperOrigin-RevId: 204976789
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/android')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidProguardInfo.java23
1 files changed, 12 insertions, 11 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidProguardInfo.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidProguardInfo.java
index ed0e67da49..6f2a1ff32d 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidProguardInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidProguardInfo.java
@@ -19,8 +19,9 @@ import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.packages.BuiltinProvider;
import com.google.devtools.build.lib.packages.NativeInfo;
import com.google.devtools.build.lib.rules.java.ProguardLibrary;
-import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidProguardInfoApi;
+import com.google.devtools.build.lib.syntax.EvalException;
+import com.google.devtools.build.lib.syntax.SkylarkList;
/**
* A target that can provide local proguard specifications, returned by the {@link
@@ -29,9 +30,9 @@ import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidProguardInfo
* <p>This class provides additional data, not available in the pure native {@link
* com.google.devtools.build.lib.rules.java.ProguardSpecProvider} provider.
*/
-@AutoCodec
@Immutable
-public class AndroidProguardInfo extends NativeInfo implements AndroidProguardInfoApi<Artifact> {
+public final class AndroidProguardInfo extends NativeInfo
+ implements AndroidProguardInfoApi<Artifact> {
public static final Provider PROVIDER = new Provider();
private final ImmutableList<Artifact> localProguardSpecs;
@@ -46,17 +47,17 @@ public class AndroidProguardInfo extends NativeInfo implements AndroidProguardIn
return localProguardSpecs;
}
- /**
- * Provider class for {@link AndroidProguardInfo} objects.
- */
- public static class Provider extends BuiltinProvider<AndroidProguardInfo> {
+ /** Provider class for {@link AndroidProguardInfo} objects. */
+ public static class Provider extends BuiltinProvider<AndroidProguardInfo>
+ implements AndroidProguardInfoApi.Provider<Artifact> {
private Provider() {
super(PROVIDER_NAME, AndroidProguardInfo.class);
}
- }
- @Override
- public AndroidProguardInfo androidProguardInfo(ImmutableList<Artifact> localProguardSpecs) {
- return new AndroidProguardInfo(localProguardSpecs);
+ @Override
+ public AndroidProguardInfo createInfo(SkylarkList<Artifact> localProguardSpecs)
+ throws EvalException {
+ return new AndroidProguardInfo(localProguardSpecs.getImmutableList());
+ }
}
}