Document A2 OSGi Boot. Add classpath provisioning source.
[lgpl/argeo-commons.git] / org.argeo.osgi.boot / src / org / argeo / osgi / boot / a2 / FsA2Source.java
index 6fc25c1127f98d8adf93d390b6e072d99ae15b8f..a8e79d4574b1b82f327a6429841d23688a42aced 100644 (file)
@@ -11,6 +11,7 @@ import java.util.TreeSet;
 import org.argeo.osgi.boot.OsgiBootUtils;
 import org.osgi.framework.Version;
 
+/** A file system {@link ProvisioningSource} in A2 format. */
 public class FsA2Source extends ProvisioningSource {
        private final Path base;
 
@@ -43,9 +44,11 @@ public class FsA2Source extends ProvisioningSource {
                                        if (!"jar".equals(ext))
                                                continue modules;
                                        String moduleName = moduleFileName.substring(0, lastDot);
-                                       int firstDash = moduleName.indexOf('-');
-                                       String versionStr = moduleName.substring(firstDash + 1);
-                                       String componentName = moduleName.substring(0, firstDash);
+                                       if (moduleName.endsWith("-SNAPSHOT"))
+                                               moduleName = moduleName.substring(0, moduleName.length() - "-SNAPSHOT".length());
+                                       int lastDash = moduleName.lastIndexOf('-');
+                                       String versionStr = moduleName.substring(lastDash + 1);
+                                       String componentName = moduleName.substring(0, lastDash);
                                        // if(versionStr.endsWith("-SNAPSHOT")) {
                                        // versionStr = readVersionFromModule(modulePath);
                                        // }