diff options
author | Jean-Philippe Lesot <jplesot@google.com> | 2014-10-23 19:31:39 +0200 |
---|---|---|
committer | Jean-Philippe Lesot <jplesot@google.com> | 2014-10-23 19:37:11 +0200 |
commit | 916c60b458937e26064df8f8391ea54e862cdfcd (patch) | |
tree | 2f39624378c7c461cc1e1353f2ba8ef0c173db62 | |
parent | 589e047557d3bafd14fc581106a42b8b7119b086 (diff) | |
download | toolchain_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.xml | 6 | ||||
-rw-r--r-- | jill/src/com/android/jill/Main.java | 21 |
2 files changed, 23 insertions, 4 deletions
@@ -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 { |