using System.Linq; using Microsoft.Build.Framework; using Microsoft.Build.Utilities; namespace ILLink.Tasks { public class ComputeReadyToRunAssemblies : Task { /// /// Paths to assemblies. /// [Required] public ITaskItem[] Assemblies { get; set; } /// /// This will contain the output list of /// ready-to-run assemblies. Metadata from the input /// parameter Assemblies is preserved. /// [Output] public ITaskItem[] ReadyToRunAssemblies { get; set; } public override bool Execute() { ReadyToRunAssemblies = Assemblies .Where(f => Utils.IsReadyToRunAssembly(f.ItemSpec)) .ToArray(); return true; } } }