summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenoit Lamarche <benoitlamarche@google.com>2014-09-18 16:28:43 +0200
committerBenoit Lamarche <benoitlamarche@google.com>2014-09-18 14:59:54 +0000
commit2b4aafbc11d904ecf6a3926866bee09b768283c0 (patch)
treea4221fe08836c9c413e31b0acc6ff8cc1a93308a
parente16c1852d561b09fcbad3b7fdddd2e605ee0c7b4 (diff)
downloadtoolchain_jack-2b4aafbc11d904ecf6a3926866bee09b768283c0.zip
toolchain_jack-2b4aafbc11d904ecf6a3926866bee09b768283c0.tar.gz
toolchain_jack-2b4aafbc11d904ecf6a3926866bee09b768283c0.tar.bz2
Temporarly read usage help from file
Change-Id: I9b567670c1cf40de972859828da7bd977f44373c
-rw-r--r--jack/rsc/help.txt78
-rw-r--r--jack/src/com/android/jack/CommandLine.java18
-rw-r--r--jack/src/com/android/jack/Main.java2
-rw-r--r--jack/src/com/android/jack/Options.java2
-rw-r--r--jack/src/com/android/jack/experimental/incremental/Main.java2
5 files changed, 98 insertions, 4 deletions
diff --git a/jack/rsc/help.txt b/jack/rsc/help.txt
new file mode 100644
index 0000000..cce7eb5
--- /dev/null
+++ b/jack/rsc/help.txt
@@ -0,0 +1,78 @@
+ --bootclasspath PATH : bootclasspath
+ --dump-properties : dump properties with their value
+ --dx-legacy [on | off] : keep generation close to dx (default:
+ on)
+ --help-properties : display properties list
+ --incremental-folder FILE : Folder used for incremental data
+ --jack-output-zip FILE : output jack files to this zip
+ --jarjar-rules FILE : use this jarjar rules file (default:
+ none)
+ --output-zip FILE : output to this zip file
+ --proguard-flags FILES : use these proguard flags files
+ (default: none)
+ --runtime-legacy [on | off] : keep generation compatible with older
+ runtime (default: on)
+ --sanity-checks [on | off] : enable/disable compiler sanity checks
+ (default: on)
+ --tracer-dir DIRECTORY : enable tracer and output into this
+ dir (.html)
+ --verbose [error | warning | info | : set verbosity (default: warning)
+ debug | trace] :
+ -D <property>=<value> : set value for the given property (see
+ --help-properties)
+ -c (--config-file) FILE : set properties from file
+ -cp (--classpath) PATH : classpath
+ -d (--jack-output) DIRECTORY : output jack files to this folder
+ -g (--debug) : emit debug infos
+ -h (--help) : display help
+ -i (--import-jack) FILE : Import the given jack files
+ -o (--output) FILE : output to this folder
+ -v (--version) : display version
+ --ecj ... : mark the beginning of ecj options
+
+ECJ supported options (to be used only after --ecj):
+
+ -encoding <enc> specify default encoding for all source files. Each
+ file/directory can override it when suffixed with
+ '['<enc>']' (e.g. X.java[utf8]).
+ If multiple default encodings are specified, the last
+ one will be used.
+
+ @<file> read command line arguments from file
+
+ -deprecation deprecation outside deprecated code (equivalent to
+ -warn:+deprecation) (enabled by default)
+ -nowarn -warn:none disable all warnings
+ -nowarn:[<directories separated by :>]
+ specify directories from which optional problems should
+ be ignored
+ -?:warn -help:warn display advanced warning options
+
+ -err:<warnings separated by ,> convert exactly the listed warnings
+ to be reported as errors
+ -err:+<warnings separated by ,> enable additional warnings to be
+ reported as errors
+ -err:-<warnings separated by ,> disable specific warnings to be
+ reported as errors
+
+ECJ annotation processing options (to be used only after --ecj):
+WARNING: Experimental
+
+ -Akey[=value] options that are passed to annotation processors
+ -processorpath <directories and ZIP archives separated by :>
+ specify locations where to find annotation processors.
+ If this option is not used, the classpath will be
+ searched for processors
+ -processor <class1[,class2,...]>
+ qualified names of the annotation processors to run.
+ This bypasses the default annotation discovery process
+ -proc:only run annotation processors, but do not compile
+ -proc:none perform compilation but do not run annotation
+ processors
+ -s <dir> destination directory for generated source files
+ -d <dir> destination directory for annotation processor output
+ -XprintProcessorInfo print information about which annotations and elements
+ a processor is asked to process
+ -XprintRounds print information about annotation processing rounds
+ -classNames <className1[,className2,...]>
+ qualified names of binary classes to process
diff --git a/jack/src/com/android/jack/CommandLine.java b/jack/src/com/android/jack/CommandLine.java
index 39b5364..e728f39 100644
--- a/jack/src/com/android/jack/CommandLine.java
+++ b/jack/src/com/android/jack/CommandLine.java
@@ -18,6 +18,7 @@ package com.android.jack;
import com.android.jack.frontend.FrontendCompilationException;
import com.android.jack.load.JackLoadingException;
+import com.android.jack.util.CharactersStreamSucker;
import com.android.sched.util.TextUtils;
import com.android.sched.util.UnrecoverableException;
import com.android.sched.util.codec.Parser.ValueDescription;
@@ -31,6 +32,8 @@ import com.android.sched.util.log.LoggerFactory;
import org.kohsuke.args4j.CmdLineParser;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.PrintStream;
import java.util.Arrays;
import java.util.Collection;
import java.util.Comparator;
@@ -127,7 +130,20 @@ public abstract class CommandLine {
System.out.print("Main: ");
parser.printSingleLineUsage(System.out);
System.out.println();
- parser.printUsage(System.out);
+ printSubUsage(System.out);
+ }
+
+ protected static void printSubUsage(PrintStream printStream) {
+ InputStream is = Main.class.getResourceAsStream("/help.txt");
+ if (is == null) {
+ throw new AssertionError();
+ }
+ CharactersStreamSucker css = new CharactersStreamSucker(is, printStream);
+ try {
+ css.suck();
+ } catch (IOException e) {
+ throw new AssertionError(e);
+ }
}
public static void printHelpProperties (@Nonnull Options options) throws IOException {
diff --git a/jack/src/com/android/jack/Main.java b/jack/src/com/android/jack/Main.java
index 2f2fdad..5c4317c 100644
--- a/jack/src/com/android/jack/Main.java
+++ b/jack/src/com/android/jack/Main.java
@@ -71,7 +71,7 @@ public abstract class Main extends CommandLine {
System.err.println(e.getMessage());
CmdLineParser parser = e.getParser();
if (parser != null) {
- parser.printUsage(System.err);
+ printSubUsage(System.err);
} else {
System.err.println("Try --help for help.");
}
diff --git a/jack/src/com/android/jack/Options.java b/jack/src/com/android/jack/Options.java
index c7bdc99..91aa9b5 100644
--- a/jack/src/com/android/jack/Options.java
+++ b/jack/src/com/android/jack/Options.java
@@ -148,7 +148,7 @@ public class Options {
"jack.statistic.source", "Enable compiled files statistics").addDefaultValue(
Boolean.FALSE);
- @Option(name = "-v", aliases = "--version", usage = "display options")
+ @Option(name = "-v", aliases = "--version", usage = "display version")
protected boolean version;
@Option(name = "-h", aliases = "--help", usage = "display help")
diff --git a/jack/src/com/android/jack/experimental/incremental/Main.java b/jack/src/com/android/jack/experimental/incremental/Main.java
index b6cb37e..39f810b 100644
--- a/jack/src/com/android/jack/experimental/incremental/Main.java
+++ b/jack/src/com/android/jack/experimental/incremental/Main.java
@@ -76,7 +76,7 @@ public abstract class Main extends JackIncremental {
System.err.println(e.getMessage());
CmdLineParser parser = e.getParser();
if (parser != null) {
- parser.printUsage(System.err);
+ printSubUsage(System.err);
} else {
System.err.println("Try --help for help.");
}