diff options
author | Alan Leung <acleung@google.com> | 2017-07-11 13:50:31 -0700 |
---|---|---|
committer | Alan Leung <acleung@google.com> | 2017-07-11 13:51:38 -0700 |
commit | 8842c41758db478ebc54437f583367750cd18378 (patch) | |
tree | 4e2b0c2594cd83631bc73c8a77d3bbcd4b033c97 /src/main/java/com | |
parent | 3351d28c0df8a9860520936e70ef67a4e2407120 (diff) | |
download | r8-8842c41758db478ebc54437f583367750cd18378.tar.gz |
Try to fix build. Will revert later.
Test: m && m tests
Change-Id: I362fa30c7fbd54899fdb8761816b76d17b99ad40
Diffstat (limited to 'src/main/java/com')
5 files changed, 19 insertions, 18 deletions
diff --git a/src/main/java/com/android/tools/r8/BaseCommand.java b/src/main/java/com/android/tools/r8/BaseCommand.java index 3141dfef1..76650c0db 100644 --- a/src/main/java/com/android/tools/r8/BaseCommand.java +++ b/src/main/java/com/android/tools/r8/BaseCommand.java @@ -126,8 +126,8 @@ abstract class BaseCommand { } /** Add program file resources. */ - public B addProgramFiles(Collection<Path> files) throws IOException { - app.addProgramFiles(files); + public B addProgramFiles(Collection<Path> files, boolean skipDex) throws IOException { + app.addProgramFiles(files, skipDex); return self(); } diff --git a/src/main/java/com/android/tools/r8/PrintClassList.java b/src/main/java/com/android/tools/r8/PrintClassList.java index 6c4976998..f75765419 100644 --- a/src/main/java/com/android/tools/r8/PrintClassList.java +++ b/src/main/java/com/android/tools/r8/PrintClassList.java @@ -36,7 +36,7 @@ public class PrintClassList { builder.setProguardMapFile(Paths.get(args[0])); dexFiles = dexFiles.subList(1, dexFiles.size()); } - builder.addProgramFiles(ListUtils.map(dexFiles, Paths::get)); + builder.addProgramFiles(ListUtils.map(dexFiles, Paths::get), false); ExecutorService executorService = Executors.newCachedThreadPool(); DexApplication application = diff --git a/src/main/java/com/android/tools/r8/R8Command.java b/src/main/java/com/android/tools/r8/R8Command.java index ebf1983dd..a71091252 100644 --- a/src/main/java/com/android/tools/r8/R8Command.java +++ b/src/main/java/com/android/tools/r8/R8Command.java @@ -161,7 +161,7 @@ public class R8Command extends BaseCommand { throw new CompilationException(e.getMessage(), e.getCause()); } configuration = parser.getConfig(); - addProgramFiles(configuration.getInjars()); + addProgramFiles(configuration.getInjars(), false); addLibraryFiles(configuration.getLibraryjars()); } diff --git a/src/main/java/com/android/tools/r8/compatdx/CompatDx.java b/src/main/java/com/android/tools/r8/compatdx/CompatDx.java index c174a31ae..a547d126e 100644 --- a/src/main/java/com/android/tools/r8/compatdx/CompatDx.java +++ b/src/main/java/com/android/tools/r8/compatdx/CompatDx.java @@ -449,9 +449,10 @@ public class CompatDx { try { result = D8.run( D8Command.builder() - .addProgramFiles(inputs) + .addProgramFiles(inputs, true) .setMode(mode) - .setMinApiLevel(dexArgs.minApiLevel) + .setMinApiLevel( + dexArgs.multiDex && dexArgs.minApiLevel < 21 ? 21 : dexArgs.minApiLevel) .setMainDexListFile(mainDexList) .build()); } finally { diff --git a/src/main/java/com/android/tools/r8/utils/AndroidApp.java b/src/main/java/com/android/tools/r8/utils/AndroidApp.java index 434545f55..7b9d45d45 100644 --- a/src/main/java/com/android/tools/r8/utils/AndroidApp.java +++ b/src/main/java/com/android/tools/r8/utils/AndroidApp.java @@ -108,7 +108,7 @@ public class AndroidApp { * Create an app from program files @code{files}. See also Builder::addProgramFiles. */ public static AndroidApp fromProgramFiles(List<Path> files) throws IOException { - return builder().addProgramFiles(files).build(); + return builder().addProgramFiles(files, false).build(); } /** @@ -408,7 +408,7 @@ public class AndroidApp { public Builder addProgramDirectory(Path directory) throws IOException { File[] resources = directory.toFile().listFiles(file -> isDexFile(file.toPath())); for (File source : resources) { - addFile(source.toPath(), ClassKind.PROGRAM); + addFile(source.toPath(), ClassKind.PROGRAM, false); } File mapFile = new File(directory.toFile(), DEFAULT_PROGUARD_MAP_FILE); if (mapFile.exists()) { @@ -421,15 +421,15 @@ public class AndroidApp { * Add program file resources. */ public Builder addProgramFiles(Path... files) throws IOException { - return addProgramFiles(Arrays.asList(files)); + return addProgramFiles(Arrays.asList(files), false); } /** * Add program file resources. */ - public Builder addProgramFiles(Collection<Path> files) throws IOException { + public Builder addProgramFiles(Collection<Path> files, boolean skipDex) throws IOException { for (Path file : files) { - addFile(file, ClassKind.PROGRAM); + addFile(file, ClassKind.PROGRAM, skipDex); } return this; } @@ -446,7 +446,7 @@ public class AndroidApp { */ public Builder addClasspathFiles(Collection<Path> files) throws IOException { for (Path file : files) { - addFile(file, ClassKind.CLASSPATH); + addFile(file, ClassKind.CLASSPATH, false); } return this; } @@ -471,7 +471,7 @@ public class AndroidApp { */ public Builder addLibraryFiles(Collection<Path> files) throws IOException { for (Path file : files) { - addFile(file, ClassKind.LIBRARY); + addFile(file, ClassKind.LIBRARY, false); } return this; } @@ -610,22 +610,22 @@ public class AndroidApp { throw new Unreachable(); } - private void addFile(Path file, ClassKind classKind) throws IOException { + private void addFile(Path file, ClassKind classKind, boolean skipDex) throws IOException { if (!Files.exists(file)) { throw new FileNotFoundException("Non-existent input file: " + file); } - if (isDexFile(file)) { + if (isDexFile(file) && !skipDex) { resources(classKind).add(Resource.fromFile(Resource.Kind.DEX, file)); } else if (isClassFile(file)) { resources(classKind).add(Resource.fromFile(Resource.Kind.CLASSFILE, file)); } else if (isArchive(file)) { - addArchive(file, classKind); + addArchive(file, classKind, skipDex); } else { throw new CompilationError("Unsupported source file type for file: " + file); } } - private void addArchive(Path archive, ClassKind classKind) throws IOException { + private void addArchive(Path archive, ClassKind classKind, boolean skipDex) throws IOException { assert isArchive(archive); boolean containsDexData = false; boolean containsClassData = false; @@ -633,7 +633,7 @@ public class AndroidApp { ZipEntry entry; while ((entry = stream.getNextEntry()) != null) { Path name = Paths.get(entry.getName()); - if (isDexFile(name)) { + if (isDexFile(name) && !skipDex) { containsDexData = true; resources(classKind).add(Resource.fromBytes( Resource.Kind.DEX, ByteStreams.toByteArray(stream))); |