Important Notice - Forums is archived
To simplify things and help our users to be more productive, we have archived the current forum and focus our efforts on helping developers on Stack Overflow. You can post new questions on Stack Overflow or join our Discord channel.

Vaadin lets you build secure, UX-first PWAs entirely in Java.
Free ebook & tutorial.
Developing an addon using the vaadin-archetype-widget Maven archetype
Hi,
I have a custom server-side/client-side component that I created in a simple mvn project with a demo UI in the same project. I'm trying to migrate it to the multi-module structure in the vaadin-archetype-widget Maven archetype (with the addon and demo UI in separate sub-modules).
I can run the demo UI using mvn clean install, followed by mvn jetty:run. I can also debug server-side and client-side in IntelliJ and Chrome (settings breakpoints, inspecting values etc).
The one thing I can't get my head around is recompiling the addon following changes and seeing those changes in the demo UI. If I make a change to the addon code and restart the demo UI debugger I don't see the changes.
What is the easiest way to recompile the addon and restart the demo UI without having to do a full clean/install? I'm sure there must be an easy way to do this but my understanding of Maven multi-module projects is lacking.
Thanks for any help,
Robin Summerhill
Emu Analytics
Hi Robin,
I had a similiar issue, but never found way out. Instead, I ended up developing my custom component in the same project as demo app and splitting the two later, when I was done with debugging. I don't know if there's other reasonable way to deal with this issue…
Hi Mac,
I ditched the widget-archetype today and went with the project structure from the TinyMCE wrapper https://github.com/mstahv/tinymcewrapper . This has the demo/test UI in the same project so you can easily build and debug it. The demo UI is a 'test' class and so is excluded from the addon build. This is working well for me - I can add 'test' resources needed by the Demo UI, debug easily, and build a Directory-compatible addon zip with a single mvn command.
Anyone else have any suggestions for organising addon projects? Also any advice on unit testing?
Robin
Hi Robin,
This is definitely the way to go with add-on projects. The development cycle with the add-on archetype is not that nice and it don't provide any good way to have your use cases/tests listed for the development time. That is also how Vaadin Ltd's on add-ons like TouchKit and Charts are developed.
But I think TinyMCE wrapper is not the best example, I'd look into e.g. v-leaflet setup instead or read this blog post.
cheers,
matti
Hi Matti,
I read the blog post you linked to and followed the example with sparklines. This was just what I needed. I now have a minimal framework for developing and testing addons. Thanks!
Robin