}
data.setCurrentVisitNode(parentVisitNode);
}
private void doFetchDependencies(VisitNode node, String conf) {
Configuration c = node.getConfiguration(conf);
if (c == null) {
if (!node.isConfRequiredByMergedUsageOnly(conf)) {
Message.warn("configuration not found '" + conf + "' in " + node.getResolvedId()
+ ": ignoring");
if (node.getParent() != null) {
Message.warn("it was required from " + node.getParent().getResolvedId());
}
}
return;
}
// we handle the case where the asked configuration extends others:
// we have to first fetch the extended configurations
// first we check if this is the actual requested conf (not an extended one)
boolean requestedConfSet = false;
if (node.getRequestedConf() == null) {
node.setRequestedConf(conf);
requestedConfSet = true;
}
// now let's recurse in extended confs
String[] extendedConfs = c.getExtends();
if (extendedConfs.length > 0) {
node.updateConfsToFetch(Arrays.asList(extendedConfs));
}
for (int i = 0; i < extendedConfs.length; i++) {
fetchDependencies(node, extendedConfs[i], false);