]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/osgi/ArchiveWrapper.java
Improve licenses and sources
[gpl/argeo-slc.git] / runtime / org.argeo.slc.repo / src / main / java / org / argeo / slc / repo / osgi / ArchiveWrapper.java
index a34b64fb39802ad1a7f9f4aff967aef2379ef304..832b790bf91f94724aff64d9e572a4955060e193 100644 (file)
@@ -28,6 +28,7 @@ import org.argeo.slc.NameVersion;
 import org.argeo.slc.SlcException;
 import org.argeo.slc.aether.ArtifactIdComparator;
 import org.argeo.slc.build.Distribution;
+import org.argeo.slc.build.License;
 import org.argeo.slc.repo.OsgiFactory;
 import org.argeo.slc.repo.RepoUtils;
 import org.sonatype.aether.artifact.Artifact;
@@ -45,6 +46,7 @@ public class ArchiveWrapper implements Runnable, ModuleSet, Distribution {
 
        private OsgiFactory osgiFactory;
        private String version;
+       private License license;
 
        private String uri;
 
@@ -59,12 +61,13 @@ public class ArchiveWrapper implements Runnable, ModuleSet, Distribution {
        private Boolean mavenGroupIndexes = false;
 
        public void init() {
-               if (version != null)
-                       for (BndWrapper wrapper : wrappers.values()) {
-                               if (wrapper.getVersion() == null)
-                                       wrapper.setVersion(version);
-                               wrapper.setFactory(this);
-                       }
+               for (BndWrapper wrapper : wrappers.values()) {
+                       wrapper.setFactory(this);
+                       if (version != null && wrapper.getVersion() == null)
+                               wrapper.setVersion(version);
+                       if (license != null && wrapper.getLicense() == null)
+                               wrapper.setLicense(license);
+               }
        }
 
        public void destroy() {
@@ -125,6 +128,7 @@ public class ArchiveWrapper implements Runnable, ModuleSet, Distribution {
                                                                                wrapper.getName() + ".source", "jar",
                                                                                wrapper.getVersion()), pdeSource);
                                                osgiFactory.indexNode(pdeSourceNode);
+                                               pdeSourceNode.getSession().save();
                                        }
                                } else if (baseName.endsWith(".source")) {
                                        // TODO Eclipse source already available
@@ -267,6 +271,10 @@ public class ArchiveWrapper implements Runnable, ModuleSet, Distribution {
                this.version = version;
        }
 
+       public void setLicense(License license) {
+               this.license = license;
+       }
+
        public void setPathMatcher(PathMatcher pathMatcher) {
                this.pathMatcher = pathMatcher;
        }