From 0da769c991d2713f60e9aca2dc05462dc02c2731 Mon Sep 17 00:00:00 2001 From: Jean-Marie Henaff Date: Wed, 10 Jun 2015 14:00:02 +0200 Subject: Add addMetaDir(File) in JackBasedToolchain Bug: 21722784 (cherry picked from commit 459a4a32942aec2634967cd54cace98452d478f2) Change-Id: Ia19cd3687da55af6f62299f17100ddabebae86c7 --- .../android/jack/test/toolchain/JackApiV01Toolchain.java | 2 ++ .../android/jack/test/toolchain/JackBasedToolchain.java | 8 ++++++++ .../com/android/jack/test/toolchain/JackCliToolchain.java | 10 ++++++++++ .../android/jack/test/toolchain/LegacyJillToolchain.java | 14 +++++++++++++- 4 files changed, 33 insertions(+), 1 deletion(-) 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 5593472..6e69be5 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 5cf13c1..92bd82a 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 resImport = new ArrayList(); @Nonnull + protected List metaImport = new ArrayList(); + @Nonnull protected final Map annotationProcessorOptions = new HashMap(); @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 fdcfedc..b9de041 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 8592ee6..98004b4 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"); -- cgit v1.1