Просмотр исходного кода

Update analyze build graph to ignore unknown artifact types

Nate McMaster 8 лет назад
Родитель
Сommit
5d53df55c4
2 измененных файлов с 5 добавлено и 7 удалено
  1. 1 1
      build/RepositoryBuild.targets
  2. 4 6
      build/tasks/Utilities/ArtifactInfo.cs

+ 1 - 1
build/RepositoryBuild.targets

@@ -48,7 +48,7 @@
       <RepositoryBuildArguments>$(RepositoryBuildArguments) /p:IsFinalBuild=$(IsFinalBuild)</RepositoryBuildArguments>
       <RepositoryBuildArguments>$(RepositoryBuildArguments) /noconsolelogger '/l:RepoTasks.FlowLogger,$(MSBuildThisFileDirectory)tasks\bin\publish\RepoTasks.dll;Summary;FlowId=$(RepositoryToBuild)'</RepositoryBuildArguments>
 
-      <BuildArguments>$(_RepositoryBuildTargets) $(RepositoryBuildArguments)</BuildArguments>
+      <BuildArguments>/t:CleanArtifacts $(_RepositoryBuildTargets) $(RepositoryBuildArguments)</BuildArguments>
       <RepositoryArtifactsRoot>$(BuildRepositoryRoot)artifacts</RepositoryArtifactsRoot>
       <RepositoryArtifactsBuildDirectory>$(RepositoryArtifactsRoot)\build\</RepositoryArtifactsBuildDirectory>
       <RepositoryArtifactsMSBuildDirectory>$(RepositoryArtifactsRoot)\msbuild\</RepositoryArtifactsMSBuildDirectory>

+ 4 - 6
build/tasks/Utilities/ArtifactInfo.cs

@@ -26,11 +26,8 @@ namespace RepoTasks.Utilities
                 case "nugetsymbolspackage":
                     info = new Package { PackageInfo = GetPackageInfo(item), IsSymbolsArtifact = true };
                     break;
-                case "vsixpackage":
-                    info = new Vsix { Name = Path.GetFileNameWithoutExtension(item.ItemSpec) };
-                    break;
                 default:
-                    throw new InvalidDataException($"Unrecognized artifact type: {item.GetMetadata("ArtifactType")} for artifact {item.ItemSpec}");
+                    return UnknownType.Singleton;
             }
 
             info.RepositoryRoot = item.GetMetadata("RepositoryRoot")?.TrimEnd(new [] { '\\', '/' });
@@ -46,9 +43,10 @@ namespace RepoTasks.Utilities
         public string RepositoryRoot { get; private set; }
         public string RepoName { get; private set; }
 
-        public class Vsix : ArtifactInfo
+        public class UnknownType : ArtifactInfo
         {
-            public string Name { get; set; }
+           private UnknownType() { }
+           public static UnknownType Singleton { get; } = new UnknownType();
         }
 
         public class Package : ArtifactInfo