Strip compilation metadata from build metadata
Bug: b/433551594
Change-Id: I2e9f4ce234d9a63de7987f543f6917d0f421824e
diff --git a/src/main/java/com/android/tools/r8/dex/ApplicationWriter.java b/src/main/java/com/android/tools/r8/dex/ApplicationWriter.java
index cf0c9e3..bc2f1c0 100644
--- a/src/main/java/com/android/tools/r8/dex/ApplicationWriter.java
+++ b/src/main/java/com/android/tools/r8/dex/ApplicationWriter.java
@@ -395,7 +395,7 @@
options.reporter.failIfPendingErrors();
// Supply info to all additional resource consumers.
if (!(programConsumer instanceof ConvertedCfFiles)) {
- supplyAdditionalConsumers(appView, executorService, virtualFiles);
+ supplyAdditionalConsumers(appView, virtualFiles);
}
} finally {
timing.end();
@@ -595,8 +595,7 @@
}
@SuppressWarnings("DefaultCharset")
- public static void supplyAdditionalConsumers(
- AppView<?> appView, ExecutorService executorService, List<VirtualFile> virtualFiles) {
+ public static void supplyAdditionalConsumers(AppView<?> appView, List<VirtualFile> virtualFiles) {
InternalOptions options = appView.options();
Reporter reporter = options.reporter;
appView.getArtProfileCollection().supplyConsumers(appView);
@@ -652,7 +651,7 @@
if (options.r8BuildMetadataConsumer != null) {
assert appView.hasClassHierarchy();
options.r8BuildMetadataConsumer.accept(
- BuildMetadataFactory.create(appView.withClassHierarchy(), executorService, virtualFiles));
+ BuildMetadataFactory.create(appView.withClassHierarchy(), virtualFiles));
}
}
diff --git a/src/main/java/com/android/tools/r8/jar/CfApplicationWriter.java b/src/main/java/com/android/tools/r8/jar/CfApplicationWriter.java
index 6898d97..f7266a1 100644
--- a/src/main/java/com/android/tools/r8/jar/CfApplicationWriter.java
+++ b/src/main/java/com/android/tools/r8/jar/CfApplicationWriter.java
@@ -125,7 +125,7 @@
executorService);
globalsConsumer.finished(appView);
}
- ApplicationWriter.supplyAdditionalConsumers(appView, executorService, Collections.emptyList());
+ ApplicationWriter.supplyAdditionalConsumers(appView, Collections.emptyList());
}
private void supplyConsumer(
diff --git a/src/main/java/com/android/tools/r8/metadata/R8BuildMetadata.java b/src/main/java/com/android/tools/r8/metadata/R8BuildMetadata.java
index 2f8f82d..beb814c 100644
--- a/src/main/java/com/android/tools/r8/metadata/R8BuildMetadata.java
+++ b/src/main/java/com/android/tools/r8/metadata/R8BuildMetadata.java
@@ -7,7 +7,6 @@
import com.android.tools.r8.metadata.impl.R8ApiModelingMetadataImpl;
import com.android.tools.r8.metadata.impl.R8BaselineProfileRewritingMetadataImpl;
import com.android.tools.r8.metadata.impl.R8BuildMetadataImpl;
-import com.android.tools.r8.metadata.impl.R8CompilationMetadataImpl;
import com.android.tools.r8.metadata.impl.R8DexFileMetadataImpl;
import com.android.tools.r8.metadata.impl.R8FeatureSplitMetadataImpl;
import com.android.tools.r8.metadata.impl.R8FeatureSplitsMetadataImpl;
@@ -35,8 +34,6 @@
.registerTypeAdapter(
R8BaselineProfileRewritingMetadata.class,
deserializeTo(R8BaselineProfileRewritingMetadataImpl.class))
- .registerTypeAdapter(
- R8CompilationMetadata.class, deserializeTo(R8CompilationMetadataImpl.class))
.registerTypeAdapter(R8DexFileMetadata.class, deserializeTo(R8DexFileMetadataImpl.class))
.registerTypeAdapter(R8StatsMetadata.class, deserializeTo(R8StatsMetadataImpl.class))
.registerTypeAdapter(
@@ -75,8 +72,6 @@
*/
R8BaselineProfileRewritingMetadata getBaselineProfileRewritingMetadata();
- R8CompilationMetadata getCompilationMetadata();
-
/**
* @return null if not compiling to dex.
*/
diff --git a/src/main/java/com/android/tools/r8/metadata/R8CompilationMetadata.java b/src/main/java/com/android/tools/r8/metadata/R8CompilationMetadata.java
deleted file mode 100644
index a492cee..0000000
--- a/src/main/java/com/android/tools/r8/metadata/R8CompilationMetadata.java
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright (c) 2024, 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.metadata;
-
-import com.android.tools.r8.keepanno.annotations.KeepForApi;
-
-@KeepForApi
-public interface R8CompilationMetadata {
-
- long getBuildTimeInNanos();
-
- long getNumberOfThreads();
-}
diff --git a/src/main/java/com/android/tools/r8/metadata/impl/BuildMetadataFactory.java b/src/main/java/com/android/tools/r8/metadata/impl/BuildMetadataFactory.java
index ecead83..dae2b90 100644
--- a/src/main/java/com/android/tools/r8/metadata/impl/BuildMetadataFactory.java
+++ b/src/main/java/com/android/tools/r8/metadata/impl/BuildMetadataFactory.java
@@ -21,7 +21,6 @@
import java.util.IdentityHashMap;
import java.util.List;
import java.util.Map;
-import java.util.concurrent.ExecutorService;
public class BuildMetadataFactory {
@@ -34,7 +33,6 @@
public static R8BuildMetadata create(
AppView<? extends AppInfoWithClassHierarchy> appView,
- ExecutorService executorService,
List<VirtualFile> virtualFiles) {
Map<FeatureSplit, List<VirtualFile>> virtualFilesForFeatureSplit = new IdentityHashMap<>();
for (VirtualFile virtualFile : Iterables.filter(virtualFiles, not(VirtualFile::isEmpty))) {
@@ -49,7 +47,6 @@
return R8BuildMetadataImpl.builder()
.setOptions(new R8OptionsMetadataImpl(options))
.setBaselineProfileRewritingOptions(R8BaselineProfileRewritingMetadataImpl.create(options))
- .setCompilationInfo(R8CompilationMetadataImpl.create(appView, executorService))
.applyIf(
options.isGeneratingDex(), builder -> builder.setDexFilesMetadata(baseVirtualFiles))
.applyIf(
diff --git a/src/main/java/com/android/tools/r8/metadata/impl/R8BuildMetadataImpl.java b/src/main/java/com/android/tools/r8/metadata/impl/R8BuildMetadataImpl.java
index ea6cec6..ee8ed0b 100644
--- a/src/main/java/com/android/tools/r8/metadata/impl/R8BuildMetadataImpl.java
+++ b/src/main/java/com/android/tools/r8/metadata/impl/R8BuildMetadataImpl.java
@@ -12,7 +12,6 @@
import com.android.tools.r8.keepanno.annotations.UsedByReflection;
import com.android.tools.r8.metadata.R8BaselineProfileRewritingMetadata;
import com.android.tools.r8.metadata.R8BuildMetadata;
-import com.android.tools.r8.metadata.R8CompilationMetadata;
import com.android.tools.r8.metadata.R8DexFileMetadata;
import com.android.tools.r8.metadata.R8FeatureSplitsMetadata;
import com.android.tools.r8.metadata.R8OptionsMetadata;
@@ -45,10 +44,6 @@
private final R8BaselineProfileRewritingMetadata baselineProfileRewritingMetadata;
@Expose
- @SerializedName("compilation")
- private final R8CompilationMetadata compilationMetadata;
-
- @Expose
@SerializedName("dexFiles")
private final List<R8DexFileMetadata> dexFilesMetadata;
@@ -79,7 +74,6 @@
public R8BuildMetadataImpl(
R8OptionsMetadata options,
R8BaselineProfileRewritingMetadata baselineProfileRewritingOptions,
- R8CompilationMetadata compilationMetadata,
List<R8DexFileMetadata> dexFilesMetadata,
R8StatsMetadata statsMetadata,
R8FeatureSplitsMetadata featureSplitsMetadata,
@@ -89,7 +83,6 @@
String version) {
this.optionsMetadata = options;
this.baselineProfileRewritingMetadata = baselineProfileRewritingOptions;
- this.compilationMetadata = compilationMetadata;
this.dexFilesMetadata = dexFilesMetadata;
this.statsMetadata = statsMetadata;
this.featureSplitsMetadata = featureSplitsMetadata;
@@ -114,11 +107,6 @@
}
@Override
- public R8CompilationMetadata getCompilationMetadata() {
- return compilationMetadata;
- }
-
- @Override
public List<R8DexFileMetadata> getDexFilesMetadata() {
return dexFilesMetadata;
}
@@ -162,7 +150,6 @@
private R8OptionsMetadata options;
private R8BaselineProfileRewritingMetadata baselineProfileRewritingOptions;
- private R8CompilationMetadata compilationInfo;
private List<R8DexFileMetadata> dexFilesMetadata;
private R8StatsMetadata statsMetadata;
private R8FeatureSplitsMetadata featureSplitsMetadata;
@@ -189,11 +176,6 @@
return this;
}
- public Builder setCompilationInfo(R8CompilationMetadata compilationInfo) {
- this.compilationInfo = compilationInfo;
- return this;
- }
-
public Builder setDexFilesMetadata(List<VirtualFile> virtualFiles) {
this.dexFilesMetadata = ListUtils.map(virtualFiles, R8DexFileMetadataImpl::create);
return this;
@@ -236,7 +218,6 @@
return new R8BuildMetadataImpl(
options,
baselineProfileRewritingOptions,
- compilationInfo,
dexFilesMetadata,
statsMetadata,
featureSplitsMetadata,
diff --git a/src/main/java/com/android/tools/r8/metadata/impl/R8CompilationMetadataImpl.java b/src/main/java/com/android/tools/r8/metadata/impl/R8CompilationMetadataImpl.java
deleted file mode 100644
index ffd7564..0000000
--- a/src/main/java/com/android/tools/r8/metadata/impl/R8CompilationMetadataImpl.java
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright (c) 2024, 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.metadata.impl;
-
-import com.android.tools.r8.graph.AppInfoWithClassHierarchy;
-import com.android.tools.r8.graph.AppView;
-import com.android.tools.r8.keepanno.annotations.AnnotationPattern;
-import com.android.tools.r8.keepanno.annotations.FieldAccessFlags;
-import com.android.tools.r8.keepanno.annotations.KeepConstraint;
-import com.android.tools.r8.keepanno.annotations.KeepItemKind;
-import com.android.tools.r8.keepanno.annotations.UsedByReflection;
-import com.android.tools.r8.metadata.R8CompilationMetadata;
-import com.android.tools.r8.utils.InternalOptions;
-import com.android.tools.r8.utils.ThreadUtils;
-import com.google.gson.annotations.Expose;
-import com.google.gson.annotations.SerializedName;
-import java.util.concurrent.ExecutorService;
-
-@UsedByReflection(
- description = "Keep and preserve @SerializedName for correct (de)serialization",
- constraints = {KeepConstraint.LOOKUP},
- constrainAnnotations = @AnnotationPattern(constant = SerializedName.class),
- kind = KeepItemKind.CLASS_AND_FIELDS,
- fieldAccess = {FieldAccessFlags.PRIVATE},
- fieldAnnotatedByClassConstant = SerializedName.class)
-public class R8CompilationMetadataImpl implements R8CompilationMetadata {
-
- @Expose
- @SerializedName("buildTimeNs")
- private final long buildTimeInNanos;
-
- @Expose
- @SerializedName("numberOfThreads")
- private final long numberOfThreads;
-
- private R8CompilationMetadataImpl(long buildTimeInNanos, int numberOfThreads) {
- this.buildTimeInNanos = buildTimeInNanos;
- this.numberOfThreads = numberOfThreads;
- }
-
- public static R8CompilationMetadataImpl create(
- AppView<? extends AppInfoWithClassHierarchy> appView, ExecutorService executorService) {
- InternalOptions options = appView.options();
- assert options.created > 0;
- long buildTimeInNanos = System.nanoTime() - options.created;
- return new R8CompilationMetadataImpl(
- buildTimeInNanos, ThreadUtils.getNumberOfThreads(executorService));
- }
-
- @Override
- public long getBuildTimeInNanos() {
- return buildTimeInNanos;
- }
-
- @Override
- public long getNumberOfThreads() {
- return numberOfThreads;
- }
-}