// Iterate through each component, installing it into the container
for (final ComponentConfiguration configuration : moduleConfiguration.getComponentConfigurations()) {
try {
ROOT_LOGGER.tracef("Installing component %s", configuration.getComponentClass().getName());
deployComponent(phaseContext, configuration, dependencies, bindingDependencyService);
componentRegistry.addComponent(configuration);
//we need to make sure that the web deployment has a dependency on all components it the app, so web components are started
//when the web subsystem is starting
//we only add a dependency on components in the same sub deployment, otherwise we get circular dependencies when initialize-in-order is used
deploymentUnit.addToAttachmentList(org.jboss.as.server.deployment.Attachments.WEB_DEPENDENCIES, configuration.getComponentDescription().getStartServiceName());