diff options
author | Jean-Marie Henaff <jmhenaff@google.com> | 2015-02-09 16:04:16 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2015-02-09 16:04:16 +0000 |
commit | 83b7ed4501ff36c08104a0848fdcb7712905b8de (patch) | |
tree | 468cfdb5b2578d1f38070545d703ca9d5080a30f /jack-tests/src/com/android/jack/test | |
parent | dbb4d6ac8281b22cbe5337e41ccee2f684b12767 (diff) | |
parent | 7842d46e5cd079d722c23beb5eb8e1c4df838e89 (diff) | |
download | toolchain_jack-83b7ed4501ff36c08104a0848fdcb7712905b8de.tar.gz toolchain_jack-83b7ed4501ff36c08104a0848fdcb7712905b8de.tar.bz2 toolchain_jack-83b7ed4501ff36c08104a0848fdcb7712905b8de.zip |
Merge "Add support for source list files with jackApiToolchain" into ub-jack
Diffstat (limited to 'jack-tests/src/com/android/jack/test')
-rw-r--r-- | jack-tests/src/com/android/jack/test/toolchain/JackApiToolchain.java | 25 |
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 21856307..629376c9 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); |