public int Run(IPencilOptions options) { if(!options.NoLogo) ShowLogo(); if(options.Help) { options.Display(logger); return Success; } if(string.IsNullOrEmpty(options.BuildScript)) { options.Display(logger); return Success; } var project = compiler.Compile(options.BuildScript); if(options.ShowTargets) { project.DisplayTargets(logger); return Success; } return Run(options, project); }
private int Run(IPencilOptions options, IProject project) { var fileSystem = LocalFileSystem.Instance; var platform = new ExecutionEnvironment(logger); project.Register(fileSystem); project.Register<IExecutionEnvironment>(platform); ProjectContext.FileSystem = fileSystem; ProjectContext.ExecutionEnvironment = platform; var buildFilePath = fileSystem.GetFile(options.BuildScript).Parent.Path.ToString(); using (Pushd(buildFilePath, platform)) return Run(options.Targets, project); }