title: The magic behind "org.eclipse.equinox.ds@3:start"?
body: <p>I have a standalone headless RCP with the following command line arguments.</p>
  
  <pre><code>Command-line arguments:  -os macosx -ws cocoa -arch x86_64 -clean -consoleLog 
  </code></pre>
  
  <p>I could successfully generate the binary to be run as a command line tool, but the issue is that I have to modify the config.ini file from </p>
  
  <pre><code>osgi.bundles=org.eclipse.equinox.common@2:start,
  org.eclipse.update.configurator@3:start,
  org.eclipse.equinox.ds@2:start,
  org.eclipse.core.runtime@s
  </code></pre>
  
  <p>to</p>
  
  <pre><code>osgi.bundles=org.eclipse.equinox.common@2:start,
  org.eclipse.update.configurator@3:start,
  org.eclipse.equinox.ds@3:start, &lt;---
  org.eclipse.core.runtime@s
  </code></pre>
  
  <p>Without this change, I got these error messages when I execute the binary.</p>
  
  <pre><code>org.osgi.framework.BundleException: The bundle "org.eclipse.equinox.ds_1.4.0.v20120522-1841 [3]" could not be resolved. Reason: Missing Constraint: Import-Package: org.eclipse.equinox.internal.util.event; version="1.0.0"
      at org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolverError(AbstractBundle.java:1332)
      at org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolutionFailureException(AbstractBundle.java:1316)
      at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:323)
  </code></pre>
  
  <p>The magic behind "org.eclipse.equinox.ds@3:start"? Why it works well after my change? How can I setup in eclipse IDE so that I don't have to manually change the ini file all the time when I create the headless RCP. </p>