Remove old and now unused resource tracing infrastructure
This is now handled in the ResourceAnalysis setup that is integrated in the enqueuer
Change-Id: I97800ad4a01537517c4069acd7f91e12c0a30b60
diff --git a/src/main/java/com/android/tools/r8/utils/ResourceTracing.java b/src/main/java/com/android/tools/r8/utils/ResourceTracing.java
deleted file mode 100644
index 6e030ac..0000000
--- a/src/main/java/com/android/tools/r8/utils/ResourceTracing.java
+++ /dev/null
@@ -1,96 +0,0 @@
-// Copyright (c) 2023, the R8 project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-package com.android.tools.r8.utils;
-
-import com.android.tools.r8.AndroidResourceConsumer;
-import com.android.tools.r8.AndroidResourceInput;
-import com.android.tools.r8.AndroidResourceOutput;
-import com.android.tools.r8.AndroidResourceProvider;
-import com.android.tools.r8.ByteDataView;
-import com.android.tools.r8.DiagnosticsHandler;
-import com.android.tools.r8.ResourceException;
-import com.android.tools.r8.ResourcePath;
-import com.android.tools.r8.origin.Origin;
-import com.android.tools.r8.utils.resourceshrinker.ResourceTracingImpl;
-import com.google.common.io.ByteStreams;
-import java.io.IOException;
-import java.util.List;
-
-public interface ResourceTracing {
-
- // Mark the resource with the given ID as live.
- List<LiveMethod> traceResourceId(int id);
-
- // Notify that no more resources will be marked as live, assumes that the consumer is passed
- // the shrunken resource entries.
-
- void done(DiagnosticsHandler diagnosticsHandler);
-
- void setProvider(AndroidResourceProvider provider);
-
- void setConsumer(AndroidResourceConsumer consumer);
-
- // The resource shrinker will report back methods that become live due to newly live resources.
- class LiveMethod {
-
- private final String clazz;
- private final String method;
-
- public LiveMethod(String clazz, String method) {
- this.clazz = clazz;
- this.method = method;
- }
-
- public String getClazz() {
- return clazz;
- }
-
- public String getMethod() {
- return method;
- }
- }
-
- static ResourceTracing getImpl() {
- return new ResourceTracingImpl();
- }
-
- static void copyProviderToConsumer(
- DiagnosticsHandler diagnosticsHandler,
- AndroidResourceProvider provider,
- AndroidResourceConsumer consumer) {
- try {
- for (AndroidResourceInput androidResource : provider.getAndroidResources()) {
- consumer.accept(
- new AndroidResourceOutput() {
- @Override
- public ResourcePath getPath() {
- return androidResource.getPath();
- }
-
- @Override
- public ByteDataView getByteDataView() {
- try {
- return ByteDataView.of(ByteStreams.toByteArray(androidResource.getByteStream()));
- } catch (IOException | ResourceException e) {
- diagnosticsHandler.error(new ExceptionDiagnostic(e, androidResource.getOrigin()));
- }
- return null;
- }
-
- @Override
- public Origin getOrigin() {
- return androidResource.getOrigin();
- }
- },
- diagnosticsHandler);
- }
- } catch (ResourceException e) {
- diagnosticsHandler.error(new ExceptionDiagnostic(e));
- } finally {
- consumer.finished(diagnosticsHandler);
- provider.finished(diagnosticsHandler);
- }
- }
-}
diff --git a/src/main/java/com/android/tools/r8/utils/resourceshrinker/ResourceTracingImpl.java b/src/main/java/com/android/tools/r8/utils/resourceshrinker/ResourceTracingImpl.java
deleted file mode 100644
index d600063..0000000
--- a/src/main/java/com/android/tools/r8/utils/resourceshrinker/ResourceTracingImpl.java
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright (c) 2023, the R8 project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-package com.android.tools.r8.utils.resourceshrinker;
-
-import com.android.build.shrinker.r8integration.R8ResourceShrinkerState;
-import com.android.tools.r8.AndroidResourceConsumer;
-import com.android.tools.r8.AndroidResourceInput;
-import com.android.tools.r8.AndroidResourceInput.Kind;
-import com.android.tools.r8.AndroidResourceProvider;
-import com.android.tools.r8.DiagnosticsHandler;
-import com.android.tools.r8.ResourceException;
-import com.android.tools.r8.errors.CompilationError;
-import com.android.tools.r8.utils.ResourceTracing;
-import java.util.Collections;
-import java.util.List;
-
-public class ResourceTracingImpl implements ResourceTracing {
-
- private AndroidResourceConsumer consumer;
- private AndroidResourceProvider provider;
-
- @Override
- public List<LiveMethod> traceResourceId(int id) {
- return Collections.emptyList();
- }
-
- @Override
- public void done(DiagnosticsHandler diagnosticsHandler) {
- ResourceTracing.copyProviderToConsumer(diagnosticsHandler, provider, consumer);
- }
-
- @Override
- public void setProvider(AndroidResourceProvider provider) {
- this.provider = provider;
- R8ResourceShrinkerState r8ResourceShrinkerState = new R8ResourceShrinkerState();
- try {
- for (AndroidResourceInput androidResource : provider.getAndroidResources()) {
- if (androidResource.getKind() == Kind.RESOURCE_TABLE) {
- r8ResourceShrinkerState.setResourceTableInput(androidResource.getByteStream());
- }
- }
- } catch (ResourceException e) {
- throw new CompilationError("Failed reading the resource table inputs", e);
- }
- }
-
- @Override
- public void setConsumer(AndroidResourceConsumer consumer) {
- this.consumer = consumer;
- }
-}
diff --git a/src/main/keep_r8resourceshrinker.txt b/src/main/keep_r8resourceshrinker.txt
index 45112c7..2a6d25b 100644
--- a/src/main/keep_r8resourceshrinker.txt
+++ b/src/main/keep_r8resourceshrinker.txt
@@ -8,8 +8,3 @@
-keepclassmembers enum com.android.tools.r8.com.android.resources.ResourceFolderType {
public static **[] values();
}
-
-# TODO(b/294924503): Used reflectively until the move to gradle 8 is done (b/270105162)
--keep class com.android.tools.r8.utils.resourceshrinker.ResourceTracingImpl {
- <init>();
-}