public static IEnumerable<MBEV.ResolvedImport> Children(this MBEV.ResolvedImport import, MBEV.Project project) { return project.Imports.Where( i => string.Equals(i.ImportingElement.ContainingProject.FullPath, project.ResolveAllProperties(import.ImportedProject.Location.File), StringComparison.OrdinalIgnoreCase)); }
/// <summary> /// Gets a collection of ProjectTargetInstances that this target is dependent on in a given project. /// </summary> /// <param name="target"></param> /// <param name="project">The project to look in</param> /// <returns></returns> public static IEnumerable<MBEX.ProjectTargetInstance> Dependencies( this MBEX.ProjectTargetInstance target, MBEV.Project project) { var dependencies = new List<MBEX.ProjectTargetInstance>(); var dependencyTargetNames = project.ResolveAllProperties(target.DependsOnTargets) .Replace(Environment.NewLine, "") .Split(';'); foreach (var name in dependencyTargetNames) { if (!string.IsNullOrWhiteSpace(name)) { dependencies.Add(project.Targets[name.Trim()]); } } return dependencies; }