We should not allow plugins to be deployable if they have invalid version strings (that is, does not follow the OSGi rules for version strings). For example, if I already deployed a plugin with version "2.0.0" and I later deploy an updated plugin with version "ABC-6.0.0", that "ABC-6.0.0" version string is not valid OSGi version format and our code will assume 2.0.0 is after ABC-6.0.0 (see ComparableVersion class). OSGi version syntax is: version ::= major('.'minor('.'micro('.'qualifier)?)?)? major ::= digit+ minor ::= digit+ micro ::= digit+ qualifier ::= (alpha|digit|'_'|'-')+ digit ::= [0..9] alpha ::= [a..zA..Z]