Refresher in Vaadin7

I have a question to Refresher for Vaadin7 packaging . Is it right that the class RefresherConnector is placed in ./shared folder? IMO it should be placed in ./client. According documentation (Vaadin book):

An extension connector needs to be included in a widget set. The class must therefore be defined
under the client package of a widget set, just like with component connectors.

Or am I missing anything?

Look at RefresherWidgetset.gwt.xml, it contains:

    <source path="shared"/>
    <source path="client"/>

You can tell the GWT compiler to look into any sub-package.

The problem is not the GWT compiler, it works fine of course, but the packaging. Our build system does not allow us to install applications with unresolved references. If classes in the ./shared package reference ./client classes, our deployment system automatically adds vaadin-client-7.x.x.jar to the deployment package. That’s what I try to eliminate.

Your original question did not mention any problems with your build system . You asked whether the connector could be placed in “shared”, and the answer is yes if “shared” is declared as a source path in the GWT module descriptor.

From the point of view of the GWT compiler, it can be placed in “shared”. However, the problem is that it makes “shared” refer to “client”, whereas all references should logically be the other way around. Normally, the server should not need to refer to the connector class, so it could probably be in the “client” package.

In most cases this isn’t a problem. Here, though, if the build system is aggressive in “snooping” for dependencies and loading classes, this could cause problems.

Just to clear for followers. In the downloaded add-on package (at least in release 1.2.1.7) the connector
is placed
in the “shared” folder. The question was, if it is right place for the connector.