in knights/winegrower-knight/src/main/java/org/apache/geronimo/arthur/knight/winegrower/WinegrowerExtension.java [67:102]
public void execute(final Context context) {
final Predicate<String> userFiler = context.createIncludesExcludes("extension.winegrower.", PredicateType.STARTS_WITH);
final boolean generateMetadata = Boolean.parseBoolean(ofNullable(context.getProperty("extension.winegrower.metadata.generate")).orElse("true"));
final boolean metadataAutoFiltering = Boolean.parseBoolean(ofNullable(context.getProperty("extension.winegrower.metadata.autoFiltering")).orElse("true"));
final String metadataDefaultJarName = context.getProperty("extension.winegrower.metadata.defaultJarName");
final Predicate<String> filter = name -> userFiler.test(name) &&
!name.startsWith("plexus-") &&
!name.startsWith("animal-sniffer") &&
!name.startsWith("winegrower-build") &&
!name.startsWith("winegrower-core") &&
!name.startsWith("winegrower-knight") &&
!name.startsWith("commons-") &&
!name.startsWith("xbean-") &&
!name.startsWith("osgi.");
final MetadataBuilder metadata = !generateMetadata ? null : new MetadataBuilder(metadataAutoFiltering);
try {
final Collection<Class<?>> classes = visitClasspath(context, filter, metadata, metadataDefaultJarName);
registerClasses(context, classes);
if (metadata != null && !metadata.getMetadata().isEmpty()) {
final Path workDir = Paths.get(requireNonNull(context.getProperty("workingDirectory"), "workingDirectory property"));
if (metadata.getMetadata().containsKey("index")) {
context.addNativeImageOption("-H:WinegrowerIndex=" +
dump(workDir, "winegrower.index.properties", metadata.getMetadata().get("index")));
}
if (metadata.getMetadata().containsKey("manifests")) {
context.addNativeImageOption("-H:WinegrowerManifests=" +
dump(workDir, "winegrower.manifests.properties", metadata.getMetadata().get("manifests")));
}
} else if (generateMetadata) {
log.info("No winegrower metadata to dump");
}
} catch (final IOException e) {
throw new IllegalStateException(e);
}
}