in src/main/java/org/apache/sling/feature/scanner/impl/FelixFrameworkScanner.java [61:107]
public BundleDescriptor scan(final ArtifactId framework,
final Map<String,String> frameworkProps,
final ArtifactProvider provider)
throws IOException {
final URL platformFile = provider.provide(framework);
if ( platformFile == null ) {
throw new IOException("Unable to find file for " + framework.toMvnId());
}
final Map<String,String> fwkProps = getFrameworkProperties(frameworkProps, platformFile);
if ( fwkProps == null ) {
return null;
}
final Set<PackageInfo> pcks = calculateSystemPackages(fwkProps);
final List<Capability> capabilities = calculateSystemCapabilities(fwkProps);
final BundleDescriptor d = new BundleDescriptor(framework.toMvnId()) {
@Override
public String getBundleSymbolicName() {
return Constants.SYSTEM_BUNDLE_SYMBOLICNAME;
}
@Override
public String getBundleVersion() {
return framework.getOSGiVersion().toString();
}
@Override
public URL getArtifactFile() {
return platformFile;
}
@Override
public Artifact getArtifact() {
return new Artifact(framework);
}
@Override
public Manifest getManifest() {
return new Manifest();
}
};
d.getCapabilities().addAll(capabilities);
d.getExportedPackages().addAll(pcks);
d.lock();
return d;
}