private FileInfo CreateProjectFile(DirectoryInfo root, SolutionModel model) { string projectRoot = string.Format("{0}/{1}/", root.FullName, model.ProjectName); var directoryInfo = new DirectoryInfo(projectRoot); if (!directoryInfo.Exists) { directoryInfo.Create(); } var projectModel = new ProjectModel(model.TestProjectGuid) { ProjectAssemblyName = model.ProjectAssemblyName, ProjectName = model.ProjectName, ProjectRootNameSpace = model.ProjectRootNameSpace, TargetFramework = model.TargetFramework, ReleaseOutputPath = string.Format("../../output/Release/{0}", model.ProjectName), DebugOutputPath = string.Format("../../output/Debug/{0}", model.ProjectName), ProjectType = model.ProjectType }; projectModel.ProjectOutputType = projectModel.ProjectTypeToProjectOutputType(model.ProjectType); projectModel.AddCoreReferences(); var projectFile = new FileInfo(projectRoot + projectModel.ProjectName + ".csproj"); File.WriteAllText(projectFile.FullName, TemplateRenderer.Render(ProjectTemplate, projectModel)); return(projectFile); }
private FileInfo[] CreateSolutionAssets(DirectoryInfo root, SolutionModel model) { var files = new List <FileInfo>(); FileInfo solutionFile; if (model.IncludeGitAttribute) { solutionFile = new FileInfo(string.Format("{0}/.gitattributes", root.FullName)); File.WriteAllText(solutionFile.FullName, TemplateRenderer.Render(GitAttributeTemplate, model)); files.Add(solutionFile); } if (model.IncludeGitIgnore) { solutionFile = new FileInfo(string.Format("{0}/.gitignore", root.FullName)); File.WriteAllText(solutionFile.FullName, TemplateRenderer.Render(GitIgnoreTemplate, model)); files.Add(solutionFile); } if (model.IncludeReadme) { solutionFile = new FileInfo(string.Format("{0}/README.md", root.FullName)); File.WriteAllText(solutionFile.FullName, TemplateRenderer.RenderAndRenderContent(ReadmeTemplate, model)); files.Add(solutionFile); } if (model.IncludeLicense) { solutionFile = new FileInfo(string.Format("{0}/License.txt", root.FullName)); File.WriteAllText(solutionFile.FullName, TemplateRenderer.Render(LicenseTemplate, model)); files.Add(solutionFile); } return(files.ToArray()); }
private FileInfo CreateSolutionFile(DirectoryInfo root, SolutionModel model) { var templateToRender = model.IncludeTestProject ? SolutionWithTestTemplate : SolutionTemplate; var solutionFile = new FileInfo(string.Format("{0}{1}.sln", root.FullName, model.SolutionName)); File.WriteAllText(solutionFile.FullName, TemplateRenderer.Render(templateToRender, model)); return(solutionFile); }
private FileInfo[] CreateProjectAssets(DirectoryInfo root, SolutionModel model) { var files = new List <FileInfo>(); FileInfo solutionFile; if (model.IncludeResharper) { solutionFile = new FileInfo(string.Format("{0}/resharper.settings", root.FullName)); File.WriteAllText(solutionFile.FullName, TemplateRenderer.Render(ResharperSettingsTemplate, model)); files.Add(solutionFile); } if (model.IncludeStylecop) { solutionFile = new FileInfo(string.Format("{0}/Settings.StyleCop", root.FullName)); File.WriteAllText(solutionFile.FullName, TemplateRenderer.Render(StyleCopTemplate, model)); files.Add(solutionFile); } return(files.ToArray()); }