Hi Frederic !
It is normal that in the plugin example Icy is declared without its version number because it is already declared in the parent POM file.
You have a quick response about what is a parent POM here : directory - What does the parent tag in Maven pom represent? - Stack Overflow
Furthermore, you can check our parent POM file here : Bioimage Analysis / Parent POM plugin
You have also some plugins already declared as Icy that you can include directly. (Connected Components, Vecmath, Spot detector, ROI blocks and many others)
The current declared version for Icy is 2.1.3 but we will update it soon. Once it is done, you just have to update the parent’s version in your POM.xml (from 1.0.3 to 1.0.4) :
The disadvantage of a Maven Project is if you want to include a dependency, it must be a Maven project too and deployed in your local repository (inside the .m2 directory from your user directory) or upload in a Maven repository online as Nexus or Gitlab.
In our article on how to create a new plugin, in the last paragraph, you have a tutorial on how deploy a Maven project on Gitlab.
Finally, the Icy-App is not a Maven project as it is only a wrapper for Icy-Kernel.
To test your plugin, you must execute the commmand
mvn package to create a Jar that you can include in the Icy-App’s plugin directory and run Icy as usual.
I hope I have answered to all your questions.