diff options
Diffstat (limited to 'jack-tests/src/com/android/jack')
4 files changed, 33 insertions, 1 deletions
diff --git a/jack-tests/src/com/android/jack/test/toolchain/JackApiV01Toolchain.java b/jack-tests/src/com/android/jack/test/toolchain/JackApiV01Toolchain.java index 5593472a..6e69be55 100644 --- a/jack-tests/src/com/android/jack/test/toolchain/JackApiV01Toolchain.java +++ b/jack-tests/src/com/android/jack/test/toolchain/JackApiV01Toolchain.java @@ -184,6 +184,7 @@ public class JackApiV01Toolchain extends JackApiToolchainBase { apiV01Config.setImportedJackLibraryFiles(staticLibs); apiV01Config.setSourceEntries(Lists.newArrayList(sources)); apiV01Config.setResourceDirs(resImport); + apiV01Config.setMetaDirs(metaImport); apiV01Config.setProguardConfigFiles(proguardFlags); if (!jarjarRules.isEmpty()) { apiV01Config.setJarJarConfigFiles(jarjarRules); @@ -210,6 +211,7 @@ public class JackApiV01Toolchain extends JackApiToolchainBase { Collections.addAll(importedLibs, in); apiV01Config.setImportedJackLibraryFiles(importedLibs); apiV01Config.setResourceDirs(resImport); + apiV01Config.setMetaDirs(metaImport); apiV01Config.setProguardConfigFiles(proguardFlags); if (jarjarRules != null) { apiV01Config.setJarJarConfigFiles(jarjarRules); diff --git a/jack-tests/src/com/android/jack/test/toolchain/JackBasedToolchain.java b/jack-tests/src/com/android/jack/test/toolchain/JackBasedToolchain.java index 5cf13c13..92bd82a6 100644 --- a/jack-tests/src/com/android/jack/test/toolchain/JackBasedToolchain.java +++ b/jack-tests/src/com/android/jack/test/toolchain/JackBasedToolchain.java @@ -47,6 +47,8 @@ public abstract class JackBasedToolchain extends AndroidToolchain { @Nonnull protected List<File> resImport = new ArrayList<File>(); @Nonnull + protected List<File> metaImport = new ArrayList<File>(); + @Nonnull protected final Map<String, String> annotationProcessorOptions = new HashMap<String, String>(); @CheckForNull protected String processorPath; @@ -92,6 +94,12 @@ public abstract class JackBasedToolchain extends AndroidToolchain { return this; } + @Nonnull + public JackBasedToolchain addMetaDir(@Nonnull File metaDir) { + metaImport.add(metaDir); + return this; + } + @Override @Nonnull public JackBasedToolchain setSourceLevel(@Nonnull SourceLevel sourceLevel) { diff --git a/jack-tests/src/com/android/jack/test/toolchain/JackCliToolchain.java b/jack-tests/src/com/android/jack/test/toolchain/JackCliToolchain.java index fdcfedcb..b9de0416 100644 --- a/jack-tests/src/com/android/jack/test/toolchain/JackCliToolchain.java +++ b/jack-tests/src/com/android/jack/test/toolchain/JackCliToolchain.java @@ -163,6 +163,11 @@ public class JackCliToolchain extends JackBasedToolchain { args.add(res.getPath()); } + for (File meta : metaImport) { + args.add("--import-meta"); + args.add(meta.getPath()); + } + args.addAll(extraJackArgs); for (File jarjarFile : jarjarRules) { @@ -266,6 +271,11 @@ public class JackCliToolchain extends JackBasedToolchain { args.add(res.getPath()); } + for (File meta : metaImport) { + args.add("--import-meta"); + args.add(meta.getPath()); + } + addProperties(properties, args); if (!classpath.equals("")) { diff --git a/jack-tests/src/com/android/jack/test/toolchain/LegacyJillToolchain.java b/jack-tests/src/com/android/jack/test/toolchain/LegacyJillToolchain.java index 8592ee68..98004b41 100644 --- a/jack-tests/src/com/android/jack/test/toolchain/LegacyJillToolchain.java +++ b/jack-tests/src/com/android/jack/test/toolchain/LegacyJillToolchain.java @@ -114,7 +114,7 @@ public class LegacyJillToolchain extends JillBasedToolchain { if (resImport.size() > 0) { resDestDir = new File(classesDir, FileType.RSC.getPrefix()); if (!resDestDir.exists() && !resDestDir.mkdir()) { - throw new AssertionError("Could not create rsc dir"); + throw new AssertionError("Could not create resource dir"); } for (File res : resImport) { @@ -122,6 +122,18 @@ public class LegacyJillToolchain extends JillBasedToolchain { } } + File metaDestDir; + if (metaImport.size() > 0) { + metaDestDir = new File(classesDir, FileType.JPP.getPrefix()); + if (!metaDestDir.exists() && !metaDestDir.mkdir()) { + throw new AssertionError("Could not create meta dir"); + } + + for (File meta : metaImport) { + AbstractTestTools.copyDirectory(meta, metaDestDir); + } + } + File tmpJarsDir = AbstractTestTools.createTempDir(); File jarFile = new File(tmpJarsDir, "legacyLib.jar"); File jarFileJarjar = new File(tmpJarsDir, "legacyLibJarjar.jar"); |