private void GenerateCoreCLRSolution()
{
var sdkSourceFolder = Path.Combine(Options.SdkRootFolder, GeneratorDriver.SourceSubFoldername);
var session = new Dictionary<string, object>();
var coreProjectsRoot = Path.Combine(sdkSourceFolder, GeneratorDriver.CoreSubFoldername);
var coreProjects = new List<Project>() { CoreProjectFromFile(Path.Combine(coreProjectsRoot, "AWSSDK.Core.CoreCLR.xproj")) };
session["CoreProjects"] = coreProjects;
var buildConfigurations = new HashSet<string>(StringComparer.OrdinalIgnoreCase);
var solutionProjects = new Dictionary<string, ProjectFileCreator.ProjectConfigurationData>();
var serviceSolutionFolders = new List<ServiceSolutionFolder>();
var serviceProjectsRoot = Path.Combine(sdkSourceFolder, GeneratorDriver.ServicesSubFoldername);
foreach (var servicePath in Directory.GetDirectories(serviceProjectsRoot))
{
var di = new DirectoryInfo(servicePath);
var folder = ServiceSolutionFolderFromPath(di.Name);
foreach (var projectFile in Directory.GetFiles(servicePath, "*CoreCLR.xproj", SearchOption.TopDirectoryOnly))
{
folder.Projects.Add(ServiceProjectFromFile(di.Name, projectFile));
SelectProjectAndConfigurationsForSolution(projectFile, solutionProjects, buildConfigurations);
}
if(folder.Projects.Count > 0)
serviceSolutionFolders.Add(folder);
}
session["ServiceSolutionFolders"] = serviceSolutionFolders;
var generator = new CoreCLRSolutionFile() { Session = session };
var content = generator.TransformText();
GeneratorDriver.WriteFile(Options.SdkRootFolder, null, "AWSSDK.CoreCLR.sln", content, true, false);
}