When using the `compileInclude` instruction, it will add the dependency as an embedded jar and on the bundle classpath. This will be done for all transitive dependencies as well. However, it will not do this for dependencies marked as 'optional' in those transitive dependencies. But bnd will still find the import statements in the embedded jar files and it will add those imports to the manifest.
What would be good, is if these optional dependencies which are generating the import statements in the manifest, would actually be marked as optional in the manifest. To the developer, this should make the 'compileInclude' just work (since all optional imports will not prevent the bundle from activating in the OSGi runtime).