Revision: 9210
Author: [email protected]
Date: Tue Nov  9 15:11:07 2010
Log: Updates the reference api for Api Checker to 2.1. Fixes 2 small bugs in Api Checker.

Patch by: amitmanjhi
Review by: jat
Review at http://gwt-code-reviews.appspot.com/1095801

http://code.google.com/p/google-web-toolkit/source/detail?r=9210

Added:
 /trunk/tools/api-checker/config/gwt21_22userApi.conf
Modified:
 /trunk/build.xml
 /trunk/tools/api-checker/reference/README
 /trunk/tools/api-checker/reference/gwt-dev-modified.jar
 /trunk/tools/api-checker/reference/gwt-user-modified.jar
/trunk/tools/api-checker/src/com/google/gwt/tools/apichecker/ApiCompatibilityChecker.java /trunk/tools/api-checker/src/com/google/gwt/tools/apichecker/ApiContainer.java

=======================================
--- /dev/null
+++ /trunk/tools/api-checker/config/gwt21_22userApi.conf Tue Nov 9 15:11:07 2010
@@ -0,0 +1,134 @@
+#existing API
+
+# dirRoot_old is missing because refJars are being supplied
+name_old gwt21userApi
+#sourceFiles is specified as colon-separated list of files
+sourceFiles_old com/google/gwt
+
+#excludedFiles is specified as colon-separated ant patterns
+excludedFiles_old com/google/gwt/benchmarks/BenchmarkReport.java\
+:com/google/gwt/benchmarks/BenchmarkShell.java\
+:com/google/gwt/benchmarks/client/Benchmark.java\
+:**/linker/**\
+:**/rebind/**\
+:**/server/**\
+:**/tools/**\
+:com/google/gwt/regexp/shared/**\
+:com/google/gwt/autobean/shared/impl/StringQuoter.java\
+:com/google/gwt/core/client/impl/WeakMapping.java\
+:com/google/gwt/core/ext/**\
+:com/google/gwt/dev/*.java\
+:com/google/gwt/dev/asm/**\
+:com/google/gwt/dev/cfg/**\
+:com/google/gwt/dev/generator/**\
+:com/google/gwt/dev/javac/**\
+:com/google/gwt/dev/jdt/**\
+:com/google/gwt/dev/jjs/*.java\
+:com/google/gwt/dev/jjs/ast/**\
+:com/google/gwt/dev/jjs/impl/**\
+:com/google/gwt/dev/js/**\
+:com/google/gwt/dev/json/**\
+:com/google/gwt/dev/resource/**\
+:com/google/gwt/dev/shell/**\
+:com/google/gwt/dev/ui/**\
+:com/google/gwt/dev/util/**\
+:com/google/gwt/junit/*.java\
+:com/google/gwt/junit/client/GWTTestCase.java\
+:com/google/gwt/junit/client/impl/GWTRunner.java\
+:com/google/gwt/junit/remote/**\
+:com/google/gwt/resources/css/**\
+:com/google/gwt/resources/ext/**\
+:com/google/gwt/resources/rg/**\
+:com/google/gwt/requestfactory/shared/impl/MessageFactoryHolder.java\
+:com/google/gwt/rpc/client/impl/ClientWriterFactory.java\
+:com/google/gwt/rpc/client/impl/EscapeUtil.java\
+:com/google/gwt/soyc/**\
+:com/google/gwt/safehtml/shared/SafeHtmlHostedModeUtils.java\
+:com/google/gwt/user/client/rpc/core/java/util/LinkedHashMap_CustomFieldSerializer.java\
+:com/google/gwt/uibinder/attributeparsers/**\
+:com/google/gwt/uibinder/elementparsers/**\
+:com/google/gwt/uibinder/testing/**\
+:com/google/gwt/util/**\
+:com/google/gwt/validation/**\
+
+##############################################
+#new Api
+
+dirRoot_new ./
+name_new gwt22userApi
+#sourceFiles is specified as colon-separated list of files
+sourceFiles_new dev/core/super\
+:user/src\
+:user/super\
+
+#excludedFiles is specified as colon-separated ant patterns
+# The last 3 entries exclude the validation stuff.
+# Bug: http://code.google.com/p/google-web-toolkit/issues/detail?id=5566
+excludedFiles_new user/src/com/google/gwt/benchmarks/BenchmarkReport.java\
+:user/src/com/google/gwt/benchmarks/BenchmarkShell.java\
+:user/src/com/google/gwt/benchmarks/client/Benchmark.java\
+:**/linker/**\
+:**/rebind/**\
+:**/server/**\
+:**/tools/**\
+:user/src/com/google/gwt/regexp/shared/**\
+:user/src/com/google/gwt/autobean/shared/impl/StringQuoter.java\
+:user/src/com/google/gwt/core/client/impl/WeakMapping.java\
+:user/src/com/google/gwt/junit/*.java\
+:user/src/com/google/gwt/junit/client/GWTTestCase.java\
+:user/src/com/google/gwt/junit/client/impl/GWTRunner.java\
+:user/src/com/google/gwt/junit/remote/**\
+:user/src/com/google/gwt/resources/css/**\
+:user/src/com/google/gwt/resources/ext/**\
+:user/src/com/google/gwt/resources/rg/**\
+:user/src/com/google/gwt/requestfactory/shared/impl/MessageFactoryHolder.java\
+:user/src/com/google/gwt/rpc/client/impl/ClientWriterFactory.java\
+:user/src/com/google/gwt/rpc/client/impl/EscapeUtil.java\
+:user/src/com/google/gwt/safehtml/shared/SafeHtmlHostedModeUtils.java\
+:user/src/com/google/gwt/user/client/rpc/core/java/util/LinkedHashMap_CustomFieldSerializer.java\
+:user/src/com/google/gwt/uibinder/attributeparsers/**\
+:user/src/com/google/gwt/uibinder/elementparsers/**\
+:user/src/com/google/gwt/uibinder/testing/**\
+:user/src/com/google/gwt/util/**\
+:user/src/javax/**\
+:user/src/org/**\
+:user/src/com/google/gwt/validation/**\
+
+##############################################
+#excluded packages colon separated list
+excludedPackages com.google.gwt.editor.client.impl\
+:com.google.gwt.requestfactory.client.impl.messages\
+:com.google.gwt.requestfactory.client.impl\
+:com.google.gwt.requestfactory.shared.impl\
+
+##############################################
+#Api  whitelist
+# when adding to the white-list, include comments as to why the addition is
+# being made.
+
+# AutoBean packages have been moved since 2.1
+com.google.gwt.editor.client.AutoBean MISSING
+com.google.gwt.editor.client.AutoBeanFactory MISSING
+com.google.gwt.editor.client.AutoBeanFactory.Category MISSING
+com.google.gwt.editor.client.AutoBeanFactory.NoWrap MISSING
+com.google.gwt.editor.client.AutoBeanUtils MISSING
+com.google.gwt.editor.client.AutoBeanVisitor MISSING
+com.google.gwt.editor.client.AutoBeanVisitor.Context MISSING
+com.google.gwt.editor.client.AutoBeanVisitor.PropertyContext MISSING
+
+# Id, Version have been removed because they were not being used.
+com.google.gwt.requestfactory.shared.Id MISSING
+com.google.gwt.requestfactory.shared.Version MISSING
+
+# ValueCodex has moved to autobean.shared
+com.google.gwt.requestfactory.shared.ValueCodex MISSING
+
+# The constructor InlineLabel (String, DirectionEstimator) was added.
+com.google.gwt.user.client.ui.InlineLabel::InlineLabel(Ljava/lang/String;Lcom/google/gwt/i18n/client/HasDirection$Direction;) OVERLOADED_METHOD_CALL
+
+# Label's public api has been cleaned since 2.1, for 2.1.1
+com.google.gwt.user.client.ui.Label::getTextOrHtml(Z) MISSING
+com.google.gwt.user.client.ui.Label::setHTML(Lcom/google/gwt/safehtml/shared/SafeHtml;) MISSING +com.google.gwt.user.client.ui.Label::setHTML(Lcom/google/gwt/safehtml/shared/SafeHtml;Lcom/google/gwt/i18n/client/HasDirection$Direction;) MISSING +com.google.gwt.user.client.ui.Label::setTextOrHtml(Ljava/lang/String;Lcom/google/gwt/i18n/client/HasDirection$Direction;Z) MISSING +com.google.gwt.user.client.ui.Label::setTextOrHtml(Ljava/lang/String;Z) MISSING
=======================================
--- /trunk/build.xml    Fri Oct  8 11:08:21 2010
+++ /trunk/build.xml    Tue Nov  9 15:11:07 2010
@@ -31,7 +31,7 @@
   </macrodef>

   <property name="gwt.apicheck.config"
-    location="tools/api-checker/config/gwt20_21userApi.conf"/>
+    location="tools/api-checker/config/gwt21_22userApi.conf"/>

   <target name="buildonly"
description="[action] Minimal one-platform devel build, without distro packaging">
@@ -175,8 +175,6 @@
       <classpath>
         <pathelement location="${gwt.build.out}/tools/api-checker/bin"/>
<fileset dir="${gwt.build.lib}" includes="gwt-user.jar,gwt-dev.jar" /> - <pathelement location="${gwt.tools.lib}//hibernate/validator/hibernate-validator-4.1.0.Final.jar" /> - <pathelement location="${gwt.tools.lib}/javax/validation/validation-api-1.0.0.GA.jar" />
         <pathelement path="${java.class.path}"/>
         <pathelement location="${gwt.tools.lib}/apache/ant-1.6.5.jar" />
       </classpath>
=======================================
--- /trunk/tools/api-checker/reference/README   Tue Feb  9 21:44:59 2010
+++ /trunk/tools/api-checker/reference/README   Tue Nov  9 15:11:07 2010
@@ -1,2 +1,2 @@
-gwt-dev.jar and gwt-user.jar were extracted from http://google-web-toolkit.googlecode.com/files/gwt-2.0.1.zip +gwt-dev.jar and gwt-user.jar were extracted from http://google-web-toolkit.googlecode.com/files/gwt-2.1.0.zip
 run ./createApiCheckerReferenceJars.sh
=======================================
--- /trunk/tools/api-checker/reference/gwt-dev-modified.jar Tue Feb 9 21:44:59 2010 +++ /trunk/tools/api-checker/reference/gwt-dev-modified.jar Tue Nov 9 15:11:07 2010
File is too large to display a diff.
=======================================
--- /trunk/tools/api-checker/reference/gwt-user-modified.jar Tue Feb 9 21:44:59 2010 +++ /trunk/tools/api-checker/reference/gwt-user-modified.jar Tue Nov 9 15:11:07 2010
File is too large to display a diff.
=======================================
--- /trunk/tools/api-checker/src/com/google/gwt/tools/apichecker/ApiCompatibilityChecker.java Tue Nov 10 20:40:43 2009 +++ /trunk/tools/api-checker/src/com/google/gwt/tools/apichecker/ApiCompatibilityChecker.java Tue Nov 9 15:11:07 2010
@@ -238,6 +238,9 @@
* Class that specifies a set of {...@link CompilationUnit} read from jar files.
    */
   private static class JarFileResources extends Resources {
+    private static final String MOCK_PREFIX = "/mock/";
+    private static final int MOCK_PREFIX_LENGTH = MOCK_PREFIX.length();
+
     private final ZipScanner excludeScanner;
     private final Set<String> includedPaths;
     private final JarFile jarFiles[];
@@ -270,6 +273,9 @@
         while (entries.hasMoreElements()) {
           JarEntry jarEntry = entries.nextElement();
           String fileName = jarEntry.toString();
+          if (fileName.startsWith(MOCK_PREFIX)) {
+            fileName = fileName.substring(MOCK_PREFIX_LENGTH);
+          }
           if (fileName.endsWith(".java") && isIncluded(fileName)) {
             // add this compilation unit
             String fileContent = getFileContentsFromJar(jarFile, jarEntry);
=======================================
--- /trunk/tools/api-checker/src/com/google/gwt/tools/apichecker/ApiContainer.java Tue Nov 10 20:42:30 2009 +++ /trunk/tools/api-checker/src/com/google/gwt/tools/apichecker/ApiContainer.java Tue Nov 9 15:11:07 2010
@@ -274,6 +274,9 @@
    * @return return true if and only if the packageObject is an apiPackage
    */
   private boolean isApiPackage(JPackage packageObject) {
+    if (excludedPackages.contains(packageObject.getName())) {
+      return false;
+    }
     JClassType classTypes[] = packageObject.getTypes();
     for (JClassType classType : classTypes) {
       if (isPublicOuterClass(classType)) {

--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to