Revert "Generate method lists for lint based on library desugar configuration"
This reverts commit 71b445bd4cce5ba0f2b05423de6bf206004d2cb6.
Change-Id: I49854b726939692fd2f0688ae6ed848d88abc4f6
diff --git a/src/main/java/com/android/tools/r8/GenerateLintFiles.java b/src/main/java/com/android/tools/r8/GenerateLintFiles.java
deleted file mode 100644
index 2c63a69..0000000
--- a/src/main/java/com/android/tools/r8/GenerateLintFiles.java
+++ /dev/null
@@ -1,335 +0,0 @@
-// Copyright (c) 2019, 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;
-
-import com.android.tools.r8.cf.code.CfConstNull;
-import com.android.tools.r8.cf.code.CfInstruction;
-import com.android.tools.r8.cf.code.CfThrow;
-import com.android.tools.r8.dex.ApplicationReader;
-import com.android.tools.r8.dex.Marker.Tool;
-import com.android.tools.r8.graph.AppInfo;
-import com.android.tools.r8.graph.AppView;
-import com.android.tools.r8.graph.CfCode;
-import com.android.tools.r8.graph.DexAnnotationSet;
-import com.android.tools.r8.graph.DexApplication;
-import com.android.tools.r8.graph.DexClass;
-import com.android.tools.r8.graph.DexEncodedField;
-import com.android.tools.r8.graph.DexEncodedMethod;
-import com.android.tools.r8.graph.DexItemFactory;
-import com.android.tools.r8.graph.DexLibraryClass;
-import com.android.tools.r8.graph.DexMethod;
-import com.android.tools.r8.graph.DexProgramClass;
-import com.android.tools.r8.graph.DexType;
-import com.android.tools.r8.graph.DirectMappedDexApplication;
-import com.android.tools.r8.graph.GraphLense;
-import com.android.tools.r8.graph.ParameterAnnotationsList;
-import com.android.tools.r8.ir.desugar.DesugaredLibraryConfiguration;
-import com.android.tools.r8.ir.desugar.DesugaredLibraryConfigurationParser;
-import com.android.tools.r8.jar.CfApplicationWriter;
-import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.origin.Origin;
-import com.android.tools.r8.utils.AndroidApiLevel;
-import com.android.tools.r8.utils.AndroidApp;
-import com.android.tools.r8.utils.DescriptorUtils;
-import com.android.tools.r8.utils.FileUtils;
-import com.android.tools.r8.utils.InternalOptions;
-import com.android.tools.r8.utils.Reporter;
-import com.android.tools.r8.utils.ThreadUtils;
-import com.android.tools.r8.utils.Timing;
-import com.google.common.collect.Sets;
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ExecutionException;
-import java.util.function.BiPredicate;
-import java.util.function.Predicate;
-
-public class GenerateLintFiles {
-
- private static final String ANDROID_JAR_PATTERN = "third_party/android_jar/lib-v%d/android.jar";
-
- private final DexItemFactory factory = new DexItemFactory();
- private final Reporter reporter = new Reporter();
- private final InternalOptions options = new InternalOptions(factory, reporter);
-
- private final DesugaredLibraryConfiguration desugaredLibraryConfiguration;
- private final String outputDirectory;
-
- private final Set<DexMethod> parallelMethods = Sets.newIdentityHashSet();
-
- private GenerateLintFiles(String desugarConfigurationPath, String outputDirectory) {
- this.desugaredLibraryConfiguration =
- readDesugaredLibraryConfiguration(desugarConfigurationPath);
- this.outputDirectory =
- outputDirectory.endsWith("/") ? outputDirectory : outputDirectory + File.separator;
-
- DexType streamType = factory.createType(factory.createString("Ljava/util/stream/Stream;"));
- DexMethod parallelMethod =
- factory.createMethod(
- factory.collectionType,
- factory.createProto(streamType),
- factory.createString("parallelStream"));
- parallelMethods.add(parallelMethod);
- for (String typePrefix : new String[] {"Base", "Double", "Int", "Long"}) {
- streamType =
- factory.createType(factory.createString("Ljava/util/stream/" + typePrefix + "Stream;"));
- parallelMethod =
- factory.createMethod(
- streamType, factory.createProto(streamType), factory.createString("parallel"));
- parallelMethods.add(parallelMethod);
- }
- }
-
- private static Path getAndroidJarPath(AndroidApiLevel apiLevel) {
- String jar = String.format(ANDROID_JAR_PATTERN, apiLevel.getLevel());
- return Paths.get(jar);
- }
-
- private DesugaredLibraryConfiguration readDesugaredLibraryConfiguration(
- String desugarConfigurationPath) {
- return new DesugaredLibraryConfigurationParser(
- factory, reporter, false, AndroidApiLevel.B.getLevel())
- .parse(StringResource.fromFile(Paths.get(desugarConfigurationPath)));
- }
-
- private CfCode buildEmptyThrowingCfCode(DexMethod method) {
- CfInstruction insn[] = {new CfConstNull(), new CfThrow()};
- return new CfCode(
- method.holder,
- 1,
- method.proto.parameters.size() + 1,
- Arrays.asList(insn),
- Collections.emptyList(),
- Collections.emptyList());
- }
-
- private void addMethodsToHeaderJar(
- DexApplication.Builder builder, DexClass clazz, List<DexEncodedMethod> methods) {
- if (methods.size() == 0) {
- return;
- }
-
- List<DexEncodedMethod> directMethods = new ArrayList<>();
- List<DexEncodedMethod> virtualMethods = new ArrayList<>();
- for (DexEncodedMethod method : methods) {
- assert method.method.holder == clazz.type;
- CfCode code = null;
- if (!method.accessFlags.isAbstract() /*&& !method.accessFlags.isNative()*/) {
- code = buildEmptyThrowingCfCode(method.method);
- }
- DexEncodedMethod throwingMethod =
- new DexEncodedMethod(
- method.method,
- method.accessFlags,
- DexAnnotationSet.empty(),
- ParameterAnnotationsList.empty(),
- code,
- 50);
- if (method.accessFlags.isStatic()) {
- directMethods.add(throwingMethod);
- } else {
- virtualMethods.add(throwingMethod);
- }
- }
-
- DexEncodedMethod[] directMethodsArray = new DexEncodedMethod[directMethods.size()];
- DexEncodedMethod[] virtualMethodsArray = new DexEncodedMethod[virtualMethods.size()];
- directMethods.toArray(directMethodsArray);
- virtualMethods.toArray(virtualMethodsArray);
- builder.addProgramClass(
- new DexProgramClass(
- clazz.type,
- null,
- Origin.unknown(),
- clazz.accessFlags,
- clazz.superType,
- clazz.interfaces,
- null,
- null,
- Collections.emptyList(),
- null,
- Collections.emptyList(),
- DexAnnotationSet.empty(),
- DexEncodedField.EMPTY_ARRAY,
- DexEncodedField.EMPTY_ARRAY,
- directMethodsArray,
- virtualMethodsArray,
- false));
- }
-
- private Map<DexClass, List<DexEncodedMethod>> collectSupportedMethods(
- AndroidApiLevel compilationApiLevel, Predicate<DexEncodedMethod> supported)
- throws IOException, ExecutionException {
-
- // Read the android.jar for the compilation API level.
- AndroidApp library =
- AndroidApp.builder().addLibraryFiles(getAndroidJarPath(compilationApiLevel)).build();
- DirectMappedDexApplication dexApplication =
- new ApplicationReader(library, options, new Timing()).read().toDirect();
-
- // collect all the methods that the library desugar configuration adds support for.
- Map<DexClass, List<DexEncodedMethod>> supportedMethods = new LinkedHashMap<>();
- for (DexLibraryClass clazz : dexApplication.libraryClasses()) {
- String className = clazz.toSourceString();
- // All the methods with the rewritten prefix are supported.
- for (String prefix : desugaredLibraryConfiguration.getRewritePrefix().keySet()) {
- if (clazz.accessFlags.isPublic() && className.startsWith(prefix)) {
- for (DexEncodedMethod method : clazz.methods()) {
- if (supported.test(method)) {
- supportedMethods.computeIfAbsent(clazz, k -> new ArrayList<>()).add(method);
- }
- }
- }
- }
-
- // All retargeted methods are supported.
- for (DexEncodedMethod method : clazz.methods()) {
- if (desugaredLibraryConfiguration
- .getRetargetCoreLibMember()
- .keySet()
- .contains(method.method.name)) {
- if (desugaredLibraryConfiguration
- .getRetargetCoreLibMember()
- .get(method.method.name)
- .containsKey(clazz.type)) {
- if (supported.test(method)) {
- supportedMethods.computeIfAbsent(clazz, k -> new ArrayList<>()).add(method);
- }
- }
- }
- }
- // All emulated interfaces methods are supported.
- if (desugaredLibraryConfiguration.getEmulateLibraryInterface().containsKey(clazz.type)) {
- for (DexEncodedMethod method : clazz.methods()) {
- if (supported.test(method)) {
- supportedMethods.computeIfAbsent(clazz, k -> new ArrayList<>()).add(method);
- }
- }
- }
- }
-
- return supportedMethods;
- }
-
- private String lintBaseFileName(
- AndroidApiLevel compilationApiLevel, AndroidApiLevel minApiLevel) {
- return "desugared_apis_" + compilationApiLevel.getLevel() + "_" + minApiLevel.getLevel();
- }
-
- private Path lintFile(
- AndroidApiLevel compilationApiLevel, AndroidApiLevel minApiLevel, String extension)
- throws Exception {
- Path directory =
- Paths.get(outputDirectory + "compile_api_level_" + compilationApiLevel.getLevel());
- Files.createDirectories(directory);
- return Paths.get(
- directory
- + File.separator
- + lintBaseFileName(compilationApiLevel, minApiLevel)
- + extension);
- }
-
- private void writeLintFiles(
- AndroidApiLevel compilationApiLevel,
- AndroidApiLevel minApiLevel,
- Map<DexClass, List<DexEncodedMethod>> supportedMethods)
- throws Exception {
- // Build a plain text file with the desugared APIs.
- List<String> desugaredApisSignatures = new ArrayList<>();
-
- DexApplication.Builder builder = DexApplication.builder(options, new Timing());
- supportedMethods.forEach(
- (clazz, methods) -> {
- String classBinaryName =
- DescriptorUtils.getClassBinaryNameFromDescriptor(clazz.type.descriptor.toString());
- for (DexEncodedMethod method : methods) {
- desugaredApisSignatures.add(
- classBinaryName
- + '/'
- + method.method.name
- + method.method.proto.toDescriptorString());
- }
-
- addMethodsToHeaderJar(builder, clazz, methods);
- });
- DexApplication app = builder.build();
-
- // Write a plain text file with the desugared APIs.
- FileUtils.writeTextFile(
- lintFile(compilationApiLevel, minApiLevel, ".txt"), desugaredApisSignatures);
-
- // Write a header jar with the desugared APIs.
- AppInfo appInfo = new AppInfo(app);
- AppView<?> appView = AppView.createForD8(appInfo, options);
- CfApplicationWriter writer =
- new CfApplicationWriter(
- builder.build(),
- appView,
- options,
- options.getMarker(Tool.L8),
- GraphLense.getIdentityLense(),
- NamingLens.getIdentityLens(),
- null);
- ClassFileConsumer consumer =
- new ClassFileConsumer.ArchiveConsumer(
- lintFile(compilationApiLevel, minApiLevel, FileUtils.JAR_EXTENSION));
- writer.write(consumer, ThreadUtils.getExecutorService(options));
- consumer.finished(options.reporter);
- }
-
- private void generateLintFiles(
- AndroidApiLevel compilationApiLevel,
- Predicate<AndroidApiLevel> generateForThisMinApiLevel,
- BiPredicate<AndroidApiLevel, DexEncodedMethod> supportedForMinApiLevel)
- throws Exception {
- for (AndroidApiLevel value : AndroidApiLevel.values()) {
- if (!generateForThisMinApiLevel.test(value)) {
- continue;
- }
-
- Map<DexClass, List<DexEncodedMethod>> supportedMethods =
- collectSupportedMethods(
- compilationApiLevel, (method -> supportedForMinApiLevel.test(value, method)));
- writeLintFiles(compilationApiLevel, value, supportedMethods);
- }
- }
-
- private void run() throws Exception {
- // Run over all the API levels that the desugared library can be compiled with.
- for (int apiLevel = AndroidApiLevel.Q.getLevel();
- apiLevel >= desugaredLibraryConfiguration.getRequiredCompilationApiLevel().getLevel();
- apiLevel--) {
- System.out.println("Generating lint files for compile API " + apiLevel);
- generateLintFiles(
- AndroidApiLevel.getAndroidApiLevel(apiLevel),
- minApiLevel -> minApiLevel == AndroidApiLevel.L || minApiLevel == AndroidApiLevel.B,
- (minApiLevel, method) -> {
- assert minApiLevel == AndroidApiLevel.L || minApiLevel == AndroidApiLevel.B;
- if (minApiLevel == AndroidApiLevel.L) {
- return true;
- }
- assert minApiLevel == AndroidApiLevel.B;
- return !parallelMethods.contains(method.method);
- });
- }
- }
-
- public static void main(String[] args) throws Exception {
- if (args.length != 2) {
- System.out.println("Usage: GenerateLineFiles <desuage configuration> <output directory>");
- System.exit(1);
- }
- new GenerateLintFiles(args[0], args[1]).run();
- }
-}
diff --git a/src/main/java/com/android/tools/r8/graph/DexItemFactory.java b/src/main/java/com/android/tools/r8/graph/DexItemFactory.java
index 9ccabb9..ac75baa 100644
--- a/src/main/java/com/android/tools/r8/graph/DexItemFactory.java
+++ b/src/main/java/com/android/tools/r8/graph/DexItemFactory.java
@@ -218,7 +218,6 @@
public final DexString serviceLoaderDescriptor = createString("Ljava/util/ServiceLoader;");
public final DexString listDescriptor = createString("Ljava/util/List;");
public final DexString setDescriptor = createString("Ljava/util/Set;");
- public final DexString collectionDescriptor = createString("Ljava/util/Collection;");
public final DexString comparatorDescriptor = createString("Ljava/util/Comparator;");
public final DexString callableDescriptor = createString("Ljava/util/concurrent/Callable;");
public final DexString supplierDescriptor = createString("Ljava/util/function/Supplier;");
@@ -308,7 +307,6 @@
public final DexType serviceLoaderType = createType(serviceLoaderDescriptor);
public final DexType listType = createType(listDescriptor);
public final DexType setType = createType(setDescriptor);
- public final DexType collectionType = createType(collectionDescriptor);
public final DexType comparatorType = createType(comparatorDescriptor);
public final DexType callableType = createType(callableDescriptor);
public final DexType supplierType = createType(supplierDescriptor);
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/DesugaredLibraryConfiguration.java b/src/main/java/com/android/tools/r8/ir/desugar/DesugaredLibraryConfiguration.java
index e1f2181..d3dc54d 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/DesugaredLibraryConfiguration.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/DesugaredLibraryConfiguration.java
@@ -9,7 +9,6 @@
import com.android.tools.r8.graph.DexString;
import com.android.tools.r8.graph.DexType;
import com.android.tools.r8.ir.desugar.PrefixRewritingMapper.DesugarPrefixRewritingMapper;
-import com.android.tools.r8.utils.AndroidApiLevel;
import com.android.tools.r8.utils.DescriptorUtils;
import com.android.tools.r8.utils.Pair;
import com.google.common.collect.ImmutableList;
@@ -23,7 +22,6 @@
public class DesugaredLibraryConfiguration {
// TODO(b/134732760): should use DexString, DexType, DexMethod or so on when possible.
- private final AndroidApiLevel requiredCompilationAPILevel;
private final boolean libraryCompilation;
private final Map<String, String> rewritePrefix;
private final Map<DexType, DexType> emulateLibraryInterface;
@@ -38,7 +36,6 @@
public static DesugaredLibraryConfiguration empty() {
return new DesugaredLibraryConfiguration(
- AndroidApiLevel.B,
false,
ImmutableMap.of(),
ImmutableMap.of(),
@@ -49,7 +46,6 @@
}
public DesugaredLibraryConfiguration(
- AndroidApiLevel requiredCompilationAPILevel,
boolean libraryCompilation,
Map<String, String> rewritePrefix,
Map<DexType, DexType> emulateLibraryInterface,
@@ -57,7 +53,6 @@
Map<DexType, DexType> backportCoreLibraryMember,
Map<DexType, DexType> customConversions,
List<Pair<DexType, DexString>> dontRewriteInvocation) {
- this.requiredCompilationAPILevel = requiredCompilationAPILevel;
this.libraryCompilation = libraryCompilation;
this.rewritePrefix = rewritePrefix;
this.emulateLibraryInterface = emulateLibraryInterface;
@@ -73,10 +68,6 @@
: new DesugarPrefixRewritingMapper(rewritePrefix, factory);
}
- public AndroidApiLevel getRequiredCompilationApiLevel() {
- return requiredCompilationAPILevel;
- }
-
public boolean isLibraryCompilation() {
return libraryCompilation;
}
@@ -109,7 +100,6 @@
private final DexItemFactory factory;
- private AndroidApiLevel requiredCompilationAPILevel;
private boolean libraryCompilation = false;
private Map<String, String> rewritePrefix = new HashMap<>();
private Map<DexType, DexType> emulateLibraryInterface = new HashMap<>();
@@ -122,11 +112,6 @@
this.factory = dexItemFactory;
}
- public Builder setRequiredCompilationAPILevel(AndroidApiLevel requiredCompilationAPILevel) {
- this.requiredCompilationAPILevel = requiredCompilationAPILevel;
- return this;
- }
-
public Builder setProgramCompilation() {
libraryCompilation = false;
return this;
@@ -200,7 +185,6 @@
public DesugaredLibraryConfiguration build() {
return new DesugaredLibraryConfiguration(
- requiredCompilationAPILevel,
libraryCompilation,
ImmutableMap.copyOf(rewritePrefix),
ImmutableMap.copyOf(emulateLibraryInterface),
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/DesugaredLibraryConfigurationParser.java b/src/main/java/com/android/tools/r8/ir/desugar/DesugaredLibraryConfigurationParser.java
index fbf3d1f..94467de 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/DesugaredLibraryConfigurationParser.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/DesugaredLibraryConfigurationParser.java
@@ -6,7 +6,6 @@
import com.android.tools.r8.StringResource;
import com.android.tools.r8.graph.DexItemFactory;
-import com.android.tools.r8.utils.AndroidApiLevel;
import com.android.tools.r8.utils.Reporter;
import com.android.tools.r8.utils.StringDiagnostic;
import com.google.gson.JsonArray;
@@ -58,10 +57,6 @@
"Unsupported desugared library configuration version, please upgrade the D8/R8"
+ " compiler."));
}
- int required_compilation_api_level =
- jsonConfig.get("required_compilation_api_level").getAsInt();
- configurationBuilder.setRequiredCompilationAPILevel(
- AndroidApiLevel.getAndroidApiLevel(required_compilation_api_level));
JsonArray jsonFlags =
libraryCompilation
? jsonConfig.getAsJsonArray("library_flags")
diff --git a/src/test/java/com/android/tools/r8/desugar/corelib/InconsistentPrefixTest.java b/src/test/java/com/android/tools/r8/desugar/corelib/InconsistentPrefixTest.java
index 843551e..de16ed5 100644
--- a/src/test/java/com/android/tools/r8/desugar/corelib/InconsistentPrefixTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/corelib/InconsistentPrefixTest.java
@@ -11,7 +11,6 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.ir.desugar.DesugaredLibraryConfiguration;
import com.android.tools.r8.jasmin.JasminBuilder;
-import com.android.tools.r8.utils.AndroidApiLevel;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import java.nio.file.Path;
@@ -40,7 +39,6 @@
options ->
options.desugaredLibraryConfiguration =
new DesugaredLibraryConfiguration(
- AndroidApiLevel.B,
false,
x,
ImmutableMap.of(),
diff --git a/src/test/java/com/android/tools/r8/desugar/corelib/LintFilesTest.java b/src/test/java/com/android/tools/r8/desugar/corelib/LintFilesTest.java
deleted file mode 100644
index 87a6140..0000000
--- a/src/test/java/com/android/tools/r8/desugar/corelib/LintFilesTest.java
+++ /dev/null
@@ -1,94 +0,0 @@
-// Copyright (c) 2019, 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.desugar.corelib;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import com.android.tools.r8.GenerateLintFiles;
-import com.android.tools.r8.StringResource;
-import com.android.tools.r8.TestBase;
-import com.android.tools.r8.ToolHelper;
-import com.android.tools.r8.graph.DexItemFactory;
-import com.android.tools.r8.ir.desugar.DesugaredLibraryConfiguration;
-import com.android.tools.r8.ir.desugar.DesugaredLibraryConfigurationParser;
-import com.android.tools.r8.utils.AndroidApiLevel;
-import com.android.tools.r8.utils.FileUtils;
-import com.android.tools.r8.utils.InternalOptions;
-import com.android.tools.r8.utils.Reporter;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.util.List;
-import org.junit.Assume;
-import org.junit.Test;
-
-public class LintFilesTest extends TestBase {
-
- private void checkFileContent(AndroidApiLevel minApiLevel, Path lintFile) throws Exception {
- // Just do some light probing in the generated lint files.
- List<String> methods = FileUtils.readAllLines(lintFile);
- assertTrue(methods.contains("java/util/List/spliterator()Ljava/util/Spliterator;"));
- assertTrue(methods.contains("java/util/Optional/empty()Ljava/util/Optional;"));
- assertTrue(methods.contains("java/util/OptionalInt/empty()Ljava/util/OptionalInt;"));
- assertEquals(
- minApiLevel == AndroidApiLevel.L,
- methods.contains("java/util/Collection/parallelStream()Ljava/util/stream/Stream;"));
- assertEquals(
- minApiLevel == AndroidApiLevel.L,
- methods.contains(
- "java/util/stream/DoubleStream/parallel()Ljava/util/stream/DoubleStream;"));
- assertEquals(
- minApiLevel == AndroidApiLevel.L,
- methods.contains("java/util/stream/IntStream/parallel()Ljava/util/stream/IntStream;"));
- }
-
- @Test
- public void testFileContent() throws Exception {
- // Test require r8.jar not r8lib.jar, as the class com.android.tools.r8.GenerateLintFiles in
- // not kept.
- Assume.assumeTrue(!ToolHelper.isTestingR8Lib());
-
- Path directory = temp.newFolder().toPath();
- GenerateLintFiles.main(
- new String[] {ToolHelper.DESUGAR_LIB_JSON_FOR_TESTING.toString(), directory.toString()});
- InternalOptions options = new InternalOptions(new DexItemFactory(), new Reporter());
- DesugaredLibraryConfiguration desugaredLibraryConfiguration =
- new DesugaredLibraryConfigurationParser(
- options.itemFactory, options.reporter, false, AndroidApiLevel.B.getLevel())
- .parse(StringResource.fromFile(ToolHelper.DESUGAR_LIB_JSON_FOR_TESTING));
-
- for (AndroidApiLevel apiLevel : AndroidApiLevel.values()) {
- if (apiLevel == AndroidApiLevel.R) {
- // Skip API level 30 for now.
- continue;
- }
-
- if (apiLevel.getLevel()
- >= desugaredLibraryConfiguration.getRequiredCompilationApiLevel().getLevel()) {
- Path compileApiLevelDirectory =
- directory.resolve("compile_api_level_" + apiLevel.getLevel());
- assertTrue(Files.exists(compileApiLevelDirectory));
- for (AndroidApiLevel minApiLevel : AndroidApiLevel.values()) {
- String desugaredApisBaseName =
- "desugared_apis_" + apiLevel.getLevel() + "_" + minApiLevel.getLevel();
- if (minApiLevel == AndroidApiLevel.L || minApiLevel == AndroidApiLevel.B) {
- assertTrue(
- Files.exists(compileApiLevelDirectory.resolve(desugaredApisBaseName + ".txt")));
- assertTrue(
- Files.exists(compileApiLevelDirectory.resolve(desugaredApisBaseName + ".jar")));
- checkFileContent(
- minApiLevel, compileApiLevelDirectory.resolve(desugaredApisBaseName + ".txt"));
- } else {
- assertFalse(
- Files.exists(compileApiLevelDirectory.resolve(desugaredApisBaseName + ".txt")));
- assertFalse(
- Files.exists(compileApiLevelDirectory.resolve(desugaredApisBaseName + ".jar")));
- }
- }
- }
- }
- }
-}
diff --git a/src/test/java/com/android/tools/r8/memberrebinding/b135627418/B135627418.java b/src/test/java/com/android/tools/r8/memberrebinding/b135627418/B135627418.java
index 3353fd2..a08b6ce 100644
--- a/src/test/java/com/android/tools/r8/memberrebinding/b135627418/B135627418.java
+++ b/src/test/java/com/android/tools/r8/memberrebinding/b135627418/B135627418.java
@@ -16,7 +16,6 @@
import com.android.tools.r8.memberrebinding.b135627418.library.Drawable;
import com.android.tools.r8.memberrebinding.b135627418.library.DrawableWrapper;
import com.android.tools.r8.memberrebinding.b135627418.library.InsetDrawable;
-import com.android.tools.r8.utils.AndroidApiLevel;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
import com.android.tools.r8.utils.codeinspector.CodeInspector;
import com.android.tools.r8.utils.codeinspector.InstructionSubject;
@@ -80,7 +79,6 @@
options ->
options.desugaredLibraryConfiguration =
new DesugaredLibraryConfiguration(
- AndroidApiLevel.B,
false,
ImmutableMap.of(packageName + ".runtime", packageName + ".library"),
ImmutableMap.of(),
diff --git a/tools/create_maven_release.py b/tools/create_maven_release.py
index 30c14c8..b4343f3 100755
--- a/tools/create_maven_release.py
+++ b/tools/create_maven_release.py
@@ -6,7 +6,6 @@
import argparse
import gradle
import hashlib
-import jdk
import json
from os import makedirs
from os.path import join
@@ -339,19 +338,6 @@
configuration_dir = join(tmp_dir, 'META-INF', 'desugar', 'd8')
makedirs(configuration_dir)
copyfile(configuration, join(configuration_dir, 'desugar.json'))
-
- lint_dir = join(configuration_dir, 'lint')
- makedirs(lint_dir)
- cmd = [
- jdk.GetJavaExecutable(),
- '-cp',
- utils.R8_JAR,
- 'com.android.tools.r8.GenerateLintFiles',
- configuration,
- lint_dir]
- utils.PrintCmd(cmd)
- subprocess.check_call(cmd)
-
make_archive(destination, 'zip', tmp_dir)
move(destination + '.zip', destination)