My motivation for moving to Maven is that a) everyone talks about it and I am clueless and b) it is supposed to manage transitive dependencies something like Ivy does.
I use two add-ons in my project: SoundPlayer and ICEPush. Being a Maven newb, I thought that if I added the dependency shown in the pom.xml displayed on the add-on file, that all necessary jars would be fetched.
But instead I find myself doing all sort of arcane and probably silly searches to add things like
Is there a way for add-on writers to add these to the recommended pom.xml snippets, or better yet for Maven to magically fetch them ?
Having fetched icepush, I’m now about to start the detective work to find the soundplayer jars. I suspect some of those jars have never been mavenized, and that Vaadin may have to host them.
Indeed it seems not all the add-ons are published on the maven repository, especially for icepush which I had to publish on my own repository.
If you are moving on Maven, I suggest you to create your own repository.
For exemple, we are using Nexus from Sonatype, and it only has to be on an app server like tomcat.
Unfortunately most of the existing add-ons were missing the needed information about transitive dependencies at the time we rolled out our own Maven repository for the add-ons. Therefore in most cases only the add-on itself is available with Maven.
For future add-ons (and updates to the old ones) the situation is a bit better, as there is a way to define the transitive dependencies in a
pom.xml file inside the add-on jar. See the
Directory help for creating add-on for more detailed instructions.