#existing API

dirRoot_old @OLDROOT@/
name_old gwt15userApi
#sourceFiles and excludedFiles are specified as colon-separated list of files
sourceFiles_old dev/core/super\
:user/src\
:user/super\

excludedFiles_old 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\
:user/src/com/google/gwt/benchmarks/rebind\
:user/src/com/google/gwt/i18n/rebind\
:user/src/com/google/gwt/i18n/tools\
:user/src/com/google/gwt/junit/GWTMockUtilities.java\
:user/src/com/google/gwt/junit/GWTDummyBridge.java\
:user/src/com/google/gwt/junit/JUnitMessageQueue.java\
:user/src/com/google/gwt/junit/JUnitShell.java\
:user/src/com/google/gwt/junit/RunStyle.java\
:user/src/com/google/gwt/junit/RunStyleExternalBrowser.java\
:user/src/com/google/gwt/junit/RunStyleLocalHosted.java\
:user/src/com/google/gwt/junit/RunStyleLocalWeb.java\
:user/src/com/google/gwt/junit/RunStyleManual.java\
:user/src/com/google/gwt/junit/RunStyleRemote.java\
:user/src/com/google/gwt/junit/RunStyleRemoteWeb.java\
:user/src/com/google/gwt/junit/RunStyleSelenium.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/rebind\
:user/src/com/google/gwt/junit/remote\
:user/src/com/google/gwt/junit/server\
:user/src/com/google/gwt/junit/tools\
:user/src/com/google/gwt/user/client/rpc/core/java/util/LinkedHashMap_CustomFieldSerializer.java\
:user/src/com/google/gwt/user/rebind\
:user/src/com/google/gwt/user/server\
:user/src/com/google/gwt/user/tools\

##############################################
#new Api

dirRoot_new ./
name_new gwt16userApi
#sourceFiles and excludedFiles are specified as colon-separated list of files
sourceFiles_new dev/core/super\
:user/src\
:user/super\

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\
:user/src/com/google/gwt/benchmarks/rebind\
:user/src/com/google/gwt/i18n/server\
:user/src/com/google/gwt/i18n/rebind\
:user/src/com/google/gwt/i18n/tools\
:user/src/com/google/gwt/junit/GWTMockUtilities.java\
:user/src/com/google/gwt/junit/GWTDummyBridge.java\
:user/src/com/google/gwt/junit/JUnitMessageQueue.java\
:user/src/com/google/gwt/junit/JUnitShell.java\
:user/src/com/google/gwt/junit/RunStyle.java\
:user/src/com/google/gwt/junit/RunStyleExternalBrowser.java\
:user/src/com/google/gwt/junit/RunStyleLocalHosted.java\
:user/src/com/google/gwt/junit/RunStyleLocalWeb.java\
:user/src/com/google/gwt/junit/RunStyleManual.java\
:user/src/com/google/gwt/junit/RunStyleNoServerHosted.java\
:user/src/com/google/gwt/junit/RunStyleRemote.java\
:user/src/com/google/gwt/junit/RunStyleRemoteWeb.java\
:user/src/com/google/gwt/junit/RunStyleSelenium.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/rebind\
:user/src/com/google/gwt/junit/remote\
:user/src/com/google/gwt/junit/server\
:user/src/com/google/gwt/junit/tools\
:user/src/com/google/gwt/resources/css\
:user/src/com/google/gwt/resources/ext\
:user/src/com/google/gwt/resources/rebind\
:user/src/com/google/gwt/resources/rg\
:user/src/com/google/gwt/user/client/rpc/core/java/util/LinkedHashMap_CustomFieldSerializer.java\
:user/src/com/google/gwt/user/linker\
:user/src/com/google/gwt/user/rebind\
:user/src/com/google/gwt/user/server\
:user/src/com/google/gwt/user/tools\

##############################################
#excluded packages
excludedPackages com.google.gwt.core.client.impl\
:com.google.gwt.i18n.client.impl\
:com.google.gwt.i18n.client.impl.cldr\
:com.google.gwt.i18n.client.impl.plurals\
:com.google.gwt.user.client.impl\
:com.google.gwt.user.client.rpc.impl\
:com.google.gwt.user.client.ui.impl\
:com.google.gwt.xml.client.impl\

##############################################
#Api  whitelist
# when adding to the white-list, include comments as to why the addition is
# being made. 

# the api-checker is currently checking overloadeded methods that can be
# overriden, and there are multiple overloaded versions of
# StringBuilder::append(..) 
# TODO(amitmanjhi): Solving this issue correctly in all cases seems
# to be hard. Come back and fix this issue, if more such cases come up. 
java.lang.StringBuilder::append(Ljava/lang/StringBuffer;) OVERRIDABLE_METHOD_ARGUMENT_TYPE_CHANGE
com.google.gwt.user.client.ui.Button::Button(Ljava/lang/String;Lcom/google/gwt/user/client/ui/ClickListener;) OVERLOADED_METHOD_CALL
com.google.gwt.user.client.ui.ToggleButton::ToggleButton(Lcom/google/gwt/user/client/ui/Image;Lcom/google/gwt/user/client/ui/Image;Lcom/google/gwt/user/client/ui/ClickListener;) OVERLOADED_METHOD_CALL 
com.google.gwt.user.client.ui.Tree::setImageBase(Ljava/lang/String;) MISSING
com.google.gwt.i18n.client.LocaleInfo::getAvailableLocaleNames() FINAL_ADDED
com.google.gwt.i18n.client.LocaleInfo::getCurrentLocale() FINAL_ADDED
com.google.gwt.i18n.client.LocaleInfo::getLocaleName() FINAL_ADDED
com.google.gwt.i18n.client.LocaleInfo::isRTL() FINAL_ADDED

# The following 2 nested classes should never have been public to begin with.
com.google.gwt.user.client.ui.UIObject.DebugIdImpl MISSING
com.google.gwt.user.client.ui.UIObject.DebugIdImplEnabled MISSING

