Skip to content

Commit 12e57c6

Browse files
committed
Adds building of the Generators solution
1 parent 971a22d commit 12e57c6

File tree

1 file changed

+18
-8
lines changed

1 file changed

+18
-8
lines changed

build.cake

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@ using System.Threading.Tasks;
55
var target = Argument("target", "Default");
66
var exercise = Argument<string>("exercise", null);
77

8-
var sourceDir = "./exercises";
8+
var exercisesSourceDir = "./exercises";
9+
var exercisesBuildDir = "./build/exercises";
10+
11+
var generatorsSourceDir = "./generators";
12+
913
var buildDir = "./build";
1014

1115
var parallelOptions = new ParallelOptions
@@ -22,14 +26,14 @@ Task("Clean")
2226
Task("CopyExercises")
2327
.IsDependentOn("Clean")
2428
.Does(() => {
25-
CopyDirectory($"{sourceDir}/{exercise}", $"{buildDir}/{exercise}");
29+
CopyDirectory($"{exercisesSourceDir}/{exercise}", $"{exercisesBuildDir}/{exercise}");
2630
});
2731

2832
Task("EnableAllTests")
2933
.IsDependentOn("CopyExercises")
3034
.Does(() => {
3135
var skipRegex = new Regex(@"Skip\s*=\s*""Remove to run test""", RegexOptions.Compiled);
32-
var testFiles = GetFiles(buildDir + "/*/*Test.cs");
36+
var testFiles = GetFiles(exercisesBuildDir + "/*/*Test.cs");
3337

3438
foreach (var testFile in testFiles) {
3539
var contents = System.IO.File.ReadAllText(testFile.FullPath);
@@ -47,17 +51,17 @@ Task("TestRefactoringProjects")
4751
// These projects have a working default implementation, and have
4852
// all the tests enabled. These should pass without any changes.
4953
var refactoringProjects =
50-
GetFiles(buildDir + "/*/TreeBuilding.csproj")
51-
+ GetFiles(buildDir + "/*/Ledger.csproj")
52-
+ GetFiles(buildDir + "/*/Markdown.csproj");
54+
GetFiles(exercisesBuildDir + "/*/TreeBuilding.csproj")
55+
+ GetFiles(exercisesBuildDir + "/*/Ledger.csproj")
56+
+ GetFiles(exercisesBuildDir + "/*/Markdown.csproj");
5357

5458
Parallel.ForEach(refactoringProjects, parallelOptions, (project) => DotNetCoreTest(project.FullPath));
5559
});
5660

5761
Task("ReplaceStubWithExample")
5862
.IsDependentOn("TestRefactoringProjects")
5963
.Does(() => {
60-
var allProjects = GetFiles(buildDir + "/*/*.csproj");
64+
var allProjects = GetFiles(exercisesBuildDir + "/*/*.csproj");
6165

6266
foreach (var project in allProjects) {
6367
var projectDir = project.GetDirectory();
@@ -73,12 +77,18 @@ Task("ReplaceStubWithExample")
7377
Task("TestUsingExampleImplementation")
7478
.IsDependentOn("ReplaceStubWithExample")
7579
.Does(() => {
76-
var allProjects = GetFiles(buildDir + "/*/*.csproj");
80+
var allProjects = GetFiles(exercisesBuildDir + "/*/*.csproj");
7781
Parallel.ForEach(allProjects, parallelOptions, (project) => DotNetCoreTest(project.FullPath));
7882
});
7983

84+
Task("BuildGeneratorsSolution")
85+
.Does(() => {
86+
DotNetCoreBuild(generatorsSourceDir + "/Generators.csproj");
87+
});
88+
8089
Task("Default")
8190
.IsDependentOn("TestUsingExampleImplementation")
91+
.IsDependentOn("BuildGeneratorsSolution")
8292
.Does(() => { });
8393

8494
RunTarget(target);

0 commit comments

Comments
 (0)