diff options
author | Jean-Marie Henaff <jmhenaff@google.com> | 2015-02-09 09:54:05 +0100 |
---|---|---|
committer | Jean-Marie Henaff <jmhenaff@google.com> | 2015-02-09 10:38:39 +0100 |
commit | 7842d46e5cd079d722c23beb5eb8e1c4df838e89 (patch) | |
tree | d7391d33dca85fd0961a775d3d05c044bb502821 /jack-tests/src/com/android | |
parent | 08cb1e6efe6099be1435544c62ec30ea51716064 (diff) | |
download | toolchain_jack-7842d46e5cd079d722c23beb5eb8e1c4df838e89.tar.gz toolchain_jack-7842d46e5cd079d722c23beb5eb8e1c4df838e89.tar.bz2 toolchain_jack-7842d46e5cd079d722c23beb5eb8e1c4df838e89.zip |
Add support for source list files with jackApiToolchain
Change-Id: I782b7092be31db745bce4f5ea5e88b59a6d2e15f
Diffstat (limited to 'jack-tests/src/com/android')
-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); |