Manifest manifest = c.getManifest();
classpath.add(path); Manifest manifest = m.getManifest(); if (manifest != null) { Map<String, Map<String, String>> exports = project.parseHeader(manifest
Manifest manifest = c.getManifest();
Manifest manifest = c.getManifest();
private <T> T getHandler(Class<T> target, Collection<Container> containers, String header, String defaultHandler) throws Exception { Class< ? extends T> handlerClass = target; // Make sure we find at least one handler, but hope to find an earlier // one List<Container> withDefault = Create.list(); withDefault.addAll(containers); withDefault.addAll(getBundles(Strategy.HIGHEST, defaultHandler, null)); trace("candidates for tester %s", withDefault); for (Container c : withDefault) { Manifest manifest = c.getManifest(); if (manifest != null) { String launcher = manifest.getMainAttributes().getValue(header); if (launcher != null) { Class< ? > clz = getClass(launcher, c.getFile()); if (clz != null) { if (!target.isAssignableFrom(clz)) { msgs.IncompatibleHandler_For_(launcher, defaultHandler); } else { handlerClass = clz.asSubclass(target); Constructor< ? extends T> constructor = handlerClass.getConstructor(Project.class); return constructor.newInstance(this); } } } } } throw new IllegalArgumentException("Default handler for " + header + " not found in " + defaultHandler); }
private <T> T getHandler(Class<T> target, Collection<Container> containers, String header, String defaultHandler) throws Exception { Class< ? extends T> handlerClass = target; // Make sure we find at least one handler, but hope to find an earlier // one List<Container> withDefault = Create.list(); withDefault.addAll(containers); withDefault.addAll(getBundles(Strategy.HIGHEST, defaultHandler, null)); trace("candidates for tester %s", withDefault); for (Container c : withDefault) { Manifest manifest = c.getManifest(); if (manifest != null) { String launcher = manifest.getMainAttributes().getValue(header); if (launcher != null) { Class< ? > clz = getClass(launcher, c.getFile()); if (clz != null) { if (!target.isAssignableFrom(clz)) { msgs.IncompatibleHandler_For_(launcher, defaultHandler); } else { trace("found handler %s from %s", defaultHandler, c); handlerClass = clz.asSubclass(target); Constructor< ? extends T> constructor = handlerClass.getConstructor(Project.class); return constructor.newInstance(this); } } } } } throw new IllegalArgumentException("Default handler for " + header + " not found in " + defaultHandler); }
private <T> T getHandler(Class<T> target, Collection<Container> containers, String header, String defaultHandler) throws Exception { Class< ? extends T> handlerClass = target; // Make sure we find at least one handler, but hope to find an earlier // one List<Container> withDefault = Create.list(); withDefault.addAll(containers); withDefault.addAll(getBundles(Strategy.HIGHEST, defaultHandler, null)); trace("candidates for tester %s", withDefault); for (Container c : withDefault) { Manifest manifest = c.getManifest(); if (manifest != null) { String launcher = manifest.getMainAttributes().getValue(header); if (launcher != null) { Class< ? > clz = getClass(launcher, c.getFile()); if (clz != null) { if (!target.isAssignableFrom(clz)) { msgs.IncompatibleHandler_For_(launcher, defaultHandler); } else { trace("found handler %s from %s", defaultHandler, c); handlerClass = clz.asSubclass(target); Constructor< ? extends T> constructor = handlerClass.getConstructor(Project.class); return constructor.newInstance(this); } } } } } throw new IllegalArgumentException("Default handler for " + header + " not found in " + defaultHandler); }
if (!classpath.contains(path)) { Manifest manifest = m.getManifest();
public void addClasspath(Container container) throws Exception { if (container.getError() != null) { project.error("Cannot launch because %s has reported %s", container.getProject(), container.getError()); } else { Collection<Container> members = container.getMembers(); for (Container m : members) { String path = m.getFile().getAbsolutePath(); if (!classpath.contains(path)) { classpath.add(path); Manifest manifest = m.getManifest(); if (manifest != null) { Parameters exports = project.parseHeader(manifest.getMainAttributes().getValue( Constants.EXPORT_PACKAGE)); for (Entry<String,Attrs> e : exports.entrySet()) { if (!runsystempackages.containsKey(e.getKey())) runsystempackages.put(e.getKey(), e.getValue()); } // Allow activators on the runpath. They are called // after // the framework is completely initialized wit the // system // context. String activator = manifest.getMainAttributes().getValue(EMBEDDED_ACTIVATOR); if (activator != null) activators.add(activator); } } } } }
if (!classpath.contains(path)) { Manifest manifest = m.getManifest();
if (!classpath.contains(path)) { Manifest manifest = m.getManifest();
if (!classpath.contains(path)) { Manifest manifest = m.getManifest();
Manifest m = getManifest(); String bundleClassPath; if (m == null || (bundleClassPath = m.getMainAttributes()
String getName(Collection<Instruction> skip, String prefix, Container c, String extension) throws Exception { Manifest m = c.getManifest(); try { if (m == null) {
Manifest m = getManifest(); String bundleClassPath; if (m == null || (bundleClassPath = m.getMainAttributes()
/** * Add a path to the system resource. This is done by the bnd launcher for * -runpath and it is also used for -distro. */ @Override public void loadPath(ResourceBuilder system, String path, String what) throws Exception { if (project != null) { List<Container> containers = Container.flatten(project.getBundles(Strategy.HIGHEST, path, what)); for (Container c : containers) { Manifest manifest = c.getManifest(); if (manifest != null) { ResourceBuilder rb = new ResourceBuilder(); rb.addManifest(Domain.domain(manifest)); addSystemResource(system, rb.build()); } } } else { super.loadPath(system, path, what); } }
/** * Add a path to the system resource. This is done by the bnd launcher for * -runpath and it is also used for -distro. */ @Override public void loadPath(ResourceBuilder system, String path, String what) throws Exception { if (project != null) { List<Container> containers = Container.flatten(project.getBundles(Strategy.HIGHEST, path, what)); for (Container c : containers) { Manifest manifest = c.getManifest(); if (manifest != null) { ResourceBuilder rb = new ResourceBuilder(); rb.addManifest(Domain.domain(manifest)); addSystemResource(system, rb.build()); } } } else { super.loadPath(system, path, what); } }