static CakeAPI() { var env = new CakeEnvironment(new CakePlatform(), new CakeRuntime()); var fileSystem = new FileSystem(); var verbosity = Verbosity.Normal; if (Startup.HasArgument("cake-verbosity")) { verbosity = Enum.Parse <Verbosity>(Startup.Argument("cake-verbosity")); } var cakeLog = new CakeBuildLog(new CakeConsole(env), verbosity); var cakeConfiguration = new CakeConfiguration(new Dictionary <string, string>()); var toolRepos = new ToolRepository(env); Globber = new Globber(fileSystem, env); var cakeDataService = new CakeDataService(); var registry = new WindowsRegistry(); var toolLocator = new ToolLocator(env, toolRepos, new ToolResolutionStrategy(fileSystem, env, Globber, cakeConfiguration, cakeLog)); var cakeArgs = new CakeArguments(new List <string>().ToLookup(x => x)); var procRunner = new ProcessRunner(fileSystem, env, cakeLog, toolLocator, cakeConfiguration); Context = new CakeContext(fileSystem, env, Globber, cakeLog, cakeArgs, procRunner, registry, toolLocator, cakeDataService, cakeConfiguration); }
public static IScriptHost GetScriptHost() { IFileSystem fileSystem = new FileSystem(); ICakeDataService data = new CakeDataService(); ICakeEnvironment environment = new CakeEnvironment( new CakePlatform(), new CakeRuntime() ); var console = new CakeConsole(environment); ICakeLog log = new CakeBuildLog(console); IGlobber globber = new Globber(fileSystem, environment); ICakeArguments arguments = new CakeArguments(BridgeArgumentParser.GetParsedCommandLine()); ICakeConfiguration configuration = new CakeConfiguration(new Dictionary <string, string>()); IToolLocator tools = new ToolLocator( environment, new ToolRepository(environment), new ToolResolutionStrategy( fileSystem, environment, globber, configuration, log ) ); ICakeContext context = new CakeContext( fileSystem, environment, globber, log, arguments, new ProcessRunner(fileSystem, environment, log, tools, configuration), new WindowsRegistry(), tools, data, configuration ); return(new BridgeScriptHost( new CakeEngine(data, log), context, new DefaultExecutionStrategy(log), new CakeReportPrinter(console, context), arguments )); }