Support plugin group reference with inheritance

Group reference was not working when inherited from parent project
config. When copying all the values from parent project config, check
all values and resolve the ones that are group reference.

Change-Id: Ie51f2b8356dc3871f4718954360a199bf6c2bc8f
This commit is contained in:
Hugo Arès 2017-06-29 07:45:05 -04:00
parent b7b952fe62
commit c2d1a3e19b
1 changed files with 10 additions and 5 deletions

View File

@ -57,11 +57,16 @@ public class PluginConfig {
cfg = copyConfig(cfg);
for (String name : parentPluginConfig.cfg.getNames(PLUGIN, pluginName)) {
if (!allNames.contains(name)) {
cfg.setStringList(
PLUGIN,
pluginName,
name,
Arrays.asList(parentPluginConfig.cfg.getStringList(PLUGIN, pluginName, name)));
List<String> values =
Arrays.asList(parentPluginConfig.cfg.getStringList(PLUGIN, pluginName, name));
for (String value : values) {
GroupReference groupRef =
parentPluginConfig.projectConfig.getGroup(GroupReference.extractGroupName(value));
if (groupRef != null) {
projectConfig.resolve(groupRef);
}
}
cfg.setStringList(PLUGIN, pluginName, name, values);
}
}
}