blob: 8a13d8686e78faa9c91fea6af4db1c45adf7bc6a [file] [log] [blame]
<!-- -->
<!-- Copyright 2008 Google Inc. -->
<!-- Licensed under the Apache License, Version 2.0 (the "License"); you -->
<!-- may not use this file except in compliance with the License. You may -->
<!-- may obtain a copy of the License at -->
<!-- -->
<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
<!-- -->
<!-- Unless required by applicable law or agreed to in writing, software -->
<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -->
<!-- implied. License for the specific language governing permissions and -->
<!-- limitations under the License. -->
<!-- Remote Procedure Call support. -->
<module>
<inherits name="com.google.gwt.http.HTTP"/>
<inherits name="com.google.gwt.user.AsyncCallback" />
<inherits name="com.google.gwt.user.RemoteServiceDTO" />
<source path="client" includes="rpc/">
<skip name="rpc/AsyncCallback.java" />
<skip name="rpc/CustomFieldSerializer.java" />
<skip name="rpc/GwtTransient.java" />
<skip name="rpc/IsSerializable.java" />
<skip name="rpc/SerializationException.java" />
<skip name="rpc/SerializationStreamReader.java" />
<skip name="rpc/SerializationStreamWriter.java" />
</source>
<super-source path="translatable" includes="com/google/gwt/user/client/rpc/**" />
<!--
Declare a property to determine whether warnings for final instance
fields should be suppressed.
-->
<define-property name="gwt.suppressNonStaticFinalFieldWarnings" values="true,false" />
<!--
Default warning for non-static, final fields enabled
-->
<set-property name="gwt.suppressNonStaticFinalFieldWarnings" value="false" />
<!--
If this is ever turned on by default, fix up RPCSuiteWithElision
-->
<define-configuration-property name="gwt.elideTypeNamesFromRPC" is-multi-valued="false" />
<set-configuration-property name="gwt.elideTypeNamesFromRPC" value="false" />
<!--
Declare a property to determine whether final fields should be serialized.
ATTENTION:
This property is experimental and can change/disappear any time in the future.
It is not well-tested and provided as an option so that we can get feedback
from developers.
At this moment, we don't recommend any downstream libraries to rely on existence
of this option. Instead we encourage them to keep their custom serializers and
run their tests without enabling the option.
One of the potential implications of enabling this option is the code size. This
is because it forces us to traverse the final fields which weren't traversed earlier
and those fields might have a too broad definition like java.lang.Object. This can
result in pulling in a lot of new types for serialization. So we recommend you to
check the size of the generated JavaScript after the flag is enabled.
If you encounter such issue, one way to solve is marking the field as transient
(via transient keyword or @GwtTransient annotation), or use rpc.blacklist property
to block the new types.
-->
<define-property name="rpc.XserializeFinalFields" values="false,true" />
<!--
Default value for rpc serialization on final fields.
-->
<set-property name="rpc.XserializeFinalFields" value="false" />
<!--
Contains regular expressions, optionally prefixed with '+' or '-'.
Each type being considered for serialization is tested against the
list of expressions in order, and if there is a match it is added to the
blacklist (if the prefix is '-' or no prefix is present), or removed (if
the prefix is '+'). If multiple entries in the list match a supplied
class, then the last one 'wins.' For generic types, the regular
expression is applied to just the base class's fully qualified name.
-->
<define-configuration-property name="rpc.blacklist" is-multi-valued="true" />
<!--
Contains a list of fully-qualified class names indicating classes that
should be treated as being enhanced on the server with additional fields.
These classes will be treated specially by RPC.
-->
<define-configuration-property name="rpc.enhancedClasses" is-multi-valued="true"/>
<generate-with class="com.google.gwt.user.rebind.rpc.ServiceInterfaceProxyGenerator">
<when-type-assignable class="com.google.gwt.user.client.rpc.RemoteService"/>
</generate-with>
<define-linker name="rpcLog" class="com.google.gwt.user.linker.rpc.RpcLogLinker" />
<add-linker name="rpcLog" />
<define-linker name="rpcPolicyManifest" class="com.google.gwt.user.linker.rpc.RpcPolicyManifestLinker" />
<add-linker name="rpcPolicyManifest" />
</module>