public ScriptInfo BuildEntryPointScript(string scriptDir, string buildDir) { var script = new ScriptInfo(); try { script = FindEntryPoint(scriptDir, buildDir); if (script == null) { return(null); } Dump(script, true); var entryPointFileText = StripNamespaces(GetFileText(script.SourcePath)); var builtScriptText = new StringBuilder(entryPointFileText); var paths = GetOtherSourcePaths(script); foreach (var path in paths) { var sourceFileText = GetFileText(path); builtScriptText.Append(Environment.NewLine + Environment.NewLine + StripNamespaces(sourceFileText)); Dump($"Included contents of {Path.GetFileName(path)}"); } using (var writer = new StreamWriter(script.BuiltPath, false)) { var usingsProcessed = ArrangeUsingStatements(builtScriptText.ToString()); writer.WriteLine(usingsProcessed); } script.Success = true; } catch (Exception e) { script.Error = ErrorFormatter.Format(e); } return(script); }