Revision: 4170
Author: [email protected]
Date: Mon Jul 12 13:06:37 2010
Log: added support for message ignoring to the linter CLI
http://code.google.com/p/google-caja/source/detail?r=4170
Modified:
/trunk/src/com/google/caja/ancillary/linter/Linter.java
/trunk/src/com/google/caja/ancillary/opt/JsOptimizer.java
=======================================
--- /trunk/src/com/google/caja/ancillary/linter/Linter.java Wed Jun 30
18:06:04 2010
+++ /trunk/src/com/google/caja/ancillary/linter/Linter.java Mon Jul 12
13:06:37 2010
@@ -48,6 +48,7 @@
import com.google.caja.parser.js.Statement;
import com.google.caja.parser.js.ThrowStmt;
import com.google.caja.parser.js.WithStmt;
+import com.google.caja.reporting.Message;
import com.google.caja.reporting.MessageContext;
import com.google.caja.reporting.MessageLevel;
import com.google.caja.reporting.MessagePart;
@@ -87,9 +88,16 @@
*/
public class Linter implements BuildCommand {
private final Environment env;
-
- public Linter() { this(new Environment(Sets.<String>newHashSet())); }
- public Linter(Environment env) { this.env = env; }
+ private final Set<String> ignores;
+
+ public Linter() {
+ this(new Environment(Sets.<String>newHashSet()),
+ Collections.<String>emptySet());
+ }
+ public Linter(Environment env, Set<String> ignores) {
+ this.env = env;
+ this.ignores = ignores;
+ }
public boolean build(List<File> inputs, List<File> dependencies, File
output)
throws IOException {
@@ -98,6 +106,13 @@
MessageQueue mq = new SimpleMessageQueue();
List<LintJob> lintJobs = parseInputs(inputs, contentMap, mc, mq);
lint(lintJobs, env, mq);
+ if (!ignores.isEmpty()) {
+ for (Iterator<Message> it = mq.getMessages().iterator();
it.hasNext();) {
+ if (ignores.contains(it.next().getMessageType().name())) {
+ it.remove();
+ }
+ }
+ }
if (output.getName().endsWith(".stamp")) {
if (ErrorReporter.reportErrors(contentMap, mc, mq, System.out)
.compareTo(MessageLevel.WARNING) < 0) {
@@ -663,6 +678,7 @@
List<File> inputs = Lists.newArrayList();
String outDir = null;
Set<String> outers = Sets.newLinkedHashSet(BROWSER_ENVIRONMENT.outers);
+ Set<String> ignores = Sets.newLinkedHashSet();
while (argIt.hasNext()) {
String arg = argIt.next();
if (!arg.startsWith("-")) {
@@ -672,6 +688,8 @@
outDir = argIt.next();
} else if ("--builtin".equals(arg)) {
outers.add(argIt.next());
+ } else if ("--ignore".equals(arg)) {
+ ignores.add(argIt.next());
} else if ("--".equals(arg)) {
break;
} else {
@@ -687,7 +705,7 @@
out = new File(outDir, "jslint.txt");
}
Environment env = new Environment(outers);
- (new Linter(env)).build(inputs, deps, out);
+ (new Linter(env, ignores)).build(inputs, deps, out);
}
private static void checkGlobalsDefined(
=======================================
--- /trunk/src/com/google/caja/ancillary/opt/JsOptimizer.java Mon May 3
15:56:59 2010
+++ /trunk/src/com/google/caja/ancillary/opt/JsOptimizer.java Mon Jul 12
13:06:37 2010
@@ -138,6 +138,7 @@
MessageContext mc = new MessageContext();
JsOptimizer opt = new JsOptimizer(mq);
opt.setRename(true);
+ opt.setEnvJson(new ObjectConstructor(FilePosition.UNKNOWN));
try {
for (int i = 0, n = args.length; i < n; ++i) {
String arg = args[i];