diff options
author | Googler <noreply@google.com> | 2018-07-17 14:37:33 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-07-17 14:39:06 -0700 |
commit | 3f37d71fb2f03777b231834646888c68811817a7 (patch) | |
tree | ddc6ba1116d04a0f9ab933a3b76d352bc4861d17 /src/main/java/com/google/devtools/build/lib/rules/android | |
parent | 27e81776f6dd684aca01c1066216a3c127821da5 (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.java | 23 |
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()); + } } } |