ResolveSymbolsRecursivePath.cs 854 B

1234567891011121314151617181920212223242526272829
  1. // Copyright (c) .NET Foundation. All rights reserved.
  2. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
  3. using System;
  4. using System.IO;
  5. using Microsoft.Build.Framework;
  6. using Microsoft.Build.Utilities;
  7. using RepoTasks.Utilities;
  8. namespace RepoTasks
  9. {
  10. public class ResolveSymbolsRecursivePath : Task
  11. {
  12. [Required]
  13. [Output]
  14. public ITaskItem[] Symbols { get; set; }
  15. public override bool Execute()
  16. {
  17. foreach (var symbol in Symbols)
  18. {
  19. var fullPath = symbol.GetMetadata("PortablePDB");
  20. symbol.SetMetadata("SymbolsRecursivePath", fullPath.Substring(fullPath.IndexOf($"{Path.DirectorySeparatorChar}lib{Path.DirectorySeparatorChar}")));
  21. }
  22. return true;
  23. }
  24. }
  25. }