in src/main/java/org/apache/sling/feature/scanner/Scanner.java [232:252]
private void populateCache(Feature feature) throws IOException {
AnalyserMetaDataExtension extension = AnalyserMetaDataExtension.getAnalyserMetaDataExtension(feature);
if (extension != null) {
for (Artifact bundle : feature.getBundles()) {
ArtifactId id = bundle.getId();
final String key = id.toMvnId().concat(":")
.concat(String.valueOf(bundle.getStartOrder())).concat(":")
.concat(Stream.of(bundle.getFeatureOrigins()).map(ArtifactId::toMvnId).collect(Collectors.joining(",")));
if (this.cache.get(key) == null) {
Map<String, String> headers = extension.getManifest(id);
if (headers != null) {
Manifest manifest = new Manifest();
headers.forEach(manifest.getMainAttributes()::putValue);
BundleDescriptor desc = new BundleDescriptorImpl(bundle, artifactProvider, manifest, bundle.getStartOrder());
this.cache.put(key, desc);
}
}
}
}
}