59 lines
2.3 KiB
C#
59 lines
2.3 KiB
C#
using System.Linq;
|
|
using Nuke.Common;
|
|
using Nuke.Common.Tools.DotNet;
|
|
|
|
using static Nuke.Common.Tools.DotNet.DotNetTasks;
|
|
|
|
public partial class Build
|
|
{
|
|
[Parameter]
|
|
readonly bool TestFull = false;
|
|
[Parameter]
|
|
readonly bool TestIntegrationData = false;
|
|
[Parameter]
|
|
readonly bool TestIntegrationEms = false;
|
|
[Parameter]
|
|
readonly bool TestIntegrationNms = false;
|
|
[Parameter]
|
|
readonly bool TestIntegrationMsMq = false;
|
|
|
|
Target Test => _ => _
|
|
.DependsOn(Restore)
|
|
.After(Compile)
|
|
.Executes(() =>
|
|
{
|
|
var testTargets = GetActiveProjects()
|
|
.Where(x => x.Name.Contains(".Test"))
|
|
.Where(x => !x.Name.Contains(".Integration") || TestFull)
|
|
.Where(x => !x.Name.Contains("Spring.Web.Conversation.NHibernate5.Tests") || TestFull)
|
|
.Where(x => !x.Name.Contains("Spring.Data.Integration.Tests") || TestIntegrationData)
|
|
.Where(x => !x.Name.Contains("Spring.Messaging.Tests") || TestIntegrationMsMq || TestFull)
|
|
.Where(x => !x.Name.Contains("Spring.Nms.Integration.Tests") || TestIntegrationNms || TestFull)
|
|
.Where(x => !x.Name.Contains("Spring.Messaging.Ems.Integration.Tests") || TestIntegrationEms || TestFull)
|
|
.Where(x => !x.Name.Contains("Spring.Services.Tests"))
|
|
.Where(x => !x.Name.Contains("Spring.Template.Velocity.Castle.Tests") || EnvironmentInfo.IsWin)
|
|
.Where(x => !x.Name.Contains("Spring.Template.Velocity.Tests") || EnvironmentInfo.IsWin)
|
|
.Where(x => !x.Name.Contains("Spring.Testing.Microsoft.Test") || EnvironmentInfo.IsWin)
|
|
.Where(x => !x.Name.Contains("Spring.Web.Tests") || EnvironmentInfo.IsWin)
|
|
.Where(x => !x.Name.Contains("Spring.Web.Mvc5.Tests") || EnvironmentInfo.IsWin);
|
|
|
|
foreach (var project in testTargets)
|
|
{
|
|
DotNetTest(s =>
|
|
{
|
|
s = s
|
|
.SetProjectFile(project.Path)
|
|
.SetConfiguration(Configuration)
|
|
.EnableNoRestore();
|
|
|
|
if (!EnvironmentInfo.IsWin)
|
|
{
|
|
s = s.SetFramework("net5.0");
|
|
}
|
|
|
|
return s;
|
|
});
|
|
}
|
|
});
|
|
|
|
} |