Module coreFrameworkModule = ((ModuleClassLoader) FrameworkBuilder.class.getClassLoader()).getModule();
Module.registerURLStreamHandlerFactoryModule(coreFrameworkModule);
Module.registerContentHandlerFactoryModule(coreFrameworkModule);
// Configure the {@link Framework} builder
FrameworkBuilder builder = new FrameworkBuilder(props);
builder.setServiceContainer(serviceContainer);
builder.setServiceTarget(context.getChildTarget());
builder.addProvidedService(Services.AUTOINSTALL_PROVIDER);
builder.addProvidedService(Services.BUNDLE_INSTALL_PROVIDER);
builder.addProvidedService(Services.FRAMEWORK_MODULE_PROVIDER);
builder.addProvidedService(Services.MODULE_LOADER_PROVIDER);
builder.addProvidedService(Services.SYSTEM_SERVICES_PROVIDER);
// Create the {@link Framework} services
Activation activation = injectedSubsystemState.getValue().getActivationPolicy();
Mode initialMode = (activation == Activation.EAGER ? Mode.ACTIVE : Mode.ON_DEMAND);
builder.createFrameworkServices(initialMode, true);
} catch (Throwable t) {
throw new StartException(MESSAGES.failedToCreateFrameworkServices(), t);
}
}