public void buildModule()

in core/bootstrap/src/main/java/org/wildfly/swarm/bootstrap/modules/BootstrapModuleFinder.java [51:109]


    public void buildModule(ModuleSpec.Builder builder, ModuleLoader delegateLoader) throws ModuleLoadException {
        try (AutoCloseable handle = Performance.accumulate("module: Bootstrap")) {

            if (LOG.isTraceEnabled()) {
                LOG.trace("Loading module");
            }

            ApplicationEnvironment env = ApplicationEnvironment.get();

            PathFilter filter = new PathFilter() {
                @Override
               public boolean accept(String path) {
                    return path.endsWith("/module.xml");
                }
            };

            env.bootstrapArtifactsAsCoordinates()
                    .forEach((coords) -> {
                        try {
                            File artifact = MavenResolvers.get().resolveJarArtifact(coords);
                            if (artifact == null) {
                                throw new RuntimeException("Unable to resolve artifact from coordinates: " + coords);
                            }
                            JarFile jar = JarFileManager.INSTANCE.addJarFile(artifact);
                            ResourceLoader originaloader = ResourceLoaders.createJarResourceLoader(artifact.getName(), jar);

                            builder.addResourceRoot(
                                    ResourceLoaderSpec.createResourceLoaderSpec(
                                            ResourceLoaders.createFilteredResourceLoader(filter, originaloader)
                                    )
                            );
                        } catch (IOException e) {
                            throw new RuntimeException(e);
                        }
                    });

            builder.addDependency(DependencySpec.createLocalDependencySpec());
            builder.addDependency(new ModuleDependencySpecBuilder()
                    .setName("org.jboss.modules")
                    .build());
            builder.addDependency(new ModuleDependencySpecBuilder()
                    .setName("org.jboss.shrinkwrap")
                    .build());
            builder.addDependency(new ModuleDependencySpecBuilder()
                    .setName("org.yaml.snakeyaml")
                    .build());

            HashSet<String> paths = new HashSet<>();
            paths.add("org/wildfly/swarm/bootstrap/env");
            paths.add("org/wildfly/swarm/bootstrap/logging");
            paths.add("org/wildfly/swarm/bootstrap/modules");
            paths.add("org/wildfly/swarm/bootstrap/performance");
            paths.add("org/wildfly/swarm/bootstrap/util");
            builder.addDependency(DependencySpec.createSystemDependencySpec(paths, true));
        } catch (Exception e) {
            throw new RuntimeException(e);
        }

    }