11// Load the recipe
2- #load nuget : ? package= NUnit . Cake . Recipe & version = 1.6 .0 - alpha . 6
2+ #load nuget : ? package= NUnit . Cake . Recipe & version = 1.6 .0 - alpha . 8
33// Comment out above line and uncomment below for local tests of recipe changes
44//#load ../NUnit.Cake.Recipe/recipe/*.cake
55
66// Load additional cake files
77#load package - tests . cake
8+ #load KnownExtensions. cake
89
910// Initialize BuildSettings
1011BuildSettings . Initialize (
@@ -20,6 +21,10 @@ BuildSettings.Initialize(
2021//////////////////////////////////////////////////////////////////////
2122
2223var THIS_VERSION = BuildSettings . PackageVersion ;
24+ var RUNNER_DESCRIPTION =
25+ "This package includes the console runner and test engine for version 3 and higher of the NUnit unit-testing framework." +
26+ "\r \n \n Any extensions, if needed, may be installed as separate packages." ;
27+
2328PackageDefinition NUnitExtensibilityApiPackage = new NuGetPackage (
2429 id : "NUnit.Extensibility.Api" ,
2530 source : BuildSettings . SourceDirectory + "NUnitCommon/nunit.extensibility.api/nunit.extensibility.api.csproj" ,
@@ -144,49 +149,52 @@ PackageDefinition NUnitConsoleRunnerDotNetToolPackage = new DotNetToolPackage(
144149// 1. NUnit.ConsoleRunner needs to use it to specify the bundled pluggable agents
145150PackageDefinition NUnitConsoleRunnerNuGetPackage = new NuGetPackage (
146151 id : "NUnit.ConsoleRunner" ,
147- source : BuildSettings . NuGetDirectory + "runners/nunit.console-runner.nuspec" ,
152+ description : RUNNER_DESCRIPTION ,
153+ packageContent : new PackageContent ( )
154+ . WithRootFiles ( "../../LICENSE.txt" , "../../NOTICES.txt" , "../../nunit_256.png" )
155+ . WithDirectories (
156+ new DirectoryContent ( "tools" ) . WithFiles (
157+ "net462/nunit-console.exe" , "net462/nunit-console.exe.config" , "net462/nunit.engine.dll" ,
158+ "net462/nunit.extensibility.dll" , "net462/nunit.extensibility.api.dll" , "net462/nunit.common.dll" ,
159+ "net462/nunit-console.pdb" , "net462/nunit.engine.pdb" , "net462/nunit.engine.api.pdb" ,
160+ "net462/nunit.extensibility.pdb" , "net462/nunit.extensibility.api.pdb" , "net462/nunit.common.pdb" ,
161+ "net462/nunit.engine.api.dll" , "net462/testcentric.metadata.dll" ) )
162+ . WithDependencies ( KnownExtensions . BundledNuGetAgents ) ,
163+ // Keeping separate check for dependencies until PackageContent automatic verification handles them
148164 checks : new PackageCheck [ ] {
149- HasFiles ( "LICENSE.txt" , "NOTICES.txt" ) ,
150- HasDirectory ( "tools" ) . WithFiles (
151- "nunit-console.exe" , "nunit-console.exe.config" , "nunit.engine.dll" ,
152- "nunit.extensibility.dll" , "nunit.extensibility.api.dll" , "nunit.common.dll" ,
153- "nunit.engine.api.dll" , "testcentric.metadata.dll" ) ,
154- HasDependency ( "NUnit.Extension.Net462PluggableAgent" , "4.1.0-alpha.5" ) ,
155- HasDependency ( "NUnit.Extension.Net80PluggableAgent" , "4.1.0-alpha.6" ) ,
156- HasDependency ( "NUnit.Extension.Net90PluggableAgent" , "4.1.0-alpha.4" )
157- } ,
158- symbols : new PackageCheck [ ] {
159- HasDirectory ( "tools" ) . WithFiles (
160- "nunit.engine.pdb" , "nunit.extensibility.pdb" , "nunit.extensibility.api.pdb" ,
161- "nunit.common.pdb" , "nunit.engine.api.pdb" , "nunit-console.pdb" ) ,
165+ HasDependencies ( KnownExtensions . BundledNuGetAgents )
162166 } ,
163167 testRunner : new ConsoleRunnerSelfTester ( BuildSettings . NuGetTestDirectory
164168 + $ "NUnit.ConsoleRunner.{ BuildSettings . PackageVersion } /tools/nunit-console.exe") ,
165169 tests : StandardRunnerTests ) ;
166170
167- // 2. NUnit.Console is a meta-package
168- PackageDefinition NUnitConsoleNuGetPackage = new NuGetPackage(
169- id : "NUnit.Console" ,
170- source : BuildSettings . NuGetDirectory + "runners/nunit.console-runner-with-extensions.nuspec" ,
171- checks : new PackageCheck [ ] { HasFile ( "LICENSE.txt" ) } ) ;
172-
173171// 3. The chocolatey console runner has to follow special chocolatey conventions
174172PackageDefinition NUnitConsoleRunnerChocolateyPackage = new ChocolateyPackage (
175173 id : "nunit-console-runner" ,
176- source : BuildSettings . ChocolateyDirectory + "nunit-console-runner.nuspec" ,
174+ description : RUNNER_DESCRIPTION ,
175+ packageContent : new PackageContent ( )
176+ . WithDirectories (
177+ new DirectoryContent ( "tools" ) . WithFiles (
178+ "../../LICENSE.txt" , "../../NOTICES.txt" , "../../choco/VERIFICATION.txt" ,
179+ "net462/nunit-console.exe" , "net462/nunit-console.exe.config" ,
180+ "net462/nunit.engine.dll" , "net462/nunit.extensibility.dll" , "net462/nunit.extensibility.api.dll" ,
181+ "net462/nunit.common.dll" , "net462/nunit.engine.api.dll" , "net462/testcentric.metadata.dll" ) )
182+ . WithDependencies ( KnownExtensions . BundledChocolateyAgents ) ,
183+ // Keeping separate check for dependencies until PackageContent automatic verification handles them
177184 checks : new PackageCheck [ ] {
178- HasDirectory ( "tools" ) . WithFiles (
179- "LICENSE.txt" , "NOTICES.txt" , "VERIFICATION.txt" , "nunit-console.exe" , "nunit-console.exe.config" ,
180- "nunit.engine.dll" , "nunit.extensibility.dll" , "nunit.extensibility.api.dll" ,
181- "nunit.common.dll" , "nunit.engine.api.dll" , "testcentric.metadata.dll" ) ,
182- HasDependency ( "nunit-extension-net462-pluggable-agent" , "4.1.0-alpha.5" ) ,
183- HasDependency ( "nunit-extension-net80-pluggable-agent" , "4.1.0-alpha.6" ) ,
184- HasDependency ( "nunit-extension-net90-pluggable-agent" , "4.1.0-alpha.4" )
185+ HasDependencies ( KnownExtensions . BundledChocolateyAgents )
185186 } ,
186187 testRunner : new ConsoleRunnerSelfTester ( BuildSettings . ChocolateyTestDirectory
187188 + $ "nunit-console-runner.{ BuildSettings . PackageVersion } /tools/nunit-console.exe") ,
188189 tests : StandardRunnerTests ) ;
189190
191+ // NUnit.Console is a meta-package and is built using a nuspec file
192+ PackageDefinition NUnitConsoleNuGetPackage = new NuGetPackage (
193+ id : "NUnit.Console" ,
194+ source : BuildSettings . NuGetDirectory + "runners/nunit.console-runner-with-extensions.nuspec" ,
195+ basePath : BuildSettings . ProjectDirectory ,
196+ checks : new PackageCheck [ ] { HasFile ( "LICENSE.txt" ) } ) ;
197+
190198// Add all packages to BuildSettings in order they should be build.
191199// Dependencies must precede all the packages that depend on them.
192200BuildSettings . Packages . AddRange ( new PackageDefinition [ ] {
@@ -268,19 +276,6 @@ public class DirectTestAgentRunner : TestRunner, IPackageTestRunner
268276 }
269277}
270278
271- //////////////////////////////////////////////////////////////////////
272- // ADDITIONAL TARGETS USED IN DEVELOPMENT
273- //////////////////////////////////////////////////////////////////////
274-
275- Task ( "InstallBundledAgents" )
276- . Description ( "Installs just the agents we bundle with the GUI runner." )
277- . Does ( ( ) =>
278- {
279- new PackageReference ( "NUnit.Extension.Net462PluggableAgent" , "4.1.0-alpha.5" ) . Install ( BuildSettings . ProjectDirectory + "bin" ) ;
280- new PackageReference ( "NUnit.Extension.Net80PluggableAgent" , "4.1.0-alpha.6" ) . Install ( BuildSettings . ProjectDirectory + "bin" ) ;
281- new PackageReference ( "NUnit.Extension.Net90PluggableAgent" , "4.1.0-alpha.4" ) . Install ( BuildSettings . ProjectDirectory + "bin" ) ;
282- } ) ;
283-
284279//////////////////////////////////////////////////////////////////////
285280// EXECUTION
286281//////////////////////////////////////////////////////////////////////
0 commit comments