summaryrefslogtreecommitdiffstats
path: root/jack-tests
diff options
context:
space:
mode:
authorJean-Marie Henaff <jmhenaff@google.com>2015-02-09 16:04:16 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2015-02-09 16:04:16 +0000
commit83b7ed4501ff36c08104a0848fdcb7712905b8de (patch)
tree468cfdb5b2578d1f38070545d703ca9d5080a30f /jack-tests
parentdbb4d6ac8281b22cbe5337e41ccee2f684b12767 (diff)
parent7842d46e5cd079d722c23beb5eb8e1c4df838e89 (diff)
downloadtoolchain_jack-83b7ed4501ff36c08104a0848fdcb7712905b8de.zip
toolchain_jack-83b7ed4501ff36c08104a0848fdcb7712905b8de.tar.gz
toolchain_jack-83b7ed4501ff36c08104a0848fdcb7712905b8de.tar.bz2
Merge "Add support for source list files with jackApiToolchain" into ub-jack
Diffstat (limited to 'jack-tests')
-rw-r--r--jack-tests/src/com/android/jack/test/toolchain/JackApiToolchain.java25
1 files changed, 22 insertions, 3 deletions
diff --git a/jack-tests/src/com/android/jack/test/toolchain/JackApiToolchain.java b/jack-tests/src/com/android/jack/test/toolchain/JackApiToolchain.java
index 2185630..629376c 100644
--- a/jack-tests/src/com/android/jack/test/toolchain/JackApiToolchain.java
+++ b/jack-tests/src/com/android/jack/test/toolchain/JackApiToolchain.java
@@ -18,14 +18,23 @@ package com.android.jack.test.toolchain;
import com.android.jack.Jack;
import com.android.jack.Options;
+import com.android.jack.Sourcelist;
import com.android.jack.backend.dex.rop.CodeItemBuilder;
import com.android.jack.shrob.spec.Flags;
+import com.android.sched.util.config.cli.TokenIterator;
+import com.android.sched.util.file.CannotReadException;
+import com.android.sched.util.file.NoSuchFileException;
+import com.android.sched.util.file.NotFileOrDirectoryException;
+import com.android.sched.util.file.WrongPermissionException;
+import com.android.sched.util.location.NoLocation;
import java.io.File;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
+import java.util.NoSuchElementException;
import javax.annotation.Nonnull;
@@ -94,7 +103,7 @@ public class JackApiToolchain extends JackBasedToolchain {
}
}
- private void srcToCommon(@Nonnull File... sources) {
+ private void srcToCommon(@Nonnull File... sources) throws Exception {
addProperties(properties, jackOptions);
jackOptions.setSanityChecks(sanityChecks);
@@ -227,7 +236,7 @@ public class JackApiToolchain extends JackBasedToolchain {
}
}
- private final void fillEcjArgs(@Nonnull File... sources) {
+ private final void fillEcjArgs(@Nonnull File... sources) throws Exception {
List<String> ecjArgs = new ArrayList<String>();
if (annotationProcessorClass != null) {
@@ -244,7 +253,17 @@ public class JackApiToolchain extends JackBasedToolchain {
ecjArgs.add(ecjArg);
}
- AbstractTestTools.addFile(ecjArgs, /* mustExist = */ false, sources);
+ for (File srcFile : sources) {
+ if (srcFile instanceof Sourcelist) {
+ TokenIterator iterator =
+ new TokenIterator(new NoLocation(), '@' + srcFile.getAbsolutePath());
+ while (iterator.hasNext()) {
+ ecjArgs.add(iterator.next());
+ }
+ } else {
+ AbstractTestTools.addFile(ecjArgs, /* mustExist = */ false, srcFile);
+ }
+ }
if (sources.length > 0) {
jackOptions.setEcjArguments(ecjArgs);