]> source.dussan.org Git - pf4j.git/commitdiff
Refactor ManifestPluginDescriptorFinder to allow custom managing of V… (#154)
authorCOLLIGNON Thomas <tomiphone3g@gmail.com>
Thu, 6 Jul 2017 08:40:24 +0000 (10:40 +0200)
committerDecebal Suiu <decebal.suiu@gmail.com>
Thu, 6 Jul 2017 08:40:24 +0000 (11:40 +0300)
pf4j/src/main/java/ro/fortsoft/pf4j/ManifestPluginDescriptorFinder.java

index de0f84e6381c445ae23f319edd25de00f1d39d87..394773c7a8b1dd74c96e792001fa2a2c1673e695 100644 (file)
@@ -58,7 +58,7 @@ public abstract class ManifestPluginDescriptorFinder implements PluginDescriptor
 
         String version = attributes.getValue("Plugin-Version");
         if (StringUtils.isNotEmpty(version)) {
-            pluginDescriptor.setPluginVersion(Version.valueOf(version));
+            pluginDescriptor.setPluginVersion(createPluginVersion(version));
         }
 
         String provider = attributes.getValue("Plugin-Provider");
@@ -76,6 +76,17 @@ public abstract class ManifestPluginDescriptorFinder implements PluginDescriptor
         return pluginDescriptor;
     }
 
+    /**
+     * Parse version to semver {@link Version} object.
+     * Example : 1.1.1.RC1 -> 1.1.1-RC1.
+     * This may be override to use a custom parsing to semver Version.
+     * @param version given string to be the plugin version
+     * @return a semver version
+     */
+    protected Version createPluginVersion(String version) {
+        return Version.valueOf(version);
+    }
+
     protected PluginDescriptor createPluginDescriptorInstance() {
         return new PluginDescriptor();
     }