/**
* Base implementation that will perform runtime configuration for the specified plugin name.
*/
public void doRuntimeConfiguration(String pluginName, RuntimeSpringConfiguration springConfig) {
checkInitialised();
GrailsPlugin plugin = getGrailsPlugin(pluginName);
if (plugin == null) {
throw new PluginException("Plugin [" + pluginName + "] not found");
}
if (!plugin.supportsCurrentScopeAndEnvironment()) {
return;
}
String[] dependencyNames = plugin.getDependencyNames();
doRuntimeConfigurationForDependencies(dependencyNames, springConfig);
String[] loadAfters = plugin.getLoadAfterNames();
for (String name : loadAfters) {
GrailsPlugin current = getGrailsPlugin(name);
if (current != null) {
current.doWithRuntimeConfiguration(springConfig);
}
}
plugin.doWithRuntimeConfiguration(springConfig);
}