public void ExtendWithDiscoveries(Suite suite)
{
var srcDir = suiteRoot.GetChildDirectory("src");
srcDir.With(s => s.ChildDirectories.Do(
moduleName =>
{
Module module = suite.GetModule(moduleName);
var moduleDir = srcDir.GetChildDirectory(moduleName);
foreach (var projectName in moduleDir.ChildDirectories)
{
if (projectName.Equals("tests", StringComparison.InvariantCultureIgnoreCase))
{
// This is the special subdirectory for test projects
var testsDir = moduleDir.GetChildDirectory(projectName);
foreach (var testProjectName in testsDir.ChildDirectories)
{
var testProject = module.GetTestProject(testProjectName);
DiscoverProjectSources(testProject, testsDir.GetChildDirectory(testProjectName), suite.SourceSetIgnoreLists);
}
}
else
{
// This is a project directory
Project project = module.GetProject(projectName);
DiscoverProjectSources(project, moduleDir.GetChildDirectory(projectName), suite.SourceSetIgnoreLists);
}
}
}));
}