for (BndWrapper wrapper : wrappers.values()) {
if (wrapper.getVersion() == null)
wrapper.setVersion(version);
+ wrapper.setFactory(this);
}
}
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+import java.util.SortedSet;
+import java.util.TreeSet;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.argeo.slc.CategorizedNameVersion;
import org.argeo.slc.ModuleSet;
import org.argeo.slc.NameVersion;
import org.argeo.slc.build.Distribution;
import org.argeo.slc.build.ModularDistribution;
import org.argeo.slc.execution.ExecutionFlow;
import org.argeo.slc.repo.ArtifactDistribution;
-import org.sonatype.aether.artifact.Artifact;
-import org.sonatype.aether.util.artifact.DefaultArtifact;
/** A consistent and versioned OSGi distribution, which can be built and tested. */
public class ArgeoOsgiDistribution extends ArtifactDistribution implements
public void init() {
if (log.isDebugEnabled()) {
+ SortedSet<String> sort = new TreeSet<String>();
Iterator<? extends NameVersion> nvIt = nameVersions();
while (nvIt.hasNext()) {
- log.debug(nvIt.next());
+ NameVersion nv = nvIt.next();
+ sort.add(nv.getName() + ":" + nv.getVersion());
+ }
+ StringBuffer buf = new StringBuffer(
+ "## OSGi FACTORY MANAGED MODULES : \n");
+ for (String str : sort) {
+ buf.append(str).append('\n');
}
+
+ log.debug(buf);
}
}
private Boolean doNotModify = false;
+ private Runnable factory = null;
+
public void wrapJar(InputStream in, OutputStream out) {
Builder b = new Builder();
try {
}
+ public Runnable getFactory() {
+ return factory;
+ }
+
+ public void setFactory(Runnable factory) {
+ this.factory = factory;
+ }
+
public void setName(String bsn) {
this.name = bsn;
}
private OsgiFactory osgiFactory;
+ public MavenWrapper() {
+ setFactory(this);
+ }
+
public void run() {
Session distSession = null;
Session javaSession = null;
Iterator<NameVersion> it = osgiDistribution.nameVersions();
while (it.hasNext()) {
NameVersion t = it.next();
- if (log.isDebugEnabled())
- log.debug("Check " + t + "...");
+ if (log.isTraceEnabled())
+ log.trace("Check " + t + "...");
if (!(t instanceof CategorizedNameVersion))
throw new SlcException("Unsupported type " + t.getClass());
CategorizedNameVersion nv = (CategorizedNameVersion) t;
nv.getName(), "jar", nv.getVersion());
String path = MavenConventionsUtils.artifactPath("/", artifact);
if (!javaSession.itemExists(path)) {
- if (nv instanceof Runnable) {
+ // if (nv instanceof Runnable) {
+ // if (log.isDebugEnabled())
+ // log.debug("Run " + nv + "...");
+ // ((Runnable) nv).run();
+ // } else
+ if (nv instanceof BndWrapper) {
if (log.isDebugEnabled())
- log.debug("Run " + nv + "...");
- ((Runnable) nv).run();
+ log.debug("Run factory for : " + nv + "...");
+ ((BndWrapper) nv).getFactory().run();
} else {
- log.warn("Skipped unsupported " + nv);
+ log.warn("Skip unsupported : " + nv);
}
+ } else {
+ if (log.isDebugEnabled())
+ log.debug("Already available : " + nv);
}
}
} catch (RepositoryException e) {
private OsgiFactory osgiFactory;
+ public UriWrapper() {
+ setFactory(this);
+ }
+
public void run() {
Session distSession = null;
Session javaSession = null;