31 string VersionForNuget {
get; }
32 ProjectRecord[] PublishProjects {
get; }
33 NugetSource[] NugetSources {
get; }
35 Target PublishNuget => _ => _
38 Assert.NotNull(VersionForNuget);
40 foreach (var (project, publish) in PublishProjects)
42 var msBuildProject = project.GetMSBuildProject();
43 msBuildProject.SetProperty(
"Version", VersionForNuget);
44 msBuildProject.Save();
46 var outDirectory = project.Directory /
".nupkg";
48 DotNetTasks.DotNetPack(_ => _
50 .SetOutputDirectory(outDirectory)
51 .EnableIncludeSymbols()
54 var packageId = project.GetProperty(
"PackageId");
55 var nupkgSymbols = outDirectory / $
"{packageId}.{VersionForNuget}.symbols.nupkg";
57 var nupkg = nupkgSymbols.FileExists()
59 : outDirectory / $
"{packageId}.{VersionForNuget}.nupkg";
61 foreach (var (source, apiKey) in NugetSources)
63 DotNetTasks.DotNetNuGetPush(s => s