diff --git a/bnd.karaf.demo/.classpath b/bnd.karaf.demo/.classpath new file mode 100644 index 0000000..023968b --- /dev/null +++ b/bnd.karaf.demo/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/bnd.karaf.demo/.project b/bnd.karaf.demo/.project new file mode 100644 index 0000000..a617c44 --- /dev/null +++ b/bnd.karaf.demo/.project @@ -0,0 +1,23 @@ + + + bnd.karaf.demo + + + + + + org.eclipse.jdt.core.javabuilder + + + + + bndtools.core.bndbuilder + + + + + + org.eclipse.jdt.core.javanature + bndtools.core.bndnature + + diff --git a/bnd.karaf.demo/.settings/org.eclipse.jdt.core.prefs b/bnd.karaf.demo/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..8000cd6 --- /dev/null +++ b/bnd.karaf.demo/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/bnd.karaf.demo/bnd.bnd b/bnd.karaf.demo/bnd.bnd new file mode 100644 index 0000000..d19ea21 --- /dev/null +++ b/bnd.karaf.demo/bnd.bnd @@ -0,0 +1,6 @@ +-runproperties: karaf.home=/Users/developer/Downloads/apache-karaf-2.2.6 +-runpath: bnd.karaf.launcher;version=1.0.0 +Private-Package: demo +-buildpath: osgi.core;version=4.2.0.200908310645 +Bundle-Activator: demo.Activator +-runfw: org.eclipse.osgi;version='[3.6.2.R36x_v20110210,3.6.2.R36x_v20110210]' \ No newline at end of file diff --git a/bnd.karaf.demo/build.xml b/bnd.karaf.demo/build.xml new file mode 100644 index 0000000..23063e2 --- /dev/null +++ b/bnd.karaf.demo/build.xml @@ -0,0 +1,4 @@ + + + + diff --git a/bnd.karaf.demo/src/demo/Activator.java b/bnd.karaf.demo/src/demo/Activator.java new file mode 100644 index 0000000..961f13c --- /dev/null +++ b/bnd.karaf.demo/src/demo/Activator.java @@ -0,0 +1,18 @@ +package demo; + +import org.osgi.framework.BundleActivator; +import org.osgi.framework.BundleContext; + +public class Activator implements BundleActivator { + + @Override + public void start(BundleContext context) throws Exception { + System.out.println("Start Demo Bundle."); + } + + @Override + public void stop(BundleContext context) throws Exception { + System.out.println("Stop Demo Bundle."); + } + +} diff --git a/bnd.karaf.launcher/.classpath b/bnd.karaf.launcher/.classpath new file mode 100644 index 0000000..023968b --- /dev/null +++ b/bnd.karaf.launcher/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/bnd.karaf.launcher/.project b/bnd.karaf.launcher/.project new file mode 100644 index 0000000..0738e1e --- /dev/null +++ b/bnd.karaf.launcher/.project @@ -0,0 +1,23 @@ + + + bnd.karaf.launcher + + + + + + org.eclipse.jdt.core.javabuilder + + + + + bndtools.core.bndbuilder + + + + + + org.eclipse.jdt.core.javanature + bndtools.core.bndnature + + diff --git a/bnd.karaf.launcher/.settings/org.eclipse.jdt.core.prefs b/bnd.karaf.launcher/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..8000cd6 --- /dev/null +++ b/bnd.karaf.launcher/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/bnd.karaf.launcher/bnd.bnd b/bnd.karaf.launcher/bnd.bnd new file mode 100644 index 0000000..1b27217 --- /dev/null +++ b/bnd.karaf.launcher/bnd.bnd @@ -0,0 +1,8 @@ +Bundle-SymbolicName: bnd.karaf.launcher +Bundle-Version: 1.0.1 +Launcher-Plugin: bnd.karaf.launcher.plugin.KarafProjectLauncher +-buildpath: biz.aQute.bndlib;version=1.51.0,\ + org.apache.karaf.main;version=2.2.6 +Private-Package: bnd.karaf.launcher.plugin,\ + bnd.karaf.launcher,\ + org.apache.karaf.main \ No newline at end of file diff --git a/bnd.karaf.launcher/build.xml b/bnd.karaf.launcher/build.xml new file mode 100644 index 0000000..23063e2 --- /dev/null +++ b/bnd.karaf.launcher/build.xml @@ -0,0 +1,4 @@ + + + + diff --git a/bnd.karaf.launcher/src/bnd/karaf/launcher/Launcher.java b/bnd.karaf.launcher/src/bnd/karaf/launcher/Launcher.java new file mode 100644 index 0000000..d2678b6 --- /dev/null +++ b/bnd.karaf.launcher/src/bnd/karaf/launcher/Launcher.java @@ -0,0 +1,789 @@ +package bnd.karaf.launcher; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.PrintStream; +import java.lang.reflect.InvocationTargetException; +import java.net.URL; +import java.security.AllPermission; +import java.security.CodeSource; +import java.security.Permission; +import java.security.PermissionCollection; +import java.security.Policy; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.Hashtable; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.StringTokenizer; +import java.util.Timer; +import java.util.TimerTask; +import java.util.Vector; + +import org.apache.karaf.main.Main; +import org.osgi.framework.Bundle; +import org.osgi.framework.BundleActivator; +import org.osgi.framework.BundleContext; +import org.osgi.framework.BundleException; +import org.osgi.framework.FrameworkEvent; +import org.osgi.framework.ServiceEvent; +import org.osgi.framework.ServiceListener; +import org.osgi.framework.ServiceReference; +import org.osgi.framework.launch.Framework; +import org.osgi.service.packageadmin.PackageAdmin; + +public class Launcher implements ServiceListener { + + private PrintStream out; + private LauncherProperties parms; + private Framework systemBundle; + private final Properties properties; + private boolean security; + private Runnable mainThread; + private PackageAdmin padmin; + private static File propertiesFile; + private final Timer timer = new Timer(); + private final List embedded = new ArrayList(); + private TimerTask watchdog = null; + private final Map errors = new HashMap(); + private final Map installedBundles = new LinkedHashMap(); + + public static void main(String[] args) { + try { + String path = System + .getProperty(LauncherConstants.LAUNCHER_PROPERTIES); + assert path != null; + propertiesFile = new File(path).getAbsoluteFile(); + propertiesFile.deleteOnExit(); + FileInputStream in = new FileInputStream(propertiesFile); + Properties properties = new Properties(); + try { + properties.load(in); + } finally { + in.close(); + } + Launcher target = new Launcher(properties); + target.run(args); + } catch (Throwable t) { + // Last resort ... errors should be handled lower + t.printStackTrace(System.err); + } + } + + public Launcher(Properties properties) throws Exception { + this.properties = properties; + System.getProperties().putAll(properties); + this.parms = new LauncherProperties(properties); + + out = System.err; + trace("inited runbundles=%s activators=%s timeout=%s", + parms.runbundles, parms.activators, parms.timeout); + watchdog = new TimerTask() { + long begin = propertiesFile.lastModified(); + + public void run() { + if (begin < propertiesFile.lastModified()) { + try { + FileInputStream in = new FileInputStream(propertiesFile); + Properties properties = new Properties(); + try { + properties.load(in); + } finally { + in.close(); + } + parms = new LauncherProperties(properties); + update(); + } catch (Exception e) { + error("Error in updating the framework from the properties: %s", + e); + } + begin = propertiesFile.lastModified(); + } + } + }; + timer.scheduleAtFixedRate(watchdog, 5000, 1000); + } + + private void run(String args[]) throws Throwable { + try { + int status = activate(); + if (status != 0) { + report(out); + System.exit(status); + } + + trace("framework=" + systemBundle); + + // Register the command line with ourselves as the + // service. + if (parms.services) { // Does not work for our dummy framework + Hashtable argprops = new Hashtable(); + argprops.put(LauncherConstants.LAUNCHER_ARGUMENTS, args); + argprops.put(LauncherConstants.LAUNCHER_READY, "true"); + systemBundle.getBundleContext().registerService( + Launcher.class.getName(), this, argprops); + trace("registered launcher with arguments for syncing"); + } + + // Wait until a Runnable is registered with main.thread=true. + // not that this will never happen when we're running on the mini fw + // but the test case normally exits. + synchronized (this) { + while (mainThread == null) { + trace("will wait for a registered Runnable"); + wait(); + } + } + trace("Will run %s as main thread", mainThread); + mainThread.run(); + } catch (Throwable e) { + error("Unexpected error in the run body: %s", e); + throw e; + } finally { + systemBundle.stop(); + trace("stopped system bundle due to leaving run body"); + } + } + + private List split(String value, String separator) { + List list = new ArrayList(); + if (value == null) + return list; + + StringTokenizer st = new StringTokenizer(value, separator); + while (st.hasMoreTokens()) + list.add(st.nextToken()); + + return list; + } + + public int activate() throws Exception { + Policy.setPolicy(new AllPolicy()); + + systemBundle = createFramework(); + if (systemBundle == null) + return LauncherConstants.ERROR; + + doTimeoutHandler(); + + // Initialize this framework so it becomes STARTING + systemBundle.start(); + trace("system bundle started ok"); + + BundleContext systemContext = systemBundle.getBundleContext(); + ServiceReference ref = systemContext + .getServiceReference(PackageAdmin.class.getName()); + if (ref != null) { + padmin = (PackageAdmin) systemContext.getService(ref); + } else + trace("could not get package admin"); + + systemContext.addServiceListener(this, + "(&(objectclass=java.lang.Runnable)(main.thread=true))"); + + update(); + + if (parms.trace) { + report(out); + } + + // Start embedded activators + trace("start embedded activators"); + if (parms.activators != null) { + ClassLoader loader = getClass().getClassLoader(); + for (Object token : parms.activators) { + try { + Class clazz = loader.loadClass((String) token); + BundleActivator activator = (BundleActivator) clazz + .newInstance(); + embedded.add(activator); + trace("adding activator %s", activator); + } catch (Exception e) { + throw new IllegalArgumentException( + "Embedded Bundle Activator incorrect: " + token + + ", " + e); + } + } + } + int result = LauncherConstants.OK; + for (BundleActivator activator : embedded) + try { + trace("starting activator %s", activator); + activator.start(systemContext); + } catch (Exception e) { + error("Starting activator %s : %s", activator, e); + result = LauncherConstants.ERROR; + } + + return result; + } + + /** + * @param systemContext + * @throws MalformedURLException + * @throws FileNotFoundException + * @throws IOException + */ + private void update() throws Exception { + trace("Updating framework with %s", parms.runbundles); + + // Turn the bundle location paths into files + List desired = new ArrayList(); + for (Object o : parms.runbundles) { + File file = new File((String) o).getAbsoluteFile(); + if (!file.exists()) + error("Bundle files does not exist: " + file); + else + desired.add(file); + } + + // deleted = old - new + List tobedeleted = new ArrayList(installedBundles.keySet()); + tobedeleted.removeAll(desired); + + // updated = old /\ new + List tobeupdated = new ArrayList(installedBundles.keySet()); + tobeupdated.retainAll(desired); + + // install = new - old + List tobeinstalled = new ArrayList(desired); + tobeinstalled.removeAll(installedBundles.keySet()); + + List tobestarted = new ArrayList(); + + for (File f : tobedeleted) + try { + trace("uninstalling %s", f); + installedBundles.get(f).uninstall(); + installedBundles.remove(f); + } catch (Exception e) { + error("Failed to uninstall bundle %s, exception %s", f, e); + } + + for (File f : tobeinstalled) + try { + trace("installing %s", f); + Bundle b = install(f); + installedBundles.put(f, b); + tobestarted.add(b); + } catch (Exception e) { + error("Failed to uninstall bundle %s, exception %s", f, e); + } + + for (File f : tobeupdated) + try { + Bundle b = installedBundles.get(f); + if (b.getLastModified() < f.lastModified()) { + trace("updating %s", f); + if (b.getState() == Bundle.ACTIVE) { + tobestarted.add(b); + b.stop(); + } + b.update(); + } else + trace("bundle is still current according to timestamp %s", + f); + } catch (Exception e) { + error("Failed to update bundle %s, exception %s", f, e); + } + + if (padmin != null) + padmin.refreshPackages(null); + + trace("bundles administered %s", installedBundles.keySet()); + + // From now on, the bundles are on their own. They have + // by default AllPermission, but if they install bundles + // they will not automatically get AllPermission anymore + + // Get the resolved status + if (padmin != null && padmin.resolveBundles(null) == false) { + error("could not resolve the bundles"); + // return LauncherConstants.RESOLVE_ERROR; + } + + // Now start all the installed bundles in the same order + // (unless they're a fragment) + + trace("Will start bundles: %s", tobestarted); + for (Bundle b : tobestarted) { + try { + trace("starting %s", b.getSymbolicName()); + if (!isFragment(b)) + b.start(Bundle.START_ACTIVATION_POLICY); + trace("started %s", b.getSymbolicName()); + } catch (BundleException e) { + error("Failed to start bundle %s-%s, exception %s", + b.getSymbolicName(), b.getVersion(), e); + } + } + + } + + Bundle install(File f) throws Exception { + BundleContext context = systemBundle.getBundleContext(); + try { + trace("will install %s with reference", f.getAbsolutePath()); + String reference = "reference:" + + f.toURI().toURL().toExternalForm(); + Bundle b = context.installBundle(reference); + if (b.getLastModified() < f.lastModified()) { + b.update(); + } + return b; + } catch (BundleException e) { + trace("failed reference, will try to install %s with input stream", + f.getAbsolutePath()); + String reference = f.toURI().toURL().toExternalForm(); + InputStream in = new FileInputStream(f); + try { + return context.installBundle(reference, in); + } finally { + in.close(); + } + } + } + + private void doTimeoutHandler() { + // Ensure we properly close in a separate thread so that + // we can leverage the main thread, which is required for macs + Thread wait = new Thread("FrameworkWaiter") { + public void run() { + try { + FrameworkEvent result = systemBundle + .waitForStop(parms.timeout); + trace("framework event " + result + " " + result.getType()); + Thread.sleep(1000); + switch (result.getType()) { + case FrameworkEvent.STOPPED: + System.exit(LauncherConstants.OK); + break; + case FrameworkEvent.WAIT_TIMEDOUT: + System.exit(LauncherConstants.TIMEDOUT); + break; + + case FrameworkEvent.ERROR: + System.exit(LauncherConstants.ERROR); + break; + + case FrameworkEvent.WARNING: + System.exit(LauncherConstants.WARNING); + break; + + case FrameworkEvent.STOPPED_BOOTCLASSPATH_MODIFIED: + case FrameworkEvent.STOPPED_UPDATE: + System.exit(LauncherConstants.UPDATE_NEEDED); + break; + } + } catch (InterruptedException e) { + System.exit(LauncherConstants.CANCELED); + } finally { + System.err.println("System exiting due to timeout of " + + parms.timeout); + } + } + }; + wait.start(); + } + + private boolean isFragment(Bundle b) { + return padmin != null + && padmin.getBundleType(b) == PackageAdmin.BUNDLE_TYPE_FRAGMENT; + } + + public void deactivate() throws Exception { + if (systemBundle != null) { + systemBundle.stop(); + systemBundle.waitForStop(parms.timeout); + } + } + + public void addSystemPackage(String packageName) { + parms.systemPackages = concat(parms.systemPackages, packageName); + } + + private String concat(String a, String b) { + if (a == null) + return b; + else if (b == null) + return a; + + return a + "," + b; + } + + private Framework createFramework() throws Exception { + String karafHomeFolder = parms.runProperties.get("karaf.home"); + if (karafHomeFolder == null) { + error("Karaf home folder is not set, " + + "please setup run property karaf.home " + + "to your Karaf installation folder."); + return null; + } + System.setProperty("karaf.home", karafHomeFolder); + System.setProperty("karaf.base", karafHomeFolder); + System.setProperty("karaf.data", karafHomeFolder + "/data"); + System.setProperty("karaf.history", karafHomeFolder + + "/data/history.txt"); + System.setProperty("karaf.instances", karafHomeFolder + "/instances"); + System.setProperty("karaf.startLocalConsole", "true"); + System.setProperty("karaf.startRemoteShell", "false"); + System.setProperty("karaf.lock", "false"); + Main main = new Main(new String[0]); + main.launch(); + + systemBundle = main.getFramework(); + return systemBundle; + } + + /** + * Try to get the stupid service interface ... + * + * @param loader + * @param string + * @return + * @throws IOException + */ + private List getMetaInfServices(ClassLoader loader, String factory) + throws IOException { + if (loader == null) + loader = getClass().getClassLoader(); + + Enumeration e = loader + .getResources("META-INF/services/" + factory); + List factories = new ArrayList(); + + while (e.hasMoreElements()) { + URL url = (URL) e.nextElement(); + trace("found META-INF/services in %s", url); + + InputStream in = url.openStream(); + try { + BufferedReader rdr = new BufferedReader(new InputStreamReader( + in, "UTF-8")); + String line; + while ((line = rdr.readLine()) != null) { + trace(line); + line = line.trim(); + if (!line.startsWith("#") && line.length() > 0) { + factories.add(line); + } + } + } finally { + in.close(); + } + } + return factories; + } + + public void addBundle(File resource) { + parms.runbundles.add(resource.getAbsolutePath()); + } + + private void delete(File f) { + String path = f.getAbsolutePath(); + char first = path.charAt(0); + if (path.equals("/") + || (first >= 'A' && first <= 'Z' && path.substring(1).equals( + ":\\"))) + throw new IllegalArgumentException( + "You can not make the root the storage area because it will be deleted"); + if (f.isDirectory()) { + File fs[] = f.listFiles(); + for (int i = 0; i < fs.length; i++) + delete(fs[i]); + } + f.delete(); + } + + public void report(PrintStream out) { + try { + out.println("------------------------------- REPORT --------------------------"); + out.println(); + row(out, "Framework", + systemBundle == null ? "<>" : systemBundle.getClass()); + row(out, "Framework type", parms.services ? "META-INF/services" + : "mini framework"); + row(out, "Storage", parms.storageDir); + row(out, "Keep", parms.keep); + row(out, "Security", security); + list(out, fill("Run bundles", 40), parms.runbundles); + list(out, + fill("Classpath", 40), + split(System.getProperty("java.class.path"), + File.pathSeparator)); + list(out, fill("System Packages", 40), + split(parms.systemPackages, ",")); + row(out, "Properties"); + for (java.util.Map.Entry entry : properties + .entrySet()) { + String key = (String) entry.getKey(); + String value = (String) entry.getValue(); + row(out, key, value); + } + if (systemBundle != null) { + BundleContext context = systemBundle.getBundleContext(); + if (context != null) { + Bundle bundles[] = context.getBundles(); + out.println(); + out.println("Id State Modified Location"); + + for (int i = 0; i < bundles.length; i++) { + String loc = bundles[i].getLocation(); + loc = loc.replaceAll("\\w+:", ""); + File f = new File(loc); + out.print(fill(Long.toString(bundles[i].getBundleId()), + 6)); + out.print(fill(toState(bundles[i].getState()), 6)); + if (f.exists()) + out.print(fill(toDate(f.lastModified()), 14)); + else + out.print(fill("<>", 14)); + + if (errors.containsKey(bundles[i])) { + out.print(fill(loc, 50)); + out.print(errors.get(bundles[i]).getMessage()); + } else + out.print(bundles[i].getLocation()); + + out.println(); + } + } + } + } catch (Throwable t) { + error("Sorry, can't print framework: %s", t); + } + } + + private void row(PrintStream out, Object... parms) { + boolean fill = true; + for (Object p : parms) { + if (fill) + out.print(fill(p.toString(), 40)); + else + out.print(p.toString()); + fill = false; + } + out.println(); + } + + String toDate(long t) { + Calendar c = Calendar.getInstance(); + c.setTimeInMillis(t); + return fill(c.get(Calendar.YEAR), 4) + fill(c.get(Calendar.MONTH), 2) + + fill(c.get(Calendar.DAY_OF_MONTH), 2) + + fill(c.get(Calendar.HOUR_OF_DAY), 2) + + fill(c.get(Calendar.MINUTE), 2); + } + + private String fill(int n, int width) { + return fill(Integer.toString(n), width, '0', -1); + } + + private String fill(String s, int width) { + return fill(s, width, ' ', -1); + } + + private String fill(String s, int width, char filler, int dir) { + StringBuffer sb = new StringBuffer(); + if (s.length() > width) { + int half = (width - 1) / 2; + return s.substring(0, half) + ".." + s.substring(s.length() - half); + } + width -= s.length(); + int before = (dir == 0) ? width / 2 : (dir < 0) ? 0 : width; + int after = width - before; + + while (before-- > 0) + sb.append(filler); + + sb.append(s); + + while (after-- > 0) + sb.append(filler); + + return sb.toString(); + } + + private String toState(int state) { + switch (state) { + case Bundle.INSTALLED: + return "INSTL"; + case Bundle.RESOLVED: + return "RSLVD"; + case Bundle.STARTING: + return "STRTD"; + case Bundle.STOPPING: + return "STPPD"; + case Bundle.ACTIVE: + return "ACTIV"; + case Bundle.UNINSTALLED: + return "UNNST"; + } + return "? " + state; + } + + private void list(PrintStream out, String del, List l) { + for (Object o : l) { + String s = o.toString(); + out.print(del); + out.println(s); + del = fill(" ", 40); + } + } + + public int translateToError(BundleException e) { + switch (e.getType()) { + case BundleException.ACTIVATOR_ERROR: + return LauncherConstants.ACTIVATOR_ERROR; + + case BundleException.DUPLICATE_BUNDLE_ERROR: + return LauncherConstants.DUPLICATE_BUNDLE; + + case BundleException.RESOLVE_ERROR: + return LauncherConstants.RESOLVE_ERROR; + + case BundleException.INVALID_OPERATION: + case BundleException.MANIFEST_ERROR: + case BundleException.NATIVECODE_ERROR: + case BundleException.STATECHANGE_ERROR: + case BundleException.UNSUPPORTED_OPERATION: + case BundleException.UNSPECIFIED: + default: + return LauncherConstants.ERROR; + } + } + + public String translateToMessage(BundleException e) { + switch (e.getType()) { + case BundleException.ACTIVATOR_ERROR: + Throwable t = e.getCause(); + StackTraceElement[] stackTrace = t.getStackTrace(); + if (stackTrace == null || stackTrace.length == 0) + return "activator error " + t.getMessage(); + StackTraceElement top = stackTrace[0]; + return "activator error " + t.getMessage() + " from: " + + top.getClassName() + ":" + top.getMethodName() + "#" + + top.getLineNumber(); + + case BundleException.DUPLICATE_BUNDLE_ERROR: + case BundleException.RESOLVE_ERROR: + case BundleException.INVALID_OPERATION: + case BundleException.MANIFEST_ERROR: + case BundleException.NATIVECODE_ERROR: + case BundleException.STATECHANGE_ERROR: + case BundleException.UNSUPPORTED_OPERATION: + case BundleException.UNSPECIFIED: + default: + return e.getMessage(); + } + } + + static PermissionCollection all = new AllPermissionCollection(); + + class AllPolicy extends Policy { + + public PermissionCollection getPermissions(CodeSource codesource) { + trace("Granting AllPermission to %s", codesource.getLocation()); + return all; + } + + public void refresh() { + trace("Policy refresh"); + } + } + + static class AllPermissionCollection extends PermissionCollection { + private static final long serialVersionUID = 1L; + private static Vector list = new Vector(); + + static { + list.add(new AllPermission()); + } + + { + setReadOnly(); + } + + public void add(Permission permission) { + } + + public Enumeration elements() { + return list.elements(); + } + + public boolean implies(Permission permission) { + return true; + } + } + + public synchronized void serviceChanged(ServiceEvent event) { + if (event.getType() == ServiceEvent.REGISTERED) { + mainThread = (Runnable) systemBundle.getBundleContext().getService( + event.getServiceReference()); + notifyAll(); + } + } + + public void trace(String msg, Object... objects) { + if (parms.trace) { + message("# ", msg, objects); + } + } + + private void message(String prefix, String string, Object[] objects) { + Throwable e = null; + + StringBuffer sb = new StringBuffer(); + int n = 0; + sb.append(prefix); + for (int i = 0; i < string.length(); i++) { + char c = string.charAt(i); + if (c == '%') { + c = string.charAt(++i); + switch (c) { + case 's': + if (n < objects.length) { + Object o = objects[n++]; + if (o instanceof Throwable) { + e = (Throwable) o; + if (o instanceof BundleException) { + sb.append(translateToMessage((BundleException) o)); + } else if (o instanceof InvocationTargetException) { + Throwable t = (InvocationTargetException) o; + sb.append(t.getMessage()); + e = t; + } else + sb.append(e.getMessage()); + } else { + sb.append(o); + } + } else + sb.append(""); + break; + + default: + sb.append(c); + } + } else { + sb.append(c); + } + } + out.println(sb); + if (e != null && parms.trace) + e.printStackTrace(out); + out.flush(); + } + + public void error(String msg, Object... objects) { + message("! ", msg, objects); + } + +} diff --git a/bnd.karaf.launcher/src/bnd/karaf/launcher/LauncherConstants.java b/bnd.karaf.launcher/src/bnd/karaf/launcher/LauncherConstants.java new file mode 100644 index 0000000..4220370 --- /dev/null +++ b/bnd.karaf.launcher/src/bnd/karaf/launcher/LauncherConstants.java @@ -0,0 +1,23 @@ +package bnd.karaf.launcher; + +public class LauncherConstants { + + public final static String LAUNCHER_PROPERTIES = "launcher.properties"; + public final static String LAUNCHER_ARGUMENTS = "launcher.arguments"; + public final static String LAUNCHER_READY = "launcher.ready"; + + // MUST BE ALIGNED WITH ProjectLauncher! Donot want to create coupling + // so cannot refer. + public final static int OK = 0; + public final static int ERROR = -2; + public final static int WARNING = -1; + public final static int TIMEDOUT = -3; + public final static int UPDATE_NEEDED = -4; + public final static int CANCELED = -5; + public final static int DUPLICATE_BUNDLE = -6; + public final static int RESOLVE_ERROR = -7; + public final static int ACTIVATOR_ERROR = -8; + // Start custom errors from here + public final static int CUSTOM_LAUNCHER = -128; + +} diff --git a/bnd.karaf.launcher/src/bnd/karaf/launcher/LauncherProperties.java b/bnd.karaf.launcher/src/bnd/karaf/launcher/LauncherProperties.java new file mode 100644 index 0000000..84cdc65 --- /dev/null +++ b/bnd.karaf.launcher/src/bnd/karaf/launcher/LauncherProperties.java @@ -0,0 +1,91 @@ +package bnd.karaf.launcher; + +import java.io.File; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.StringTokenizer; + +public class LauncherProperties { + + final static String LAUNCH_SERVICES = "launch.services"; + final static String LAUNCH_STORAGE_DIR = "launch.storage.dir"; + final static String LAUNCH_KEEP = "launch.keep"; + final static String LAUNCH_RUNBUNDLES = "launch.bundles"; + final static String LAUNCH_SYSTEMPACKAGES = "launch.system.packages"; + final static String LAUNCH_TRACE = "launch.trace"; + final static String LAUNCH_TIMEOUT = "launch.timeout"; + final static String LAUNCH_ACTIVATORS = "launch.activators"; + + public boolean services; + public File storageDir = new File(""); + public boolean keep; + public final List runbundles = new ArrayList(); + public String systemPackages; + public boolean trace; + public long timeout; + public final List activators = new ArrayList(); + public Map runProperties = new HashMap(); + + public LauncherProperties() {} + + public LauncherProperties(Properties settings) { + services = Boolean.valueOf(settings.getProperty(LAUNCH_SERVICES)); + storageDir = new File(settings.getProperty(LAUNCH_STORAGE_DIR)); + keep = Boolean.valueOf(settings.getProperty(LAUNCH_KEEP)); + runbundles.addAll(split(settings.getProperty(LAUNCH_RUNBUNDLES), ",")); + systemPackages = settings.getProperty(LAUNCH_SYSTEMPACKAGES); + trace = Boolean.valueOf(settings.getProperty(LAUNCH_TRACE)); + timeout = Long.parseLong(settings.getProperty(LAUNCH_TIMEOUT)); + activators.addAll(split(settings.getProperty(LAUNCH_ACTIVATORS), " ,")); + Map map = (Map) settings; + runProperties.putAll(map); + } + + public Properties getProperties() { + Properties p = new Properties(); + p.setProperty(LAUNCH_SERVICES, services + ""); + p.setProperty(LAUNCH_STORAGE_DIR, storageDir.getAbsolutePath()); + p.setProperty(LAUNCH_KEEP, keep + ""); + p.setProperty(LAUNCH_RUNBUNDLES, join(runbundles, ",")); + if (systemPackages != null) + p.setProperty(LAUNCH_SYSTEMPACKAGES, systemPackages + ""); + p.setProperty(LAUNCH_TRACE, trace + ""); + p.setProperty(LAUNCH_TIMEOUT, timeout + ""); + p.setProperty(LAUNCH_ACTIVATORS, join(activators, ",")); + + for (Map.Entry entry : runProperties.entrySet()) { + if (entry.getValue() == null) { + if (entry.getKey() != null) + p.remove(entry.getKey()); + } else { + p.put(entry.getKey(), entry.getValue()); + } + + } + return p; + } + + private static String join(List runbundles2, String string) { + StringBuffer sb = new StringBuffer(); + String del = ""; + for (Object r : runbundles2) { + sb.append(del); + sb.append(r); + del = string; + } + return sb.toString(); + } + + private Collection split(String property, String string) { + List result = new ArrayList(); + StringTokenizer st = new StringTokenizer(property, string); + while (st.hasMoreTokens()) { + result.add(st.nextToken()); + } + return result; + } +} diff --git a/bnd.karaf.launcher/src/bnd/karaf/launcher/plugin/KarafProjectLauncher.java b/bnd.karaf.launcher/src/bnd/karaf/launcher/plugin/KarafProjectLauncher.java new file mode 100644 index 0000000..946f8cc --- /dev/null +++ b/bnd.karaf.launcher/src/bnd/karaf/launcher/plugin/KarafProjectLauncher.java @@ -0,0 +1,89 @@ +package bnd.karaf.launcher.plugin; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.text.MessageFormat; +import java.util.Collection; + +import aQute.bnd.build.Project; +import aQute.bnd.build.ProjectLauncher; +import aQute.lib.osgi.Processor; +import bnd.karaf.launcher.LauncherConstants; +import bnd.karaf.launcher.LauncherProperties; + +public class KarafProjectLauncher extends ProjectLauncher { + + final private Project project; + final private File propertiesFile; + boolean isPrepared = false; + + public KarafProjectLauncher(Project project) throws Exception { + super(project); + this.project = project; + project.trace("created a Karaf launcher plugin"); + propertiesFile = File.createTempFile("launch", ".properties", project.getTarget()); + project.trace(MessageFormat.format( + "launcher plugin using temp launch file {0}", + propertiesFile.getAbsolutePath())); + addRunVM("-D" + LauncherConstants.LAUNCHER_PROPERTIES + "=" + propertiesFile.getAbsolutePath()); + } + + @Override + public String getMainTypeName() { + return "bnd.karaf.launcher.Launcher"; + } + + @Override + public void update() throws Exception { + updateFromProject(); + writeProperties(); + } + + @Override + public int launch() throws Exception { + prepare(); + return super.launch(); + } + + @Override + public void prepare() throws Exception { + if (isPrepared) + return; + writeProperties(); + isPrepared = true; + } + + void writeProperties() throws Exception { + LauncherProperties settings = getSettings(getRunBundles()); + OutputStream out = new FileOutputStream(propertiesFile); + try { + settings.getProperties().store(out, "Launching " + project); + } finally { + out.close(); + } + } + + private LauncherProperties getSettings(Collection runbundles) throws Exception, FileNotFoundException, IOException { + LauncherProperties properties = new LauncherProperties(); + properties.runProperties = getRunProperties(); + properties.storageDir = getStorageDir(); + properties.keep = isKeep(); + properties.runbundles.addAll(getRunBundles()); + properties.trace = getTrace(); + properties.timeout = getTimeout(); + properties.services = super.getRunFramework() == SERVICES ? true : false; + properties.activators.addAll(getActivators()); + if (!getSystemPackages().isEmpty()) { + try { + properties.systemPackages = Processor.printClauses(getSystemPackages()); + } catch (Throwable e) { + // ignore for now + } + } + return properties; + } + +} diff --git a/cnf/.classpath b/cnf/.classpath new file mode 100644 index 0000000..fb50116 --- /dev/null +++ b/cnf/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/cnf/.project b/cnf/.project new file mode 100644 index 0000000..0b71642 --- /dev/null +++ b/cnf/.project @@ -0,0 +1,17 @@ + + + cnf + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/cnf/build.bnd b/cnf/build.bnd new file mode 100644 index 0000000..d1d6485 --- /dev/null +++ b/cnf/build.bnd @@ -0,0 +1,8 @@ +# Place your specific settings here. + +# Default settings are in ext/*.bnd and they will be overridden by anything +# you specify in this file. + +# If you use git, you might want to uncomment the following lines: +#Git-Descriptor: ${system;git describe --dirty --always} +#Git-SHA: ${system;git rev-list -1 HEAD} diff --git a/cnf/build.xml b/cnf/build.xml new file mode 100644 index 0000000..61ae08d --- /dev/null +++ b/cnf/build.xml @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + verbose: ${verbose} + project.name: ${project.name} + Bundle-Version: ${Bundle-Version} + project.output: ${project.output} + project.sourcepath: ${project.sourcepath} + project.allsourcepath: ${project.allsourcepath} + project.buildpath: ${project.buildpath} + project.testpath: ${project.testpath} + project.dependson: ${project.dependson} + project.bootclasspath: ${project.bootclasspath} + javac: ${javac} + javac.debug: ${javac.debug} + javac.source: ${javac.source} + javac.target: ${javac.target} + p: ${p} + btool.manifestVersion: ${btool.manifestVersion} + btool.analyse: ${btool.analyse} + btool.showmanifest: ${btool.showmanifest} + btool.noversion: ${btool.noversion} + btool.sources: ${btool.sources} + btool.noextraheaders: ${btool.noextraheaders} + jars.compile.order: ${jars.compile.order} + bin.includes: ${bin.includes} + base.modfied: ${base.modified} (${base.modified.readable}) + target: ${target} + release.target: ${release.target} + licensed repo: ${licensed-repo} + repo: ${repo} + use.bnd: ${use.bnd} + nodeploy: ${nodeploy} + -dependson: ${-dependson} + + + + + + + + + diff --git a/cnf/ext/defaults.bnd b/cnf/ext/defaults.bnd new file mode 100644 index 0000000..4593c14 --- /dev/null +++ b/cnf/ext/defaults.bnd @@ -0,0 +1,29 @@ +# General Options +project.dependson = ${p-dependson;:} +project.bootclasspath = ${p-bootclasspath;:} +project.buildpath = ${p-buildpath;:} +project.sourcepath = ${p-sourcepath;:} +project.allsourcepath = ${p-allsourcepath;:} +project.output = ${p-output} +project.testpath = ${p-testpath;:} + +-verbose: true +project: ${basedir} +src: src +bin: bin +target-dir: generated +target: ${project}/${target-dir} +build: ${workspace}/cnf +p: ${basename;${project}} +project.name: ${p} + +# Java Compiler Options +java: java +javac: javac +javac.source: 1.5 +javac.target: 1.5 +javac.debug: on + +# Bnd Options +-sources: true +-sourcepath: ${project}/src diff --git a/cnf/ext/repositories.bnd b/cnf/ext/repositories.bnd new file mode 100644 index 0000000..514edc6 --- /dev/null +++ b/cnf/ext/repositories.bnd @@ -0,0 +1,6 @@ +repo: ${build}/repo + +-plugin: aQute.lib.deployer.obr.LocalOBR;name='Bundle Repository';local=${repo},\ + org.osgi.impl.bundle.bindex.BundleIndexerImpl;path:=${repo}/org.osgi.impl.bundle.bindex/org.osgi.impl.bundle.bindex-2.2.0.jar + +-releaserepo: Bundle Repository \ No newline at end of file diff --git a/cnf/repo/.obrcache/http%3A%2F%2Fbundles.bndtools.org.s3.amazonaws.com/repository.xml b/cnf/repo/.obrcache/http%3A%2F%2Fbundles.bndtools.org.s3.amazonaws.com/repository.xml new file mode 100644 index 0000000..4ef114a --- /dev/null +++ b/cnf/repo/.obrcache/http%3A%2F%2Fbundles.bndtools.org.s3.amazonaws.com/repository.xml @@ -0,0 +1,5038 @@ + + + + + + + A utility and plugin to wrap, build, print, or otherwise manipulate + bundles + + + 1149013 + + + http://www.opensource.org/licenses/apache2.0.php; description="All + files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt)."; link=LICENSE + + + All files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt). + + +

+

+

+

+ + +

+

+ + +

+

+ + +

+

+ + + Require Bundle org.eclipse.ui.ide; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.jface.text; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.ui.workbench.texteditor; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.ui.editors; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.ui; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.debug.ui; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.jdt.core; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.jdt.ui; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.core.runtime; [3.2.0,4.0.0) + + + Require Bundle org.eclipse.jdt.launching; [3.2.0,4.0.0) + + + Require Bundle org.eclipse.jdt.debug.ui; [3.2.0,4.0.0) + + + Require Bundle org.eclipse.jdt.junit; [3.2.0,4.0.0) + + + Require Bundle org.junit; 0.0.0 + + + Require Bundle org.eclipse.osgi.services; 0.0.0 + + + Require Bundle org.apache.ant; 0.0.0 + + + Require Bundle org.eclipse.ui.console; 0.0.0 + + + Import package javax.naming + + + Import package javax.xml.namespace + + + Import package javax.xml.parsers + + + Import package javax.xml.transform + + + Import package javax.xml.transform.dom + + + Import package javax.xml.transform.sax + + + Import package javax.xml.transform.stream + + + Import package javax.xml.xpath + + + Import package org.apache.tools.ant + + + Import package org.apache.tools.ant.types + + + Import package org.osgi.framework ;version=[1.5.0,2.0.0) + + + Import package org.osgi.service.bindex ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.packageadmin ;version=[1.2.0,2.0.0) + + + Import package org.w3c.dom + + + Import package org.xml.sax + + + Import package org.xml.sax.helpers + + + Execution Environment (|(ee=J2SE-1.5)) + + + + + A utility and plugin to wrap, build, print, or otherwise manipulate + bundles + + + 1163919 + + + http://www.opensource.org/licenses/apache2.0.php; description="All + files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt)."; link=LICENSE + + + All files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt). + + +

+

+

+

+ + +

+

+ + +

+

+ + +

+

+ + + Require Bundle org.eclipse.ui.ide; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.jface.text; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.ui.workbench.texteditor; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.ui.editors; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.ui; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.debug.ui; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.jdt.core; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.jdt.ui; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.core.runtime; [3.2.0,4.0.0) + + + Require Bundle org.eclipse.jdt.launching; [3.2.0,4.0.0) + + + Require Bundle org.eclipse.jdt.debug.ui; [3.2.0,4.0.0) + + + Require Bundle org.eclipse.jdt.junit; [3.2.0,4.0.0) + + + Require Bundle org.junit; 0.0.0 + + + Require Bundle org.eclipse.osgi.services; 0.0.0 + + + Require Bundle org.apache.ant; 0.0.0 + + + Require Bundle org.eclipse.ui.console; 0.0.0 + + + Import package javax.naming + + + Import package javax.xml.namespace + + + Import package javax.xml.parsers + + + Import package javax.xml.transform + + + Import package javax.xml.transform.dom + + + Import package javax.xml.transform.sax + + + Import package javax.xml.transform.stream + + + Import package javax.xml.xpath + + + Import package org.apache.tools.ant + + + Import package org.apache.tools.ant.types + + + Import package org.osgi.framework ;version=[1.5.0,2.0.0) + + + Import package org.osgi.service.bindex ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.packageadmin ;version=[1.2.0,2.0.0) + + + Import package org.w3c.dom + + + Import package org.xml.sax + + + Import package org.xml.sax.helpers + + + Execution Environment (|(ee=J2SE-1.5)) + + + + + A utility and plugin to wrap, build, print, or otherwise manipulate + bundles + + + 1194632 + + + http://www.opensource.org/licenses/apache2.0.php; description="All + files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt)."; link=LICENSE + + + All files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt). + + +

+

+

+

+ + +

+

+ + +

+

+ + +

+

+ + + Require Bundle org.eclipse.ui.ide; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.jface.text; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.ui.workbench.texteditor; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.ui.editors; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.ui; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.debug.ui; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.jdt.core; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.jdt.ui; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.core.runtime; [3.2.0,4.0.0) + + + Require Bundle org.eclipse.jdt.launching; [3.2.0,4.0.0) + + + Require Bundle org.eclipse.jdt.debug.ui; [3.2.0,4.0.0) + + + Require Bundle org.eclipse.jdt.junit; [3.2.0,4.0.0) + + + Require Bundle org.junit; 0.0.0 + + + Require Bundle org.eclipse.osgi.services; 0.0.0 + + + Require Bundle org.apache.ant; 0.0.0 + + + Require Bundle org.eclipse.ui.console; 0.0.0 + + + Import package javax.naming + + + Import package javax.xml.namespace + + + Import package javax.xml.parsers + + + Import package javax.xml.transform + + + Import package javax.xml.transform.dom + + + Import package javax.xml.transform.sax + + + Import package javax.xml.transform.stream + + + Import package javax.xml.xpath + + + Import package junit.framework ;version=[3.8.0,4.0.0) + + + Import package org.apache.tools.ant + + + Import package org.apache.tools.ant.types + + + Import package org.osgi.framework ;version=[1.5.0,2.0.0) + + + Import package org.osgi.service.bindex ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.component.annotations + + + Import package org.osgi.service.packageadmin ;version=[1.2.0,2.0.0) + + + Import package org.w3c.dom + + + Import package org.xml.sax + + + Import package org.xml.sax.helpers + + + Execution Environment (|(ee=J2SE-1.5)) + + + + + A utility and plugin to wrap, build, print, or otherwise manipulate + bundles + + + 1216987 + + + http://www.opensource.org/licenses/apache2.0.php; description="All + files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt)."; link=LICENSE + + + All files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt). + + +

+

+

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + + Require Bundle org.eclipse.ui.ide; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.jface.text; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.ui.workbench.texteditor; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.ui.editors; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.ui; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.debug.ui; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.jdt.core; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.jdt.ui; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.core.runtime; [3.2.0,4.0.0) + + + Require Bundle org.eclipse.jdt.launching; [3.2.0,4.0.0) + + + Require Bundle org.eclipse.jdt.debug.ui; [3.2.0,4.0.0) + + + Require Bundle org.eclipse.jdt.junit; [3.2.0,4.0.0) + + + Require Bundle org.junit; 0.0.0 + + + Require Bundle org.eclipse.osgi.services; 0.0.0 + + + Require Bundle org.apache.ant; 0.0.0 + + + Require Bundle org.eclipse.ui.console; 0.0.0 + + + Import package javax.naming + + + Import package javax.xml.namespace + + + Import package javax.xml.parsers + + + Import package javax.xml.transform + + + Import package javax.xml.transform.dom + + + Import package javax.xml.transform.sax + + + Import package javax.xml.transform.stream + + + Import package javax.xml.xpath + + + Import package junit.framework ;version=[3.8.0,4.0.0) + + + Import package org.apache.tools.ant + + + Import package org.apache.tools.ant.types + + + Import package org.osgi.framework ;version=[1.5.0,2.0.0) + + + Import package org.osgi.service.bindex ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.component.annotations + + + Import package org.osgi.service.packageadmin ;version=[1.2.0,2.0.0) + + + Import package org.w3c.dom + + + Import package org.xml.sax + + + Import package org.xml.sax.helpers + + + Execution Environment (|(ee=J2SE-1.5)) + + + + + A utility and plugin to wrap, build, print, or otherwise manipulate + bundles + + + 1219230 + + + http://www.opensource.org/licenses/apache2.0.php; description="All + files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt)."; link=LICENSE + + + All files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt). + + +

+

+

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + + Require Bundle org.eclipse.ui.ide; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.jface.text; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.ui.workbench.texteditor; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.ui.editors; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.ui; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.debug.ui; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.jdt.core; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.jdt.ui; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.core.runtime; [3.2.0,4.0.0) + + + Require Bundle org.eclipse.jdt.launching; [3.2.0,4.0.0) + + + Require Bundle org.eclipse.jdt.debug.ui; [3.2.0,4.0.0) + + + Require Bundle org.eclipse.jdt.junit; [3.2.0,4.0.0) + + + Require Bundle org.junit; 0.0.0 + + + Require Bundle org.eclipse.osgi.services; 0.0.0 + + + Require Bundle org.apache.ant; 0.0.0 + + + Require Bundle org.eclipse.ui.console; 0.0.0 + + + Import package javax.naming + + + Import package javax.xml.namespace + + + Import package javax.xml.parsers + + + Import package javax.xml.transform + + + Import package javax.xml.transform.dom + + + Import package javax.xml.transform.sax + + + Import package javax.xml.transform.stream + + + Import package javax.xml.xpath + + + Import package junit.framework ;version=[3.8.0,4.0.0) + + + Import package org.apache.tools.ant + + + Import package org.apache.tools.ant.types + + + Import package org.osgi.framework ;version=[1.5.0,2.0.0) + + + Import package org.osgi.service.bindex ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.component.annotations + + + Import package org.osgi.service.packageadmin ;version=[1.2.0,2.0.0) + + + Import package org.w3c.dom + + + Import package org.xml.sax + + + Import package org.xml.sax.helpers + + + Execution Environment (|(ee=J2SE-1.5)) + + + + + 1133121 + + + http://www.opensource.org/licenses/apache2.0.php; description="All + files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt)."; link=LICENSE + + + All files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt). + + +

+

+

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + + Import package org.apache.tools.ant + + + Import package javax.xml.transform + + + Import package javax.xml.transform.stream + + + Import package junit.framework ;version=[3.8.0,4.0.0) + + + Import package org.xml.sax + + + Import package javax.xml.transform.dom + + + Import package org.osgi.service.component.annotations ;version=[1.2.0,2.0.0) + + + Import package javax.xml.parsers + + + Import package org.apache.tools.ant.types + + + Import package javax.xml.namespace + + + Import package org.osgi.framework ;version=[1.5.0,2.0.0) + + + Import package javax.naming + + + Import package org.w3c.dom + + + Import package javax.xml.xpath + + + + + A utility and plugin to wrap, build, print, or otherwise manipulate + bundles + + + 1250653 + + + http://www.opensource.org/licenses/apache2.0.php; description="All + files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt)."; link=LICENSE + + + All files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt). + + +

+

+

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+

+ + + Require Bundle org.eclipse.ui.ide; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.jface.text; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.ui.workbench.texteditor; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.ui.editors; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.ui; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.debug.ui; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.jdt.core; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.jdt.ui; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.core.runtime; [3.2.0,4.0.0) + + + Require Bundle org.eclipse.jdt.launching; [3.2.0,4.0.0) + + + Require Bundle org.eclipse.jdt.debug.ui; [3.2.0,4.0.0) + + + Require Bundle org.eclipse.jdt.junit; [3.2.0,4.0.0) + + + Require Bundle org.junit; 0.0.0 + + + Require Bundle org.eclipse.osgi.services; 0.0.0 + + + Require Bundle org.apache.ant; 0.0.0 + + + Require Bundle org.eclipse.ui.console; 0.0.0 + + + Import package aQute.bnd.service.url + + + Import package javax.naming + + + Import package javax.xml.namespace + + + Import package javax.xml.parsers + + + Import package javax.xml.transform + + + Import package javax.xml.transform.dom + + + Import package javax.xml.transform.sax + + + Import package javax.xml.transform.stream + + + Import package javax.xml.xpath + + + Import package junit.framework ;version=[3.8.0,4.0.0) + + + Import package org.apache.tools.ant + + + Import package org.apache.tools.ant.types + + + Import package org.osgi.framework ;version=[1.5.0,2.0.0) + + + Import package org.osgi.service.bindex ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.component.annotations ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.coordinator ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.packageadmin ;version=[1.2.0,2.0.0) + + + Import package org.w3c.dom + + + Import package org.xml.sax + + + Import package org.xml.sax.helpers + + + Execution Environment (|(ee=J2SE-1.5)) + + + + + A utility and plugin to wrap, build, print, or otherwise manipulate + bundles + + + 1252727 + + + http://www.opensource.org/licenses/apache2.0.php; description="All + files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt)."; link=LICENSE + + + All files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt). + + +

+

+

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+

+ + + Require Bundle org.eclipse.ui.ide; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.jface.text; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.ui.workbench.texteditor; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.ui.editors; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.ui; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.debug.ui; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.jdt.core; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.jdt.ui; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.core.runtime; [3.2.0,4.0.0) + + + Require Bundle org.eclipse.jdt.launching; [3.2.0,4.0.0) + + + Require Bundle org.eclipse.jdt.debug.ui; [3.2.0,4.0.0) + + + Require Bundle org.eclipse.jdt.junit; [3.2.0,4.0.0) + + + Require Bundle org.junit; 0.0.0 + + + Require Bundle org.eclipse.osgi.services; 0.0.0 + + + Require Bundle org.apache.ant; 0.0.0 + + + Require Bundle org.eclipse.ui.console; 0.0.0 + + + Import package aQute.bnd.service.url + + + Import package javax.naming + + + Import package javax.xml.namespace + + + Import package javax.xml.parsers + + + Import package javax.xml.transform + + + Import package javax.xml.transform.dom + + + Import package javax.xml.transform.sax + + + Import package javax.xml.transform.stream + + + Import package javax.xml.xpath + + + Import package junit.framework ;version=[3.8.0,4.0.0) + + + Import package org.apache.tools.ant + + + Import package org.apache.tools.ant.types + + + Import package org.osgi.framework ;version=[1.5.0,2.0.0) + + + Import package org.osgi.service.bindex ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.component.annotations ;version=[1.2.0,2.0.0) + + + Import package org.osgi.service.coordinator ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.packageadmin ;version=[1.2.0,2.0.0) + + + Import package org.w3c.dom + + + Import package org.xml.sax + + + Import package org.xml.sax.helpers + + + Execution Environment (|(ee=J2SE-1.5)) + + + + + Contains only the annotations for bnd. + + + 29505 + + + http://www.opensource.org/licenses/apache2.0.php; description="All + files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt)."; link=LICENSE + + + http://www.aQute.biz/Code/Bnd + + + All files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt). + + +

+

+

+

+ + +

+

+ + +

+

+ + +

+

+ + + + + Contains only the annotations for bnd. + + + 35644 + + + http://www.opensource.org/licenses/apache2.0.php; description="All + files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt)."; link=LICENSE + + + http://www.aQute.biz/Code/Bnd + + + All files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt). + + +

+

+

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+

+ + + Import package aQute.libg.reporter ;version=[1.0.0,2.0.0) + + + Import package javax.xml.namespace + + + Import package javax.xml.parsers + + + Import package javax.xml.xpath + + + Import package junit.framework ;version=[3.8.0,4.0.0) + + + Import package org.w3c.dom + + + + + Contains only the annotations for bnd. + + + 29118 + + + http://www.opensource.org/licenses/apache2.0.php; description="All + files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt)."; link=LICENSE + + + http://www.aQute.biz/Code/Bnd + + + All files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt). + + +

+

+

+

+ + +

+

+ + +

+

+ + +

+

+ + + + + Contains only the annotations for bnd. + + + 29123 + + + http://www.opensource.org/licenses/apache2.0.php; description="All + files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt)."; link=LICENSE + + + http://www.aQute.biz/Code/Bnd + + + All files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt). + + +

+

+

+

+ + +

+

+ + +

+

+ + +

+

+ + + + + Contains only the annotations for bnd. + + + 35599 + + + http://www.opensource.org/licenses/apache2.0.php; description="All + files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt)."; link=LICENSE + + + http://www.aQute.biz/Code/Bnd + + + All files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt). + + +

+

+

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+

+ + + Import package aQute.libg.reporter ;version=[1.0.0,2.0.0) + + + Import package javax.xml.namespace + + + Import package javax.xml.parsers + + + Import package javax.xml.xpath + + + Import package junit.framework ;version=[3.8.0,4.0.0) + + + Import package org.w3c.dom + + + + + Contains only the annotations for bnd. + + + 35591 + + + http://www.opensource.org/licenses/apache2.0.php; description="All + files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt)."; link=LICENSE + + + http://www.aQute.biz/Code/Bnd + + + All files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt). + + +

+

+

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+

+ + + Import package aQute.libg.reporter ;version=[1.0.0,2.0.0) + + + Import package javax.xml.namespace + + + Import package javax.xml.parsers + + + Import package javax.xml.xpath + + + Import package junit.framework ;version=[3.8.0,4.0.0) + + + Import package org.w3c.dom + + + + + Contains only the annotations for bnd. + + + 35639 + + + http://www.opensource.org/licenses/apache2.0.php; description="All + files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt)."; link=LICENSE + + + http://www.aQute.biz/Code/Bnd + + + All files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt). + + +

+

+

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+

+ + + Import package aQute.libg.reporter ;version=[1.0.0,2.0.0) + + + Import package javax.xml.namespace + + + Import package javax.xml.parsers + + + Import package javax.xml.xpath + + + Import package junit.framework ;version=[3.8.0,4.0.0) + + + Import package org.w3c.dom + + + + + Contains only the annotations for bnd. + + + 35646 + + + http://www.opensource.org/licenses/apache2.0.php; description="All + files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt)."; link=LICENSE + + + http://www.aQute.biz/Code/Bnd + + + All files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt). + + +

+

+

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+

+ + + Import package aQute.libg.reporter ;version=[1.0.0,2.0.0) + + + Import package javax.xml.namespace + + + Import package javax.xml.parsers + + + Import package javax.xml.xpath + + + Import package junit.framework ;version=[3.8.0,4.0.0) + + + Import package org.w3c.dom + + + + + A Swiss Army Knife for OSGi + + + 823149 + + + http://www.opensource.org/licenses/apache2.0.php; description="Apache + Software License 2.0"; link=http://www.apache.org/licenses/LICENSE-2.0.html + + + http://www.aQute.biz/Code/Bnd + + + Copyright © aQute SARL (2000, 2011). All Rights Reserved. + + +

+

+

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+

+ + +

+

+ + +

+

+

+ + +

+

+ + + Import package javax.naming + + + Import package javax.xml.namespace + + + Import package javax.xml.parsers + + + Import package javax.xml.transform + + + Import package javax.xml.transform.sax + + + Import package javax.xml.transform.stream + + + Import package javax.xml.xpath + + + Import package org.osgi.service.bindex ;version=[1.0.0,2.0.0) + + + Import package org.w3c.dom + + + Import package org.xml.sax + + + Import package org.xml.sax.helpers + + + Execution Environment (|(ee=J2SE-1.5)) + + + + + 66752 + + + http://www.opensource.org/licenses/apache2.0.php; description="All + files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt)."; link=LICENSE + + + All files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt). + + +

+

+

+

+ + +

+

+ + + Import package junit.framework ;version=[3.8.0,4.0.0) + + + Import package org.osgi.framework ;version=[1.5.0,2.0.0) + + + Import package org.osgi.util.tracker ;version=[1.4.0,2.0.0) + + + + + 56678 + + + http://www.opensource.org/licenses/apache2.0.php; description="All + files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt)."; link=LICENSE + + + All files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt). + + +

+

+

+

+ + + Import package aQute.bnd.build ;version=[1.43.0,2.0.0) + + + Import package aQute.bnd.service ;version=[1.44.0,2.0.0) + + + Import package aQute.lib.io ;version=[1.0.0,2.0.0) + + + Import package aQute.lib.osgi ;version=[1.43.0,2.0.0) + + + Import package aQute.libg.generics ;version=[1.0.0,2.0.0) + + + Import package org.osgi.framework ;version=[1.5.0,2.0.0) + + + Import package org.osgi.framework.launch ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.packageadmin ;version=[1.2.0,2.0.0) + + + Import package org.osgi.service.permissionadmin ;version=[1.2.0,2.0.0) + + + + + 56027 + + + http://www.opensource.org/licenses/apache2.0.php; description="All + files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt)."; link=LICENSE + + + All files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt). + + +

+

+

+

+ + + Import package aQute.bnd.build ;version=[1.43.0,2.0.0) + + + Import package aQute.bnd.service ;version=[1.44.0,2.0.0) + + + Import package aQute.lib.io ;version=[1.0.0,2.0.0) + + + Import package aQute.lib.osgi ;version=[1.43.0,2.0.0) + + + Import package aQute.libg.generics ;version=[1.0.0,2.0.0) + + + Import package org.osgi.framework ;version=[1.5.0,2.0.0) + + + Import package org.osgi.framework.launch ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.packageadmin ;version=[1.2.0,2.0.0) + + + Import package org.osgi.service.permissionadmin ;version=[1.2.0,2.0.0) + + + + + 14079 + + + http://www.opensource.org/licenses/eclipse-1.0.php + + +

+

+

+

+ + + Import package org.eclipse.osgi.service.runnable ;version=[1.1.0,2.0.0) + + + Import package org.osgi.framework ;version=[1.5.0,2.0.0) + + + Import package org.osgi.util.tracker ;version=[1.4.0,2.0.0) + + + + + Logback: the reliable, generic, fast and flexible logging library + for Java. + + + 249827 + + + http://www.eclipse.org/legal/epl-v10.html, http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html + + + http://www.qos.ch + + +

+

+

+

+ + +

+

+

+ + +

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + + Import package ch.qos.logback.classic ;version=1.0.0 + + + Import package ch.qos.logback.classic.boolex ;version=1.0.0 + + + Import package ch.qos.logback.classic.db ;version=1.0.0 + + + Import package ch.qos.logback.classic.db.names ;version=1.0.0 + + + Import package ch.qos.logback.classic.encoder ;version=1.0.0 + + + Import package ch.qos.logback.classic.filter ;version=1.0.0 + + + Import package ch.qos.logback.classic.gaffer ;version=1.0.0 + + + Import package ch.qos.logback.classic.helpers ;version=1.0.0 + + + Import package ch.qos.logback.classic.html ;version=1.0.0 + + + Import package ch.qos.logback.classic.jmx ;version=1.0.0 + + + Import package ch.qos.logback.classic.joran ;version=1.0.0 + + + Import package ch.qos.logback.classic.joran.action ;version=1.0.0 + + + Import package ch.qos.logback.classic.jul ;version=1.0.0 + + + Import package ch.qos.logback.classic.log4j ;version=1.0.0 + + + Import package ch.qos.logback.classic.net ;version=1.0.0 + + + Import package ch.qos.logback.classic.pattern ;version=1.0.0 + + + Import package ch.qos.logback.classic.selector ;version=1.0.0 + + + Import package ch.qos.logback.classic.selector.servlet ;version=1.0.0 + + + Import package ch.qos.logback.classic.sift ;version=1.0.0 + + + Import package ch.qos.logback.classic.spi ;version=1.0.0 + + + Import package ch.qos.logback.classic.turbo ;version=1.0.0 + + + Import package ch.qos.logback.classic.util ;version=1.0.0 + + + Import package ch.qos.logback.core ;version=1.0.0 + + + Import package ch.qos.logback.core.boolex ;version=1.0.0 + + + Import package ch.qos.logback.core.db ;version=1.0.0 + + + Import package ch.qos.logback.core.encoder ;version=1.0.0 + + + Import package ch.qos.logback.core.filter ;version=1.0.0 + + + Import package ch.qos.logback.core.helpers ;version=1.0.0 + + + Import package ch.qos.logback.core.html ;version=1.0.0 + + + Import package ch.qos.logback.core.joran ;version=1.0.0 + + + Import package ch.qos.logback.core.joran.action ;version=1.0.0 + + + Import package ch.qos.logback.core.joran.conditional ;version=1.0.0 + + + Import package ch.qos.logback.core.joran.event ;version=1.0.0 + + + Import package ch.qos.logback.core.joran.spi ;version=1.0.0 + + + Import package ch.qos.logback.core.joran.util ;version=1.0.0 + + + Import package ch.qos.logback.core.net ;version=1.0.0 + + + Import package ch.qos.logback.core.pattern ;version=1.0.0 + + + Import package ch.qos.logback.core.pattern.parser ;version=1.0.0 + + + Import package ch.qos.logback.core.read ;version=1.0.0 + + + Import package ch.qos.logback.core.rolling ;version=1.0.0 + + + Import package ch.qos.logback.core.rolling.helper ;version=1.0.0 + + + Import package ch.qos.logback.core.sift ;version=1.0.0 + + + Import package ch.qos.logback.core.spi ;version=1.0.0 + + + Import package ch.qos.logback.core.status ;version=1.0.0 + + + Import package ch.qos.logback.core.util ;version=1.0.0 + + + Import package groovy.lang ;version=1.7.0 + + + Import package javax.jms + + + Import package javax.management + + + Import package javax.naming + + + Import package javax.servlet + + + Import package javax.servlet.http + + + Import package org.codehaus.groovy.control ;version=1.7.0 + + + Import package org.codehaus.groovy.reflection ;version=1.7.0 + + + Import package org.codehaus.groovy.runtime ;version=1.7.0 + + + Import package org.codehaus.groovy.runtime.callsite ;version=1.7.0 + + + Import package org.codehaus.groovy.runtime.typehandling ;version=1.7.0 + + + Import package org.slf4j ;version=1.6.0 + + + Import package org.slf4j.helpers ;version=1.6.0 + + + Import package org.slf4j.impl ;version=1.6.0 + + + Import package org.slf4j.spi ;version=1.6.0 + + + Import package org.xml.sax + + + Import package sun.reflect + + + Execution Environment (|(ee=J2SE-1.5)) + + + + + Logback: the generic, reliable, fast and flexible logging library + for Java. + + + 332750 + + + http://www.eclipse.org/legal/epl-v10.html, http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html + + + http://www.qos.ch + + +

+

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + + Import package ch.qos.logback.core ;version=1.0.0 + + + Import package ch.qos.logback.core.boolex ;version=1.0.0 + + + Import package ch.qos.logback.core.db ;version=1.0.0 + + + Import package ch.qos.logback.core.db.dialect ;version=1.0.0 + + + Import package ch.qos.logback.core.encoder ;version=1.0.0 + + + Import package ch.qos.logback.core.filter ;version=1.0.0 + + + Import package ch.qos.logback.core.helpers ;version=1.0.0 + + + Import package ch.qos.logback.core.html ;version=1.0.0 + + + Import package ch.qos.logback.core.joran ;version=1.0.0 + + + Import package ch.qos.logback.core.joran.action ;version=1.0.0 + + + Import package ch.qos.logback.core.joran.conditional ;version=1.0.0 + + + Import package ch.qos.logback.core.joran.event ;version=1.0.0 + + + Import package ch.qos.logback.core.joran.spi ;version=1.0.0 + + + Import package ch.qos.logback.core.joran.util ;version=1.0.0 + + + Import package ch.qos.logback.core.layout ;version=1.0.0 + + + Import package ch.qos.logback.core.net ;version=1.0.0 + + + Import package ch.qos.logback.core.pattern ;version=1.0.0 + + + Import package ch.qos.logback.core.pattern.parser ;version=1.0.0 + + + Import package ch.qos.logback.core.pattern.util ;version=1.0.0 + + + Import package ch.qos.logback.core.property ;version=1.0.0 + + + Import package ch.qos.logback.core.read ;version=1.0.0 + + + Import package ch.qos.logback.core.recovery ;version=1.0.0 + + + Import package ch.qos.logback.core.rolling ;version=1.0.0 + + + Import package ch.qos.logback.core.rolling.helper ;version=1.0.0 + + + Import package ch.qos.logback.core.sift ;version=1.0.0 + + + Import package ch.qos.logback.core.spi ;version=1.0.0 + + + Import package ch.qos.logback.core.status ;version=1.0.0 + + + Import package ch.qos.logback.core.util ;version=1.0.0 + + + Import package javax.mail + + + Import package javax.mail.internet + + + Import package javax.naming + + + Import package javax.servlet + + + Import package javax.servlet.http + + + Import package javax.sql + + + Import package javax.xml.parsers + + + Import package org.codehaus.janino + + + Import package org.xml.sax + + + Import package org.xml.sax.helpers + + + Execution Environment (|(ee=J2SE-1.5)) + + + + + 1675518 + + +

+

+

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+

+ + + Execution Environment (|(ee=J2SE-1.5)) + + + + + 226770 + + +

+

+

+

+ + +

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + + Execution Environment (|(ee=J2SE-1.4)) + + + + + 44173 + + +

+

+

+

+ + +

+

+ + +

+

+ + + + + 23108 + + +

+

+

+

+ + +

+

+

+ + + Import package org.objectweb.asm ;version=[3.1.0,3.1.0] + + + + + 118865 + + +

+

+

+

+ + +

+

+ + +

+

+ + +

+

+ + + Execution Environment (|(ee=CDC-1.1/Foundation-1.1)(ee=J2SE-1.4)) + + + + + 237988 + + +

+

+

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + + Require Bundle system.bundle; 0.0.0 + + + Execution Environment (|(ee=J2SE-1.2)) + + + + + 39698 + + +

+

+

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + + Require Bundle javax.xml; 0.0.0 + + + Require Bundle system.bundle; 0.0.0 + + + Execution Environment (|(ee=J2SE-1.4)) + + + + + 1192662 + + +

+

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + + Import package javax.crypto + + + Import package javax.crypto.spec + + + Import package javax.xml.datatype + + + Import package javax.xml.namespace + + + Import package javax.xml.parsers + + + Import package org.eclipse.core.resources + + + Import package org.eclipse.core.runtime + + + Import package org.eclipse.core.runtime.content + + + Import package org.eclipse.emf.common.notify + + + Import package org.eclipse.emf.common.util + + + Import package org.eclipse.emf.ecore + + + Import package org.eclipse.emf.ecore.impl + + + Import package org.eclipse.emf.ecore.plugin + + + Import package org.eclipse.emf.ecore.resource + + + Import package org.eclipse.emf.ecore.util + + + Import package org.eclipse.emf.ecore.xml.type.internal + + + Import package org.eclipse.emf.ecore.xml.type.util + + + Import package org.osgi.framework ;version=[1.6.0,2.0.0) + + + Import package org.xml.sax + + + Import package org.xml.sax.helpers + + + + + 208921 + + +

+

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + + Import package javax.xml.namespace + + + Import package javax.xml.parsers + + + Import package org.eclipse.emf.common + + + Import package org.eclipse.emf.common.notify + + + Import package org.eclipse.emf.common.util + + + Import package org.eclipse.emf.ecore + + + Import package org.eclipse.emf.ecore.impl + + + Import package org.eclipse.emf.ecore.resource + + + Import package org.eclipse.emf.ecore.resource.impl + + + Import package org.eclipse.emf.ecore.util + + + Import package org.eclipse.emf.ecore.xml.namespace + + + Import package org.eclipse.emf.ecore.xml.type + + + Import package org.eclipse.emf.ecore.xml.type.internal + + + Import package org.eclipse.emf.ecore.xml.type.util + + + Import package org.w3c.dom + + + Import package org.xml.sax + + + Import package org.xml.sax.ext + + + Import package org.xml.sax.helpers + + + + + Bundle repository service. + + + 173372 + + + http://www.apache.org/licenses/LICENSE-2.0.txt + + + http://felix.apache.org/site/apache-felix-osgi-bundle-repository.html + + + http://felix.apache.org/site/downloads.cgi + + +

+ + +

+ + +

+

+

+

+ + +

+

+

+ + + Import package javax.xml.stream + + + Import package org.apache.felix.bundlerepository ;version=[2.0.0,3.0.0) + + + Import package org.osgi.framework ;version=[1.4.0,2.0.0) + + + Import package org.osgi.service.log ;version=[1.3.0,2.0.0) + + + Import package org.osgi.service.obr ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.url ;version=[1.0.0,2.0.0) + + + + + Bundle repository service. + + + 230135 + + + http://www.apache.org/licenses/LICENSE-2.0.txt + + + http://felix.apache.org/site/apache-felix-osgi-bundle-repository.html + + + http://felix.apache.org/site/downloads.cgi + + +

+ + +

+ + +

+

+

+

+ + +

+

+

+ + + Import package javax.xml.stream + + + Import package org.apache.felix.bundlerepository ;version=[2.0.0,3.0.0) + + + Import package org.osgi.framework ;version=[1.3.0,2.0.0) + + + Import package org.osgi.service.log ;version=[1.3.0,2.0.0) + + + Import package org.osgi.service.obr ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.url ;version=[1.0.0,2.0.0) + + + + + Implementation of the OSGi Configuration Admin Service Specification + 1.2 + + + 94688 + + + http://www.apache.org/licenses/LICENSE-2.0.txt + + + http://www.apache.org/ + + + +

+

+

+

+ + +

+

+ + +

+

+

+ + +

+

+

+ + + Import package org.apache.felix.cm ;version=[1.0.0,1.1.0) + + + Import package org.apache.felix.cm.file ;version=[1.0.0,1.1.0) + + + Import package org.osgi.framework ;version=1.3.0 + + + Import package org.osgi.service.cm ;version=[1.3.0,1.4.0) + + + + + A utility to automatically install bundles from a directory. + + + 71899 + + + http://www.apache.org/licenses/LICENSE-2.0.txt + + + http://www.apache.org/ + + +

+

+

+

+ + +

+

+ + + Import package org.apache.felix.fileinstall ;version=[3.1.0,4.0.0) + + + Import package org.osgi.framework ;version=[1.4.0,2.0.0) + + + Import package org.osgi.service.cm ;version=[1.3.0,2.0.0) + + + Import package org.osgi.service.log ;version=[1.3.0,2.0.0) + + + Import package org.osgi.service.packageadmin ;version=[1.2.0,2.0.0) + + + Import package org.osgi.service.startlevel ;version=[1.1.0,2.0.0) + + + Import package org.osgi.service.url ;version=[1.0.0,2.0.0) + + + Import package org.osgi.util.tracker ;version=[1.4.0,2.0.0) + + + + + Provides basic shell commands for Gogo. + + + 51746 + + + http://www.apache.org/licenses/LICENSE-2.0.txt + + + http://www.apache.org/ + + +

+

+

+

+ + +

+

+

+ + + Import package org.apache.felix.service.command ;version=[0.10.0,1.0.0) + + + Import package org.osgi.framework ;version=[1.5.0,2.0.0) + + + Import package org.osgi.framework.wiring ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.log ;version=[1.3.0,2.0.0) + + + Import package org.osgi.service.packageadmin ;version=[1.2.0,2.0.0) + + + Import package org.osgi.service.startlevel ;version=[1.1.0,2.0.0) + + + Import package org.osgi.util.tracker ;version=[1.3.0,2.0.0) + + + + + Apache Felix Gogo Subproject + + + 66965 + + + http://www.apache.org/licenses/LICENSE-2.0.txt + + + http://www.apache.org/ + + +

+

+

+

+ + +

+

+

+

+ + +

+

+

+ + +

+

+

+

+ + + Import package org.apache.felix.gogo.api ;version=0.10.0 + + + Import package org.apache.felix.service.command ;version=0.10.0 + + + Import package org.apache.felix.service.threadio ;version=0.10.0 + + + Import package org.osgi.framework + + + Import package org.osgi.service.event + + + Import package org.osgi.util.tracker + + + + + Apache Felix Gogo Subproject + + + 49004 + + + http://www.apache.org/licenses/LICENSE-2.0.txt + + + http://www.apache.org/ + + +

+

+

+

+ + + Import package org.apache.felix.service.command ;version=0.10.0 + + + Import package org.osgi.framework + + + Import package org.osgi.service.startlevel + + + Import package org.osgi.util.tracker + + + + + Apache Felix is an OSGi implementation. + + + 941716 + + + http://www.apache.org/licenses/LICENSE-2.0.txt + + + http://www.apache.org/ + + +

+

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+

+ + + Import package javax.net.ssl + + + Import package javax.security.cert + + + Import package javax.servlet ;version=2.5.0 + + + Import package javax.servlet.http ;version=2.5.0 + + + Import package javax.servlet.jsp.resources ;version=2.5.0 + + + Import package javax.servlet.resources ;version=2.5.0 + + + Import package javax.xml.parsers + + + Import package org.apache.felix.http.api ;version=2.0.0 + + + Import package org.osgi.framework ;version=1.3.0 + + + Import package org.osgi.service.http ;version=1.2.0 + + + Import package org.osgi.service.log ;version=1.3.0 + + + Import package org.osgi.util.tracker ;version=1.3.0 + + + Import package org.slf4j + + + Import package org.xml.sax + + + Import package org.xml.sax.helpers + + + + + A simple implementation of the OSGi R4 Log service. + + + 22243 + + + http://www.apache.org/licenses/LICENSE-2.0.txt + + + http://www.apache.org/ + + +

+ + +

+ + +

+

+

+

+ + +

+

+

+ + + Import package org.osgi.framework ;version=[1.4.0,2.0.0) + + + Import package org.osgi.service.log ;version=[1.3.0,2.0.0) + + + + + Implementation of the OSGi Metatype Service Specification 1.1 + + + 93990 + + + http://www.apache.org/licenses/LICENSE-2.0.txt + + + http://felix.apache.org/site/apache-felix-metatype-service.html + + + +

+

+

+

+ + +

+

+

+ + +

+

+

+ + + Import package org.apache.felix.metatype ;version=1.0.0 + + + Import package org.osgi.framework ;version=1.3.0 + + + Import package org.osgi.service.log ;version=1.3.0 + + + Import package org.osgi.service.metatype ;version=1.1.0 + + + + + Implementation of the Declarative Services specification 1.1 + + + 192368 + + + http://www.apache.org/licenses/LICENSE-2.0.txt + + + http://felix.apache.org/site/apache-felix-service-component-runtime.html + + +

+

+

+

+ + +

+

+

+ + +

+

+

+ + + Import package org.apache.felix.shell ;version=1.0.0 + + + Import package org.osgi.framework ;version=[1.4.0,2.0.0) + + + Import package org.osgi.service.cm ;version=[1.2.0,2.0.0) + + + Import package org.osgi.service.component ;version=[1.1.0,1.2.0) + + + Import package org.osgi.service.log ;version=[1.3.0,2.0.0) + + + Import package org.osgi.service.metatype ;version=[1.1.0,2.0.0) + + + Import package org.osgi.service.packageadmin ;version=[1.2.0,2.0.0) + + + + + A simple OSGi command shell service. + + + 62727 + + + http://www.apache.org/licenses/LICENSE-2.0.txt + + + http://www.apache.org/ + + +

+ + +

+ + +

+

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + + Import Service org.osgi.service.startlevel.StartLevel + + + Import Service org.osgi.service.packageadmin.PackageAdmin + + + Import package org.apache.felix.shell ;version=1.0.0 + + + Import package org.osgi.framework ;version=1.4.0 + + + Import package org.osgi.service.log ;version=1.3.0 + + + Import package org.osgi.service.packageadmin ;version=1.2.0 + + + Import package org.osgi.service.startlevel ;version=1.1.0 + + + Import package org.ungoverned.osgi.service.shell ;version=1.0.0 + + + + + A simple textual user interface for Felix' shell service. + + + 12748 + + + http://www.apache.org/licenses/LICENSE-2.0.txt + + + http://felix.apache.org/site/apache-felix-shell-tui.html + + +

+

+

+

+ + + Import Service org.apache.felix.shell.ShellService + + + Import package org.apache.felix.shell ;version=1.0.0 + + + Import package org.osgi.framework ;version=1.3.0 + + + + + Web Based Management Console for OSGi Frameworks. See + http://felix.apache.org/site/apache-felix-web-console.html + for more information on this bundle. + + + 637792 + + + http://www.apache.org/licenses/LICENSE-2.0.txt + + + http://felix.apache.org/site/apache-felix-web-console.html + + +

+

+

+

+ + +

+

+

+ + + Import package javax.portlet + + + Import package javax.servlet ;version=2.4.0 + + + Import package javax.servlet.http ;version=2.4.0 + + + Import package org.apache.felix.scr ;version=1.0.0 + + + Import package org.apache.felix.shell + + + Import package org.apache.felix.webconsole ;version=3.1.2 + + + Import package org.osgi.framework + + + Import package org.osgi.service.cm + + + Import package org.osgi.service.condpermadmin + + + Import package org.osgi.service.deploymentadmin + + + Import package org.osgi.service.http + + + Import package org.osgi.service.log + + + Import package org.osgi.service.metatype + + + Import package org.osgi.service.packageadmin + + + Import package org.osgi.service.permissionadmin + + + Import package org.osgi.service.prefs + + + Import package org.osgi.service.startlevel + + + Import package org.osgi.service.wireadmin + + + + + EasyMock provides an easy way to create Mock Objects for interfaces + and classes generating them on the fly + + + 210829 + + + http://www.apache.org/licenses/LICENSE-2.0.txt + + +

+

+

+

+ + +

+

+

+

+

+ + +

+

+

+

+

+ + +

+

+

+ + + Import package net.sf.cglib.core + + + Import package net.sf.cglib.proxy + + + Import package net.sf.cglib.reflect + + + Import package org.easymock ;version=3.0.0 + + + Import package org.easymock.internal ;version=3.0.0 + + + Import package org.objenesis ;version=1.2.0 + + + + + 113255 + + +

+

+

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + + Import package org.osgi.framework + + + Import package org.osgi.util.tracker + + + Import package org.eclipse.osgi.framework.log + + + Import package org.eclipse.osgi.service.datalocation + + + Import package org.eclipse.osgi.service.debug + + + Import package org.eclipse.osgi.service.environment + + + Import package org.eclipse.osgi.service.localization + + + Import package org.eclipse.osgi.service.runnable + + + Import package org.eclipse.osgi.service.urlconversion + + + Import package org.eclipse.osgi.storagemanager + + + Import package org.eclipse.osgi.util + + + Execution Environment (|(ee=J2SE-1.4)(ee=CDC-1.0/Foundation-1.0)(ee=J2SE-1.3)) + + + + + 1394520 + + +

+

+

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + + Require Bundle com.jcraft.jsch; [0.1.37,0.2.0) + + + Execution Environment (|(ee=J2SE-1.5)) + + + + + 1439455 + + +

+

+

+

+ + +

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+ + +

+

+

+ + +

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+ + + Import package COM.jrockit.reflect + + + Import package jrockit.vm + + + Import package junit.framework + + + Import package org.apache.tools.ant + + + Import package org.apache.tools.ant.types + + + Import package org.hamcrest ;version=[1.0.0,2.0.0) + + + Import package org.junit + + + Import package org.junit.internal.runners + + + Import package org.junit.runner + + + Import package org.junit.runner.manipulation + + + Import package org.junit.runner.notification + + + Import package org.junit.runners + + + Import package org.junit.runners.model + + + Import package org.mockito ;version=[1.8.0,2.0.0) + + + Import package org.mockito.configuration ;version=[1.8.0,2.0.0) + + + Import package org.mockito.exceptions ;version=[1.8.0,2.0.0) + + + Import package org.mockito.exceptions.base ;version=[1.8.0,2.0.0) + + + Import package org.mockito.exceptions.misusing ;version=[1.8.0,2.0.0) + + + Import package org.mockito.exceptions.verification ;version=[1.8.0,2.0.0) + + + Import package org.mockito.exceptions.verification.junit ;version=[1.8.0,2.0.0) + + + Import package org.mockito.invocation ;version=[1.8.0,2.0.0) + + + Import package org.mockito.runners ;version=[1.8.0,2.0.0) + + + Import package org.mockito.stubbing ;version=[1.8.0,2.0.0) + + + Import package org.mockito.stubbing.answers ;version=[1.8.0,2.0.0) + + + Import package org.mockito.verification ;version=[1.8.0,2.0.0) + + + Import package org.objenesis ;version=[1.0.0,2.0.0) + + + Import package sun.reflect + + + + + Provides a command line utility to index a set of bundles. + This code can be run from the command line. + + + 154617 + + + http://www.apache.org/licenses/LICENSE-2.0;description="This + material is licensed under the Apache Software License, Version + 2.0"; link="http://www.apache.org/licenses/LICENSE-2.0" + + + (c) Copyright OSGi Alliance, contains licensed code from kXML + + +

+

+

+

+ + +

+

+ + + Import package org.apache.tools.ant + + + Import package org.apache.tools.ant.types + + + Import package org.osgi.service.bindex ;version=[1.0.0,2.0.0) + + + + + OSGi Service Platform Release 4 Version 4.2, Compendium Interfaces + and Classes for use in compiling bundles. + + + 659655 + + + http://opensource.org/licenses/apache2.0.php; link="http://www.apache.org/licenses/LICENSE-2.0"; + description="Apache License, Version 2.0" + + + Copyright (c) OSGi Alliance (2000, 2010). All Rights Reserved. + + +

+

+

+

+ + +

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+

+ + +

+

+ + +

+

+

+ + +

+

+

+ + +

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + + Import package info.dmtree ;version=[1.0.0,2.0.0) + + + Import package info.dmtree.notification ;version=[1.0.0,2.0.0) + + + Import package info.dmtree.notification.spi ;version=[1.0.0,2.0.0) + + + Import package info.dmtree.registry ;version=[1.0.0,2.0.0) + + + Import package info.dmtree.security ;version=[1.0.0,2.0.0) + + + Import package info.dmtree.spi ;version=[1.0.0,2.0.0) + + + Import package javax.microedition.io + + + Import package javax.servlet + + + Import package javax.servlet.http + + + Import package javax.xml.parsers + + + Import package org.osgi.application ;version=[1.0.0,2.0.0) + + + Import package org.osgi.framework ;version=[1.5.0,2.0.0) + + + Import package org.osgi.service.application ;version=[1.1.0,2.0.0) + + + Import package org.osgi.service.blueprint.container ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.blueprint.reflect ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.cm ;version=[1.3.0,2.0.0) + + + Import package org.osgi.service.component ;version=[1.1.0,2.0.0) + + + Import package org.osgi.service.condpermadmin ;version=[1.1.0,2.0.0) + + + Import package org.osgi.service.deploymentadmin ;version=[1.1.0,2.0.0) + + + Import package org.osgi.service.deploymentadmin.spi ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.device ;version=[1.1.0,2.0.0) + + + Import package org.osgi.service.event ;version=[1.2.0,2.0.0) + + + Import package org.osgi.service.http ;version=[1.2.0,2.0.0) + + + Import package org.osgi.service.io ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.log ;version=[1.3.0,2.0.0) + + + Import package org.osgi.service.metatype ;version=[1.1.0,2.0.0) + + + Import package org.osgi.service.monitor ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.prefs ;version=[1.1.0,2.0.0) + + + Import package org.osgi.service.provisioning ;version=[1.2.0,2.0.0) + + + Import package org.osgi.service.remoteserviceadmin ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.upnp ;version=[1.1.0,2.0.0) + + + Import package org.osgi.service.useradmin ;version=[1.1.0,2.0.0) + + + Import package org.osgi.service.wireadmin ;version=[1.0.0,2.0.0) + + + Import package org.osgi.util.cdma ;version=[1.0.0,2.0.0) + + + Import package org.osgi.util.gsm ;version=[1.0.0,2.0.0) + + + Import package org.osgi.util.measurement ;version=[1.0.0,2.0.0) + + + Import package org.osgi.util.mobile ;version=[1.0.0,2.0.0) + + + Import package org.osgi.util.position ;version=[1.0.0,2.0.0) + + + Import package org.osgi.util.tracker ;version=[1.4.0,2.0.0) + + + Import package org.osgi.util.xml ;version=[1.0.0,2.0.0) + + + + + OSGi Service Platform Release 4 Version 4.2, Compendium Interfaces + and Classes for use in compiling bundles. + + + 614264 + + + http://opensource.org/licenses/apache2.0.php; link="http://www.apache.org/licenses/LICENSE-2.0"; + description="Apache License, Version 2.0" + + + Copyright (c) OSGi Alliance (2000, 2009). All Rights Reserved. + + +

+

+

+

+ + +

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+

+ + +

+

+

+ + +

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + + Import package info.dmtree ;version=[1.0.0,2.0.0) + + + Import package info.dmtree.notification ;version=[1.0.0,2.0.0) + + + Import package info.dmtree.notification.spi ;version=[1.0.0,2.0.0) + + + Import package info.dmtree.registry ;version=[1.0.0,2.0.0) + + + Import package info.dmtree.security ;version=[1.0.0,2.0.0) + + + Import package info.dmtree.spi ;version=[1.0.0,2.0.0) + + + Import package javax.microedition.io + + + Import package javax.servlet + + + Import package javax.servlet.http + + + Import package javax.xml.parsers + + + Import package org.osgi.application ;version=[1.0.0,2.0.0) + + + Import package org.osgi.framework ;version=[1.5.0,2.0.0) + + + Import package org.osgi.service.application ;version=[1.1.0,2.0.0) + + + Import package org.osgi.service.blueprint.container ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.blueprint.reflect ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.cm ;version=[1.3.0,2.0.0) + + + Import package org.osgi.service.component ;version=[1.1.0,2.0.0) + + + Import package org.osgi.service.condpermadmin ;version=[1.1.0,2.0.0) + + + Import package org.osgi.service.deploymentadmin ;version=[1.1.0,2.0.0) + + + Import package org.osgi.service.deploymentadmin.spi ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.device ;version=[1.1.0,2.0.0) + + + Import package org.osgi.service.event ;version=[1.2.0,2.0.0) + + + Import package org.osgi.service.http ;version=[1.2.0,2.0.0) + + + Import package org.osgi.service.io ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.log ;version=[1.3.0,2.0.0) + + + Import package org.osgi.service.metatype ;version=[1.1.0,2.0.0) + + + Import package org.osgi.service.monitor ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.prefs ;version=[1.1.0,2.0.0) + + + Import package org.osgi.service.provisioning ;version=[1.2.0,2.0.0) + + + Import package org.osgi.service.upnp ;version=[1.1.0,2.0.0) + + + Import package org.osgi.service.useradmin ;version=[1.1.0,2.0.0) + + + Import package org.osgi.service.wireadmin ;version=[1.0.0,2.0.0) + + + Import package org.osgi.util.cdma ;version=[1.0.0,2.0.0) + + + Import package org.osgi.util.gsm ;version=[1.0.0,2.0.0) + + + Import package org.osgi.util.measurement ;version=[1.0.0,2.0.0) + + + Import package org.osgi.util.mobile ;version=[1.0.0,2.0.0) + + + Import package org.osgi.util.position ;version=[1.0.0,2.0.0) + + + Import package org.osgi.util.tracker ;version=[1.4.0,2.0.0) + + + Import package org.osgi.util.xml ;version=[1.0.0,2.0.0) + + + + + OSGi Service Platform Release 4 Version 4.2, Enterprise Interfaces + and Classes for use in compiling bundles. + + + 354544 + + + http://opensource.org/licenses/apache2.0.php; link="http://www.apache.org/licenses/LICENSE-2.0"; + description="Apache License, Version 2.0" + + + Copyright (c) OSGi Alliance (2000, 2010). All Rights Reserved. + + +

+

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + + Import package javax.management.openmbean + + + Import package javax.naming + + + Import package javax.naming.directory + + + Import package javax.persistence + + + Import package javax.servlet + + + Import package javax.servlet.http + + + Import package javax.sql + + + Import package javax.xml.parsers + + + Import package org.osgi.framework ;version=[1.5.0,2.0.0) + + + Import package org.osgi.jmx ;version=[1.0.0,2.0.0) + + + Import package org.osgi.jmx.framework ;version=[1.5.0,2.0.0) + + + Import package org.osgi.jmx.service.cm ;version=[1.3.0,2.0.0) + + + Import package org.osgi.jmx.service.permissionadmin ;version=[1.2.0,2.0.0) + + + Import package org.osgi.jmx.service.provisioning ;version=[1.2.0,2.0.0) + + + Import package org.osgi.jmx.service.useradmin ;version=[1.1.0,2.0.0) + + + Import package org.osgi.service.blueprint.container ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.blueprint.reflect ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.cm ;version=[1.3.0,2.0.0) + + + Import package org.osgi.service.component ;version=[1.1.0,2.0.0) + + + Import package org.osgi.service.event ;version=[1.2.0,2.0.0) + + + Import package org.osgi.service.http ;version=[1.2.0,2.0.0) + + + Import package org.osgi.service.jdbc ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.jndi ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.jpa ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.log ;version=[1.3.0,2.0.0) + + + Import package org.osgi.service.metatype ;version=[1.1.0,2.0.0) + + + Import package org.osgi.service.provisioning ;version=[1.2.0,2.0.0) + + + Import package org.osgi.service.remoteserviceadmin ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.useradmin ;version=[1.1.0,2.0.0) + + + Import package org.osgi.util.tracker ;version=[1.4.0,2.0.0) + + + Import package org.osgi.util.xml ;version=[1.0.0,2.0.0) + + + + + The slf4j API + + + 26249 + + +

+

+

+

+ + +

+

+ + +

+

+ + +

+

+ + + Import package org.slf4j.impl ;version=1.6.0 + + + Execution Environment (|(ee=J2SE-1.3)) + + + \ No newline at end of file diff --git a/cnf/repo/biz.aQute.bnd.annotation/biz.aQute.bnd.annotation-1.51.1.jar b/cnf/repo/biz.aQute.bnd.annotation/biz.aQute.bnd.annotation-1.51.1.jar new file mode 100644 index 0000000..715a9f8 Binary files /dev/null and b/cnf/repo/biz.aQute.bnd.annotation/biz.aQute.bnd.annotation-1.51.1.jar differ diff --git a/cnf/repo/biz.aQute.bnd/biz.aQute.bnd-1.51.1.jar b/cnf/repo/biz.aQute.bnd/biz.aQute.bnd-1.51.1.jar new file mode 100644 index 0000000..3f8146b Binary files /dev/null and b/cnf/repo/biz.aQute.bnd/biz.aQute.bnd-1.51.1.jar differ diff --git a/cnf/repo/biz.aQute.bndlib/biz.aQute.bndlib-1.51.0.jar b/cnf/repo/biz.aQute.bndlib/biz.aQute.bndlib-1.51.0.jar new file mode 100644 index 0000000..e7bb42e Binary files /dev/null and b/cnf/repo/biz.aQute.bndlib/biz.aQute.bndlib-1.51.0.jar differ diff --git a/cnf/repo/biz.aQute.junit/biz.aQute.junit-1.0.0.jar b/cnf/repo/biz.aQute.junit/biz.aQute.junit-1.0.0.jar new file mode 100644 index 0000000..04c66e6 Binary files /dev/null and b/cnf/repo/biz.aQute.junit/biz.aQute.junit-1.0.0.jar differ diff --git a/cnf/repo/biz.aQute.launcher/biz.aQute.launcher-1.0.1.jar b/cnf/repo/biz.aQute.launcher/biz.aQute.launcher-1.0.1.jar new file mode 100644 index 0000000..395523b Binary files /dev/null and b/cnf/repo/biz.aQute.launcher/biz.aQute.launcher-1.0.1.jar differ diff --git a/cnf/repo/bnd.karaf.launcher/bnd.karaf.launcher-1.0.1.jar b/cnf/repo/bnd.karaf.launcher/bnd.karaf.launcher-1.0.1.jar new file mode 100644 index 0000000..d619550 Binary files /dev/null and b/cnf/repo/bnd.karaf.launcher/bnd.karaf.launcher-1.0.1.jar differ diff --git a/cnf/repo/bndtools.runtime.eclipse.applaunch/bndtools.runtime.eclipse.applaunch-0.1.0.jar b/cnf/repo/bndtools.runtime.eclipse.applaunch/bndtools.runtime.eclipse.applaunch-0.1.0.jar new file mode 100644 index 0000000..1087113 Binary files /dev/null and b/cnf/repo/bndtools.runtime.eclipse.applaunch/bndtools.runtime.eclipse.applaunch-0.1.0.jar differ diff --git a/cnf/repo/org.apache.karaf.main/org.apache.karaf.main-2.2.6.jar b/cnf/repo/org.apache.karaf.main/org.apache.karaf.main-2.2.6.jar new file mode 100644 index 0000000..a50f17a Binary files /dev/null and b/cnf/repo/org.apache.karaf.main/org.apache.karaf.main-2.2.6.jar differ diff --git a/cnf/repo/org.eclipse.osgi/org.eclipse.osgi-3.6.2.jar b/cnf/repo/org.eclipse.osgi/org.eclipse.osgi-3.6.2.jar new file mode 100644 index 0000000..f4b0f05 Binary files /dev/null and b/cnf/repo/org.eclipse.osgi/org.eclipse.osgi-3.6.2.jar differ diff --git a/cnf/repo/osgi.core/osgi.core-4.2.0.jar b/cnf/repo/osgi.core/osgi.core-4.2.0.jar new file mode 100644 index 0000000..9b3f41e Binary files /dev/null and b/cnf/repo/osgi.core/osgi.core-4.2.0.jar differ diff --git a/cnf/repo/repository.xml b/cnf/repo/repository.xml new file mode 100644 index 0000000..9eb05ff --- /dev/null +++ b/cnf/repo/repository.xml @@ -0,0 +1,923 @@ + + + + + + + A utility and plugin to wrap, build, print, or otherwise manipulate + bundles + + + 1252615 + + + http://www.opensource.org/licenses/apache2.0.php; description="All + files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt)."; link=LICENSE + + + All files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt). + + +

+

+

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+

+ + + Require Bundle org.eclipse.ui.ide; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.jface.text; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.ui.workbench.texteditor; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.ui.editors; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.ui; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.debug.ui; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.jdt.core; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.jdt.ui; [3.3.0,4.0.0) + + + Require Bundle org.eclipse.core.runtime; [3.2.0,4.0.0) + + + Require Bundle org.eclipse.jdt.launching; [3.2.0,4.0.0) + + + Require Bundle org.eclipse.jdt.debug.ui; [3.2.0,4.0.0) + + + Require Bundle org.eclipse.jdt.junit; [3.2.0,4.0.0) + + + Require Bundle org.junit; 0.0.0 + + + Require Bundle org.eclipse.osgi.services; 0.0.0 + + + Require Bundle org.apache.ant; 0.0.0 + + + Require Bundle org.eclipse.ui.console; 0.0.0 + + + Import package aQute.bnd.service.url + + + Import package javax.naming + + + Import package javax.xml.namespace + + + Import package javax.xml.parsers + + + Import package javax.xml.transform + + + Import package javax.xml.transform.dom + + + Import package javax.xml.transform.sax + + + Import package javax.xml.transform.stream + + + Import package javax.xml.xpath + + + Import package junit.framework ;version=[3.8.0,4.0.0) + + + Import package org.apache.tools.ant + + + Import package org.apache.tools.ant.types + + + Import package org.osgi.framework ;version=[1.5.0,2.0.0) + + + Import package org.osgi.service.bindex ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.component.annotations ;version=[1.2.0,2.0.0) + + + Import package org.osgi.service.coordinator ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.packageadmin ;version=[1.2.0,2.0.0) + + + Import package org.w3c.dom + + + Import package org.xml.sax + + + Import package org.xml.sax.helpers + + + Execution Environment (|(ee=J2SE-1.5)) + + + + + Contains only the annotations for bnd. + + + 35534 + + + http://www.opensource.org/licenses/apache2.0.php; description="All + files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt)."; link=LICENSE + + + http://www.aQute.biz/Code/Bnd + + + All files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt). + + +

+

+

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+

+ + + Import package aQute.libg.reporter ;version=[1.0.0,2.0.0) + + + Import package javax.xml.namespace + + + Import package javax.xml.parsers + + + Import package javax.xml.xpath + + + Import package junit.framework ;version=[3.8.0,4.0.0) + + + Import package org.w3c.dom + + + + + A Swiss Army Knife for OSGi + + + 931471 + + + http://www.opensource.org/licenses/apache2.0.php; description="Apache + Software License 2.0"; link=http://www.apache.org/licenses/LICENSE-2.0.html + + + http://www.aQute.biz/Code/Bnd + + + Copyright © aQute SARL (2000, 2011). All Rights Reserved. + + +

+

+

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+ + +

+

+

+ + +

+

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+

+ + +

+

+ + +

+

+

+ + +

+

+ + +

+

+

+ + + Import package aQute.libg.sax ;version=[1.0.0,2.0.0) + + + Import package javax.naming + + + Import package javax.xml.namespace + + + Import package javax.xml.parsers + + + Import package javax.xml.transform + + + Import package javax.xml.transform.sax + + + Import package javax.xml.transform.stream + + + Import package javax.xml.xpath + + + Import package junit.framework ;version=[3.8.0,4.0.0) + + + Import package org.osgi.framework ;version=[1.5.0,2.0.0) + + + Import package org.osgi.service.bindex ;version=[1.0.0,2.0.0) + + + Import package org.w3c.dom + + + Import package org.xml.sax + + + Import package org.xml.sax.helpers + + + Execution Environment (|(ee=J2SE-1.5)) + + + + + 67008 + + + http://www.opensource.org/licenses/apache2.0.php; description="All + files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt)."; link=LICENSE + + + All files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt). + + +

+

+

+

+ + +

+

+ + + Import package junit.framework ;version=[3.8.0,4.0.0) + + + Import package org.osgi.framework ;version=[1.5.0,2.0.0) + + + Import package org.osgi.util.tracker ;version=[1.4.0,2.0.0) + + + + + 56566 + + + http://www.opensource.org/licenses/apache2.0.php; description="All + files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt)."; link=LICENSE + + + All files contained in this JAR are licensed under the Apache + 2.0 license, unless noted differently in their source (see + swing2swt). + + +

+

+

+

+ + + Import package aQute.bnd.build ;version=[1.43.0,2.0.0) + + + Import package aQute.bnd.service ;version=[1.44.0,2.0.0) + + + Import package aQute.lib.io ;version=[1.0.0,2.0.0) + + + Import package aQute.lib.osgi ;version=[1.43.0,2.0.0) + + + Import package aQute.libg.generics ;version=[1.0.0,2.0.0) + + + Import package org.osgi.framework ;version=[1.5.0,2.0.0) + + + Import package org.osgi.framework.launch ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.packageadmin ;version=[1.2.0,2.0.0) + + + Import package org.osgi.service.permissionadmin ;version=[1.2.0,2.0.0) + + + + + 74206 + + +

+

+

+

+ + + Import package aQute.bnd.build ;version=[1.43.0,2.0.0) + + + Import package aQute.lib.osgi ;version=[1.43.0,2.0.0) + + + Import package org.osgi.framework ;version=[1.5.0,2.0.0) + + + Import package org.osgi.framework.launch ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.packageadmin ;version=[1.2.0,2.0.0) + + + Import package org.osgi.service.startlevel ;version=[1.1.0,2.0.0) + + + + + 14079 + + + http://www.opensource.org/licenses/eclipse-1.0.php + + +

+

+

+

+ + + Import package org.eclipse.osgi.service.runnable ;version=[1.1.0,2.0.0) + + + Import package org.osgi.framework ;version=[1.5.0,2.0.0) + + + Import package org.osgi.util.tracker ;version=[1.4.0,2.0.0) + + + + + OSGi R4 framework. + + + 156207 + + + http://www.apache.org/licenses/LICENSE-2.0.txt + + + http://www.apache.org/ + + +

+

+

+

+ + +

+

+ + + Import package javax.security.auth.x500 + + + + + OSGi System Bundle + + + 1148372 + + + http://www.eclipse.org + + + Copyright (c) 2003, 2004 IBM Corporation and others. All rights + reserved. This program and the accompanying materials are + made available under the terms of the Eclipse Public License + v1.0 which accompanies this distribution, and is available + at http://www.eclipse.org/legal/epl-v10.html + + +

+ + +

+ + +

+ + +

+ + +

+

+

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + + Execution Environment (|(ee=J2SE-1.5)(ee=OSGi/Minimum-1.2)) + + + + + OSGi Service Platform Release 4 Version 4.2, Core Interfaces + and Classes for use in compiling bundles. + + + 247036 + + + http://opensource.org/licenses/apache2.0.php; link="http://www.apache.org/licenses/LICENSE-2.0"; + description="Apache License, Version 2.0" + + + Copyright (c) OSGi Alliance (2000, 2009). All Rights Reserved. + + +

+

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+

+ + +

+

+ + +

+

+

+ + +

+

+ + + Import package javax.security.auth.x500 + + + Import package org.osgi.framework ;version=[1.5.0,2.0.0) + + + Import package org.osgi.framework.hooks.service ;version=[1.0.0,2.0.0) + + + Import package org.osgi.framework.launch ;version=[1.0.0,2.0.0) + + + Import package org.osgi.service.condpermadmin ;version=[1.1.0,2.0.0) + + + Import package org.osgi.service.packageadmin ;version=[1.2.0,2.0.0) + + + Import package org.osgi.service.permissionadmin ;version=[1.2.0,2.0.0) + + + Import package org.osgi.service.startlevel ;version=[1.1.0,2.0.0) + + + Import package org.osgi.service.url ;version=[1.0.0,2.0.0) + + + \ No newline at end of file