It always tells me a newer version or the same version has already been installed.
Or is there any way to bump my developed plugin version? Thanks.
It depends on which vRO version do you have installed. In newer versions, you can try the button 'Force plug-ins reinstall' in vRO Control Center > Troubleshooting page.
The version of a plug-in is stored in plug-in metadata file, located in plug-in's DAR file /VSO-INF/vso.xml . At the beginning of this file, you can see XML attributes for version and build number, and also an <installation/> element which specifies whether the plug-in will be always installed on only if the new version/build number is greater than the existing ones.
How do you create this vso.xml file - by hand or automatically during the plug-in build script? It is recommended to increase build number attribute when you make changes in the plug-in and want to release a new version. This increase is done either manually, or if you have a continuous integration build system, you can try to integrate the plug-in build with this system and automatically update the build number on each build.
I have a similar question relating to this topic, as it seems that an installation mode of "version" only updates the plugin if the plugin is a higher major.minor version, but not if it is a higher major.minor.revision or build.
The doc: installation Element , implies that there is no way to say, look at the build number to decide. Or check the third digit of the version to update.
Is there a way to make either happen (besides from the installation "mode" to "always")?
When you specify installation mode as "version", the server will decide whether to update the plug-in or not by first comparing the version numbers of the new and the existing plug-in, and if the versions are equal, then it will check the plug-ins' build numbers.
Fox eample:
* existing plug-in version 1.0.0 build 123, new plug-in version 2.0.0 build 123 -> will perform update (new version > existing version)
* existing plug-in version 1.0.0 build 123, new plug-in version 1.0.0 build 124 -> will perform update (new version == existing version, new build number > old build number)
so I figured out why it wasn't working for me (it is now, as described by you) - just in case anyone else falls down the same trap.
So when starting from a fresh maven archetype build, it sets the pom version as x.x.x-SNAPSHOT
it seems to not like "SNAPSHOT" and gets confused. We are not actually using snapshots here, so I removed it (so it is just x.x.x) and it works as expected.