Revision: 10030
Author: [email protected]
Date: Tue Apr 19 09:13:32 2011
Log: Cherry picking r10020 into releases/gwt/2.3
http://code.google.com/p/google-web-toolkit/source/detail?r=10030
Modified:
/releases/2.3/dev/core/src/com/google/gwt/dev/cfg/ConditionWhenTypeAssignableTo.java
=======================================
---
/releases/2.3/dev/core/src/com/google/gwt/dev/cfg/ConditionWhenTypeAssignableTo.java
Wed Aug 11 09:22:23 2010
+++
/releases/2.3/dev/core/src/com/google/gwt/dev/cfg/ConditionWhenTypeAssignableTo.java
Tue Apr 19 09:13:32 2011
@@ -27,6 +27,8 @@
*/
public class ConditionWhenTypeAssignableTo extends Condition {
+ private static boolean warnedMissingValidationJar = false;
+
private final String assignableToTypeName;
public ConditionWhenTypeAssignableTo(String assignableToTypeName) {
@@ -59,7 +61,12 @@
// This isn't a strict failure case because stale rules can reference
// types that have been deleted.
//
- logger.log(TreeLogger.WARN, "Unknown type '" + assignableToTypeName
+ TreeLogger.Type level = TreeLogger.WARN;
+ if (shouldSuppressWarning(logger, assignableToTypeName)) {
+ // Suppress validation related errors
+ level = TreeLogger.DEBUG;
+ }
+ logger.log(level, "Unknown type '" + assignableToTypeName
+ "' specified in deferred binding rule", null);
return false;
}
@@ -85,4 +92,27 @@
return toString();
}
-}
+ /**
+ * Suppress multiple validation related messages and replace with a hint.
+ *
+ * @param typeName fully qualified type name to check for filtering
+ */
+ // TODO(zundel): Can be removed when javax.validation is included in the
JRE
+ private boolean shouldSuppressWarning(TreeLogger logger, String
typeName) {
+ if (typeName.startsWith("javax.validation.")
+ || typeName.startsWith("com.google.gwt.validation.")
+ || typeName.startsWith("com.google.gwt.editor.client")) {
+ if (!warnedMissingValidationJar) {
+ warnedMissingValidationJar = true;
+ logger.log(TreeLogger.WARN, "Detected warnings related to '" +
typeName + "'. "
+ + " Is validation-api-<version>-sources.jar on the
classpath?");
+ logger.log(TreeLogger.INFO, "Specify -logLevel DEBUG to see all
errors.");
+ // Show the first error that matches
+ return false;
+ }
+ // Suppress subsequent errors that match
+ return true;
+ }
+ return false;
+ }
+}
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors