Units ignored when compiling widgetset

I’m having a go at creating my first Vaadin component, based on Accordion/Tabsheet. After compiling with the Vaadin Eclipse plugin, I get a message in the UI that the widgetset does not contain an implementation for my component. Although the GWT compiler finds it on the classpath, I get the message:

Validating units:
      Ignored 4 units with compilation errors in first pass.
Compile with -strict or with -logLevel set to TRACE or DEBUG to see all errors.

I don’t see any further reference to my component in the compiler output (except that it is found on the classpath) and when I exclude my component from the widgetset, 3 units are ignored by the compiler. So I suppose my component gets ignored as well and ends up missing from the widgetset.

I tried to find out how to run the compiler from the command line with logLevel DEBUG but I’ve had no luck yet. Can anyone hint at how to do this, so I can get more info?

Or perhaps does anyone have an idea why stuff might be ignored by the compiler?

I’ve just found the compiler arguments text field: right click the project → Properties → Vaadin, additional parameters for widgetset compiler.

The compiler now outputs:

Line 236: No source code is available for type com.mycompany.multiaccordion.MultiAccordionServerRpc; did you forget to inherit a required module?

How should I fix this?

I’ve added the package source paths in the gwt.xml file.

Now I get the following messages:

Line 61: No source code is available for type com.vaadin.ui.AbstractComponentContainer; did you forget to inherit a required module?
Line 61: No source code is available for type com.vaadin.ui.Component.Focusable; did you forget to inherit a required module?
Line 61: No source code is available for type com.vaadin.event.FieldEvents.FocusNotifier; did you forget to inherit a required module?
Line 61: No source code is available for type com.vaadin.event.FieldEvents.BlurNotifier; did you forget to inherit a required module?
Line 66: No source code is available for type com.vaadin.ui.TabSheet.Tab; did you forget to inherit a required module?
Line 72: No source code is available for type com.vaadin.server.ErrorMessage; did you forget to inherit a required module?
Line 74: No source code is available for type com.vaadin.server.Resource; did you forget to inherit a required module?
Line 97: No source code is available for type com.vaadin.ui.Component; did you forget to inherit a required module?
Line 255: No source code is available for type com.vaadin.ui.Component.Event; did you forget to inherit a required module?
Line 350: No source code is available for type com.vaadin.server.KeyMapper<V>; did you forget to inherit a required module?
Line 354: No source code is available for type com.vaadin.event.FieldEvents.FocusAndBlurServerRpcImpl; did you forget to inherit a required module?
Line 362: No source code is available for type java.lang.reflect.Method; did you forget to inherit a required module?
Line 366: The method getDeclaredMethod(String, Class) is undefined for the type Class<MultiAccordion.SelectedTabChangeListener>
Line 400: No source code is available for type com.vaadin.event.FieldEvents.BlurListener; did you forget to inherit a required module?
Line 401: No source code is available for type com.vaadin.event.FieldEvents.BlurEvent; did you forget to inherit a required module?
Line 420: No source code is available for type com.vaadin.event.FieldEvents.FocusListener; did you forget to inherit a required module?
Line 421: No source code is available for type com.vaadin.event.FieldEvents.FocusEvent; did you forget to inherit a required module?
Line 720: No source code is available for type com.vaadin.ui.ComponentContainer; did you forget to inherit a required module?

I’ve found the problem!

I had to place the ServerRpc and ClientRpc interfaces in the client package. I then removed the source path declarations from the gwt.xml file and it all compiled.

So the correct package structure is this:

com.example.mycomponent
     MyComponent.java
     MyComponentWidgetset.gwt.xml
com.example.mycomponent.client
     MyComponentClientRpc.java
     MyComponentConnector.java
     MyComponentWidget.java