protected virtual void UpdateDependencyListWithSubProjects(IBuildDependencyOnProjectContainer projectNode)
{
if(projectNode != null)
{
// Get list of sub projects
IList<IVsHierarchy> nestedProjectList = projectNode.EnumNestedHierachiesForBuildDependency();
if(nestedProjectList != null && nestedProjectList.Count > 0)
{
// Loop nested projects and add project dependency (if supported)
foreach(IVsHierarchy nestedProject in nestedProjectList)
{
AddBuildDependenyToNestedProject(projectNode as IBuildDependencyUpdate, nestedProject);
}
}
}
else
{
// Update all ProjectContainerNode nodes
List<IBuildDependencyOnProjectContainer> projectList = this.GetListOfProjectContainerNodes();
if(projectList != null && projectList.Count > 0)
{
foreach(IBuildDependencyOnProjectContainer project in projectList)
{
UpdateDependencyListWithSubProjects(project);
}
}
}
}