Fix unexpected failures in CopyPackagesToSplitFolders when files exists

This commit is contained in:
Nate McMaster 2017-09-20 19:08:32 -07:00
parent f87c9d9fb5
commit 6af6dde460
2 changed files with 14 additions and 13 deletions

View File

@ -39,10 +39,7 @@
<RepoTasks.DownloadNuGetPackages <RepoTasks.DownloadNuGetPackages
Packages="@(ExternalDependency->WithMetadataValue('Mirror', 'true'))" Packages="@(ExternalDependency->WithMetadataValue('Mirror', 'true'))"
DestinationFolder="$(IntermediateMirrorPackageDir)"> DestinationFolder="$(IntermediateMirrorPackageDir)" />
<Output TaskParameter="Files" ItemName="MirroredPackageFile" />
</RepoTasks.DownloadNuGetPackages>
</Target> </Target>
<Target Name="CleanUniverseArtifacts"> <Target Name="CleanUniverseArtifacts">
@ -209,17 +206,14 @@
<ItemGroup> <ItemGroup>
<PackageArtifactFile Include="$(BuildDir)*.nupkg" Exclude="$(BuildDir)*.symbols.nupkg" /> <PackageArtifactFile Include="$(BuildDir)*.nupkg" Exclude="$(BuildDir)*.symbols.nupkg" />
<ExternalDependencyPackage Include="@(ExternalDependency->WithMetadataValue('Mirror', 'true'))" Category="mirror" /> <ExternalDependencyPackage Include="@(ExternalDependency->WithMetadataValue('Mirror', 'true'))" Category="mirror" />
<MirroredPackageFile Include="$(IntermediateMirrorPackageDir)*.nupkg" /> <_MirroredPackageFiles Include="$(IntermediateMirrorPackageDir)*.nupkg" />
</ItemGroup> </ItemGroup>
<RemoveDuplicates Inputs="@(MirroredPackageFile)">
<Output TaskParameter="Filtered" ItemName="_MirroredPackageFiles" />
</RemoveDuplicates>
<RepoTasks.CopyPackagesToSplitFolders <RepoTasks.CopyPackagesToSplitFolders
Packages="@(PackageArtifact);@(ExternalDependencyPackage)" Packages="@(PackageArtifact);@(ExternalDependencyPackage)"
Files="@(PackageArtifactFile);@(_MirroredPackageFiles)" Files="@(PackageArtifactFile);@(_MirroredPackageFiles)"
DestinationFolder="$(ArtifactsDir)" /> DestinationFolder="$(ArtifactsDir)"
Overwrite="true" />
</Target> </Target>
<Target Name="VerifyCoherentVersions" DependsOnTargets="ResolveRepoInfo"> <Target Name="VerifyCoherentVersions" DependsOnTargets="ResolveRepoInfo">

View File

@ -28,6 +28,8 @@ namespace RepoTasks
[Required] [Required]
public string DestinationFolder { get; set; } public string DestinationFolder { get; set; }
public bool Overwrite { get; set; }
public override bool Execute() public override bool Execute()
{ {
if (Files?.Length == 0) if (Files?.Length == 0)
@ -79,9 +81,14 @@ namespace RepoTasks
var destFile = Path.Combine(destDir, Path.GetFileName(file.ItemSpec)); var destFile = Path.Combine(destDir, Path.GetFileName(file.ItemSpec));
Log.LogMessage($"Copying {file.ItemSpec} to {destFile}"); if (!Overwrite && File.Exists(destFile))
{
Log.LogError($"File already exists in {destFile}");
continue;
}
File.Copy(file.ItemSpec, destFile); Log.LogMessage($"Copying {file.ItemSpec} to {destFile}");
File.Copy(file.ItemSpec, destFile, Overwrite);
expectedPackages.Remove(identity.Id); expectedPackages.Remove(identity.Id);
} }
@ -97,7 +104,7 @@ namespace RepoTasks
return false; return false;
} }
return true; return !Log.HasLoggedErrors;
} }
} }
} }