Repository navigation
Expand file tree
/
Copy pathbuild.cake
More file actions
83 lines (73 loc) · 2.29 KB
/
Copy pathbuild.cake
File metadata and controls
83 lines (73 loc) · 2.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#load "./build/parameters.cake"
Setup<Parameters>(context =>
{
var parameters = new Parameters(context, "./BlogHelper9000.sln");
return parameters;
});
Task("Clean")
.Does<Parameters>((context, parameters) =>
{
CleanDirectories("./**/bin/" + parameters.Configuration);
CleanDirectories("./**/obj");
CleanDirectories("./releases");
});
Task("Restore-NuGet-Packages")
.IsDependentOn("Clean")
.Does<Parameters>((context, parameters) =>
{
DotNetRestore(parameters.SolutionFile, new DotNetRestoreSettings
{
Verbosity = DotNetVerbosity.Minimal,
Sources = new [] { "https://api.nuget.org/v3/index.json" },
});
});
Task("Build")
.IsDependentOn("Restore-NuGet-Packages")
.Does<Parameters>((context, parameters) =>
{
// Build the solution.
var path = MakeAbsolute(new DirectoryPath(parameters.SolutionFile));
DotNetBuild(path.FullPath, new DotNetBuildSettings()
{
Configuration = parameters.Configuration,
NoRestore = true
});
});
Task("Run-Unit-Tests")
.Does<Parameters>((context, parameters) =>
{
var testProjects = GetFiles("./**/*.Tests.csproj");
foreach (var project in testProjects)
{
Information("Running tests in {0}", project);
DotNetTest(project.FullPath, new DotNetTestSettings
{
Configuration = parameters.Configuration,
NoBuild = true,
ArgumentCustomization = args => args
.Append("/p:CollectCoverage=true /p:CoverletOutput=TestResults/ /p:CoverletOutputFormat=lcov")
});
}
});
Task("PackedIt")
.WithCriteria<Parameters>((context, parameters) => parameters.Configuration == "release")
.Does<Parameters>((context, parameters) =>
{
var settings = new DotNetPackSettings
{
NoBuild = true,
NoLogo = true,
Configuration = "Release",
OutputDirectory = "./releases/"
};
DotNetPack(parameters.SolutionFile, settings);
});
Task("Default").IsDependentOn("Build");
Task("Tests")
.IsDependentOn("Build")
.IsDependentOn("Run-Unit-Tests");
Task("Pack")
.IsDependentOn("Build")
.IsDependentOn("Run-Unit-Tests")
.IsDependentOn("PackedIt");
RunTarget(Argument("target", "Default"));