Confustion about widgetsets and client components

Hi guys,

I’m very confused about the correct way to implement client components and the needed widget set declaration.

What I want to achieve is a single project (devoloped in Intellij IDEA) that compiles with maven and takes care of handling all the widgetset compilation too. I used to have a AppWidgetSet.gwt.xml in the same directory as my UI class like this:

<module>
    <inherits name="com.vaadin.DefaultWidgetSet" />
    <inherits name="org.vaadin.hene.popupbutton.widgetset.PopupbuttonWidgetset" />
    <...>
</module>

Now I need to develop my own client side components, and I’d like them to stay in the very same project that I used for the rest of the application. My project already consists of a huge number of individual modules and I don’t want to clutter everything with additional modules for every client widget I may need to write.

I created a structure like this:

-clientwidget
–widget1
—Widget1.java
—Widget1Widgetset.gwt.xml
—client
----Widget1Widget.java
----Widget1Connector.java
–widget2
—Widget2.java
—Widget2Widgetset.gwt.xml
—client
----Widget2Widget.java
----Widget2Connector.java

Where the *Widgetset.gwt.xml files only contain:

<module>
    <!-- Inherit the default widget set -->
    <inherits name="com.vaadin.terminal.gwt.DefaultWidgetSet" />
</module>

The main AppWidgetSet.gwt.xml then includes the Widgetset files for the individual custom client components. Now, the problem is that the maven goal vaadin:update-widgetset always appends all addon widgetsets to my custom client widgetsets and that in general building takes very long as it compiles a huge widgetset for every client component…

Help me out here, what is the correct usage?