summaryrefslogtreecommitdiffstats
path: root/jack-tests
diff options
context:
space:
mode:
authorJean-Marie Henaff <jmhenaff@google.com>2015-02-09 09:54:05 +0100
committerJean-Marie Henaff <jmhenaff@google.com>2015-02-09 10:38:39 +0100
commit7842d46e5cd079d722c23beb5eb8e1c4df838e89 (patch)
treed7391d33dca85fd0961a775d3d05c044bb502821 /jack-tests
parent08cb1e6efe6099be1435544c62ec30ea51716064 (diff)
downloadtoolchain_jack-7842d46e5cd079d722c23beb5eb8e1c4df838e89.zip
toolchain_jack-7842d46e5cd079d722c23beb5eb8e1c4df838e89.tar.gz
toolchain_jack-7842d46e5cd079d722c23beb5eb8e1c4df838e89.tar.bz2
Add support for source list files with jackApiToolchain
Change-Id: I782b7092be31db745bce4f5ea5e88b59a6d2e15f
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);