summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lesot <jplesot@google.com>2014-10-23 19:31:39 +0200
committerJean-Philippe Lesot <jplesot@google.com>2014-10-23 19:37:11 +0200
commit916c60b458937e26064df8f8391ea54e862cdfcd (patch)
tree2f39624378c7c461cc1e1353f2ba8ef0c173db62
parent589e047557d3bafd14fc581106a42b8b7119b086 (diff)
downloadtoolchain_jill-916c60b458937e26064df8f8391ea54e862cdfcd.zip
toolchain_jill-916c60b458937e26064df8f8391ea54e862cdfcd.tar.gz
toolchain_jill-916c60b458937e26064df8f8391ea54e862cdfcd.tar.bz2
Add support for generic '@' in Jill command line
Change-Id: I78ab36986d9867e6020d8181ffcf36c46086f20f
-rw-r--r--build.xml6
-rw-r--r--jill/src/com/android/jill/Main.java21
2 files changed, 23 insertions, 4 deletions
diff --git a/build.xml b/build.xml
index d4c8968..64b709f 100644
--- a/build.xml
+++ b/build.xml
@@ -45,10 +45,11 @@
<delete dir="${jill.libs.dir}" />
</target>
- <target name="jill-copy-libs" depends="guava-lib,asm4-lib,args4j-lib,jsr305-lib,
+ <target name="jill-copy-libs" depends="sched-lib,guava-lib,asm4-lib,args4j-lib,jsr305-lib,
dexcomparator-lib">
<copy todir="${jill.libs.dir}" flatten="true">
<filelist id="jill.libs.filelist" dir="/" >
+ <file name="${schedlib.dist.dir}/${schedlib.libname}"/>
<file name="${guava.dist.dir}/${guava.libname}"/>
<file name="${args4j.dist.dir}/${args4j.libname}"/>
<file name="${jsr305.dist.dir}/${jsr305.libname}"/>
@@ -85,6 +86,9 @@
<fileset dir="${guava.build.outdir}">
<include name="**/*" />
</fileset>
+ <fileset dir="${schedlib.build.outdir}">
+ <include name="**/*" />
+ </fileset>
<fileset dir="${args4j.build.outdir}">
<include name="**/*" />
</fileset>
diff --git a/jill/src/com/android/jill/Main.java b/jill/src/com/android/jill/Main.java
index a9a6885..7c65d47 100644
--- a/jill/src/com/android/jill/Main.java
+++ b/jill/src/com/android/jill/Main.java
@@ -16,11 +16,16 @@
package com.android.jill;
+import com.android.sched.util.config.cli.TokenIterator;
+import com.android.sched.util.location.NoLocation;
+
import org.kohsuke.args4j.CmdLineException;
import org.kohsuke.args4j.CmdLineParser;
import java.io.IOException;
import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Properties;
import javax.annotation.Nonnull;
@@ -30,7 +35,7 @@ import javax.annotation.Nonnull;
*/
public class Main {
- public static void main(@Nonnull String[] args) throws IOException {
+ public static void main(@Nonnull String[] args) {
Options options = null;
try {
@@ -61,6 +66,10 @@ public class Main {
System.err.println("Try --help for help");
}
System.exit(ExitStatus.FAILURE_USAGE);
+ } catch (IOException e) {
+ System.err.println(e.getMessage());
+
+ System.exit(ExitStatus.FAILURE_USAGE);
} catch (JillException e) {
if (options != null) {
System.err.println("Binary transformation of " + options.getBinaryFile().getName()
@@ -79,13 +88,19 @@ public class Main {
}
@Nonnull
- public static Options getOptions(@Nonnull String[] args) throws CmdLineException {
+ public static Options getOptions(@Nonnull String[] args) throws CmdLineException, IOException {
Options options = new Options();
+
CmdLineParser parser = new CmdLineParser(options);
parser.setUsageWidth(100);
- parser.parseArgument(args);
+ TokenIterator iterator = new TokenIterator(new NoLocation(), args);
+ List<String> list = new ArrayList<String>();
+ while (iterator.hasNext()) {
+ list.add(iterator.next());
+ }
+ parser.parseArgument(list);
parser.stopOptionParsing();
try {