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