public void execute()

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);
        }
    }