public override bool Execute() { var resolveConfig = new ResolveConfig(ConfigFile.ItemSpec, RootDir.ItemSpec); var runtimeProfile = RuntimeProfile == null ? String.Empty : RuntimeProfile.ItemSpec; var msBuildPatch = new MSBuildPatcher(resolveConfig).Resolve(InputProjects.Select(t => t.GetMetadata("FullPath")).ToArray(), runtimeProfile); Copies = msBuildPatch.CopyItemSets.Select(CreateCopyTaskItem).ToArray(); OutProjects = msBuildPatch.CompileProjects.Select(CreateProjectItem).ToArray(); return(true); }
public override bool Execute() { var excludes = (ExcludeNodes ?? new ITaskItem[0]).Select(t => t.GetMetadata("FullPath")).ToArray(); var resolveConfig = new ResolveConfig(ConfigFile.ItemSpec, RootDir.ItemSpec); var inputNodePaths = InputProjects.Select(t => t.GetMetadata("FullPath")).ToArray(); var endNodePaths = (EndNodes ?? new ITaskItem[0]).Select(n => n.GetMetadata("FullPath")).ToArray(); var runtimeProfile = RuntimeProfile == null ? string.Empty : RuntimeProfile.ItemSpec; var result = new DependencyResolver(resolveConfig, excludes, Reverse).Resolve(inputNodePaths, endNodePaths, runtimeProfile); Dependences = result.Select(CreateTaskItem).ToArray(); return(true); }