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];

Reply via email to