diff --git a/build.cake b/build.cake index 41dc263c96..a11e3d97a6 100644 --- a/build.cake +++ b/build.cake @@ -274,14 +274,17 @@ var FrameworkFiles = new FilePath[] "mock-assembly.dll", "mock-assembly.exe", "nunit.framework.dll", + "nunit.framework.pdb", "nunit.framework.xml", "nunit.framework.tests.dll", "nunit.testdata.dll", "nunitlite.dll", + "nunitlite.pdb", "nunitlite.tests.exe", "nunitlite.tests.dll", "slow-nunit-tests.dll", "nunitlite-runner.exe", + "nunitlite-runner.pdb", "nunitlite-runner.dll", "Microsoft.Threading.Tasks.dll", "Microsoft.Threading.Tasks.Extensions.Desktop.dll", @@ -341,13 +344,35 @@ Task("PackageFramework") { Version = packageVersion, BasePath = CurrentImageDir, - OutputDirectory = PACKAGE_DIR + OutputDirectory = PACKAGE_DIR, + Symbols = true }; NuGetPack("nuget/framework/nunit.nuspec", settings); NuGetPack("nuget/nunitlite/nunitlite.nuspec", settings); }); +Task("PackageFrameworkSnupkg") + .Description("Creates NuGet snupkg source packages of the framework") + .IsDependentOn("CreateImage") + .Does(() => + { + CreateDirectory(PACKAGE_DIR); + + var settings = new NuGetPackSettings + { + Version = packageVersion, + BasePath = CurrentImageDir, + OutputDirectory = PACKAGE_DIR, + Symbols = true, + // snupkg is not yet supported by Cake, https://github.com/cake-build/cake/issues/2362 + ArgumentCustomization = args => args.Append("-SymbolPackageFormat snupkg") + }; + + NuGetPack("nuget/framework/nunit.snupkg.nuspec", settings); + NuGetPack("nuget/nunitlite/nunitlite.snupkg.nuspec", settings); + }); + Task("PackageZip") .Description("Creates a ZIP file of the framework") .IsDependentOn("CreateImage") @@ -385,6 +410,7 @@ Task("SignPackages") .Description("Signs the NuGet packages") .IsDependentOn("InstallSigningTool") .IsDependentOn("PackageFramework") + .IsDependentOn("PackageFrameworkSnupkg") .Does(() => { // Get the secret. @@ -404,7 +430,7 @@ Task("SignPackages") var settings = File("./signclient.json"); // Get the files to sign. - var files = GetFiles(string.Concat(PACKAGE_DIR, "*.nupkg")); + var files = GetFiles(string.Concat(PACKAGE_DIR, "*.*nupkg")); foreach(var file in files) { @@ -441,6 +467,7 @@ Task("UploadArtifacts") .Does(() => { UploadArtifacts(PACKAGE_DIR, "*.nupkg"); + UploadArtifacts(PACKAGE_DIR, "*.snupkg"); UploadArtifacts(PACKAGE_DIR, "*.zip"); }); @@ -615,6 +642,7 @@ Task("Package") .Description("Packages all versions of the framework") .IsDependentOn("CheckForError") .IsDependentOn("PackageFramework") + .IsDependentOn("PackageFrameworkSnupkg") .IsDependentOn("PackageZip"); Task("Appveyor") diff --git a/nuget/framework/nunit.snupkg.nuspec b/nuget/framework/nunit.snupkg.nuspec new file mode 100644 index 0000000000..8486619540 --- /dev/null +++ b/nuget/framework/nunit.snupkg.nuspec @@ -0,0 +1,38 @@ + + + + NUnit + NUnit + $version$ + + + + Charlie Poole, Rob Prouse + Charlie Poole, Rob Prouse + MIT + https://nunit.org + + false + Symbols for debugging into the NUnit Framework assemblies. + en-US + Copyright (c) 2021 Charlie Poole, Rob Prouse + + + + + + + + + + + + + + + + + + + + diff --git a/nuget/nunitlite/nunitlite.snupkg.nuspec b/nuget/nunitlite/nunitlite.snupkg.nuspec new file mode 100644 index 0000000000..780767861d --- /dev/null +++ b/nuget/nunitlite/nunitlite.snupkg.nuspec @@ -0,0 +1,55 @@ + + + + NUnitLite + NUnitLite + $version$ + + + + Charlie Poole, Rob Prouse + Charlie Poole, Rob Prouse + MIT + https://nunit.org + + en-US + false + Symbols for debugging into the NUnitLite assemblies. + Copyright (c) 2021 Charlie Poole, Rob Prouse + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/nunit.sln b/nunit.sln index 316525fd0f..ed0563572c 100644 --- a/nunit.sln +++ b/nunit.sln @@ -44,12 +44,14 @@ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "framework", "framework", "{CE68713C-2E19-43E8-9333-6ED817110D52}" ProjectSection(SolutionItems) = preProject nuget\framework\nunit.nuspec = nuget\framework\nunit.nuspec + nuget\framework\nunit.snupkg.nuspec = nuget\framework\nunit.snupkg.nuspec EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "nunitlite", "nunitlite", "{8D43A220-7FE8-4214-BBB4-08568B88C7AA}" ProjectSection(SolutionItems) = preProject nuget\nunitlite\install.ps1 = nuget\nunitlite\install.ps1 nuget\nunitlite\nunitlite.nuspec = nuget\nunitlite\nunitlite.nuspec + nuget\nunitlite\nunitlite.snupkg.nuspec = nuget\nunitlite\nunitlite.snupkg.nuspec nuget\nunitlite\Program.cs = nuget\nunitlite\Program.cs nuget\nunitlite\Program.vb = nuget\nunitlite\Program.vb EndProjectSection diff --git a/src/NUnitFramework/Directory.Build.props b/src/NUnitFramework/Directory.Build.props index a9e9c16629..3c3b1d190f 100644 --- a/src/NUnitFramework/Directory.Build.props +++ b/src/NUnitFramework/Directory.Build.props @@ -29,12 +29,14 @@ false - embedded + portable true - true + snupkg + true +