public void SetUp(Options opts) { this.opts = opts; UnityContainer ScriptContainer = ContainerFactory.ConfigureContainer(); this.scriptExecutor = ScriptContainer.Resolve <IScriptExecutor>(); }
public ExecuteScriptCommand( string script, string[] scriptArgs, IFileSystem fileSystem, IScriptExecutor scriptExecutor, IScriptPackResolver scriptPackResolver, ILog logger, IAssemblyResolver assemblyResolver, IFileSystemMigrator fileSystemMigrator, IScriptLibraryComposer composer ) { Guard.AgainstNullArgument("fileSystem", fileSystem); Guard.AgainstNullArgument("scriptExecutor", scriptExecutor); Guard.AgainstNullArgument("scriptPackResolver", scriptPackResolver); Guard.AgainstNullArgument("logger", logger); Guard.AgainstNullArgument("assemblyResolver", assemblyResolver); Guard.AgainstNullArgument("fileSystemMigrator", fileSystemMigrator); Guard.AgainstNullArgument("composer", composer); _script = script; ScriptArgs = scriptArgs; _fileSystem = fileSystem; _scriptExecutor = scriptExecutor; _scriptPackResolver = scriptPackResolver; _logger = logger; _assemblyResolver = assemblyResolver; _fileSystemMigrator = fileSystemMigrator; _composer = composer; }
public SystemAccessController(IUserManager userManager, IScriptExecutor scriptExecutor, IDepartmentController departmentController) { _userManager = userManager; _userPageSize = ConfigHelper.GetPaginationSize(); _scriptExecutor = scriptExecutor; _departmentController = departmentController; }
protected PackagesProviderBase( Project project, IProjectManager projectManager, ResourceDictionary resources, ProviderServices providerServices, IProgressProvider progressProvider) { if (projectManager == null) { throw new ArgumentNullException("projectManager"); } if (project == null) { throw new ArgumentNullException("project"); } if (resources == null) { throw new ArgumentNullException("resources"); } if (providerServices == null) { throw new ArgumentNullException("providerServices"); } _progressProvider = progressProvider; _resources = resources; _scriptExecutor = providerServices.ScriptExecutor; _progressWindowOpener = providerServices.ProgressWindow; _outputConsole = new Lazy<IConsole>(() => providerServices.OutputConsoleProvider.CreateOutputConsole(requirePowerShellHost: false)); ProjectManager = projectManager; _project = project; }
public PluginDispatcher(IWebBrowser browser, Func <string, bool> executeOnUrl) { this.executeOnUrl = executeOnUrl; this.browser = browser; this.browser.FrameLoadEnd += browser_FrameLoadEnd; this.executor = new CefScriptExecutor(browser); }
public override UpgradeEngine Given() { scriptProvider = Substitute.For <IScriptProvider>(); versionTracker = Substitute.For <IJournal>(); versionTracker.GetExecutedScripts().Returns(new List <ExecutedSqlScript> { new ExecutedSqlScript { Hash = "a", Name = "#1" }, new ExecutedSqlScript { Hash = "b", Name = "#2" }, new ExecutedSqlScript { Hash = "c", Name = "#3" } }); scriptExecutor = Substitute.For <IScriptExecutor>(); var config = new UpgradeConfiguration { ConnectionManager = new TestConnectionManager(Substitute.For <IDbConnection>()) }; config.ScriptProviders.Add(scriptProvider); config.ScriptExecutor = scriptExecutor; config.Journal = versionTracker; var upgrader = new UpgradeEngine(config); return(upgrader); }
public object Execute(IScriptExecutor repl, object[] args) { Guard.AgainstNullArgument("repl", repl); repl.Reset(); return null; }
public ScriptServices( IFileSystem fileSystem, IPackageAssemblyResolver packageAssemblyResolver, IScriptExecutor executor, IScriptEngine engine, IFilePreProcessor filePreProcessor, IReplCommandService replCommandService, IScriptPackResolver scriptPackResolver, IPackageInstaller packageInstaller, ILog logger, IAssemblyResolver assemblyResolver, IConsole console = null, IInstallationProvider installationProvider = null ) { FileSystem = fileSystem; PackageAssemblyResolver = packageAssemblyResolver; Executor = executor; Engine = engine; FilePreProcessor = filePreProcessor; ReplCommandService = replCommandService; ScriptPackResolver = scriptPackResolver; PackageInstaller = packageInstaller; Logger = logger; Console = console; AssemblyResolver = assemblyResolver; InstallationProvider = installationProvider; }
public ExecuteScriptCommand(string script, IFileSystem fileSystem, IScriptExecutor scriptExecutor, IScriptPackResolver scriptPackResolver) { _script = script; _fileSystem = fileSystem; _scriptExecutor = scriptExecutor; _scriptPackResolver = scriptPackResolver; }
public ScriptActivity( IScriptExecutor scriptExecutor, ILogger <ScriptActivity> logger) { _scriptExecutor = scriptExecutor; _logger = logger; }
public ExecuteScriptCommandBase( string script, string[] scriptArgs, IFileSystem fileSystem, IScriptExecutor scriptExecutor, IScriptPackResolver scriptPackResolver, ILogProvider logProvider, IAssemblyResolver assemblyResolver, IScriptLibraryComposer composer ) { Guard.AgainstNullArgument("fileSystem", fileSystem); Guard.AgainstNullArgument("scriptExecutor", scriptExecutor); Guard.AgainstNullArgument("scriptPackResolver", scriptPackResolver); Guard.AgainstNullArgument("logProvider", logProvider); Guard.AgainstNullArgument("assemblyResolver", assemblyResolver); Guard.AgainstNullArgument("composer", composer); Script = script; ScriptArgs = scriptArgs; FileSystem = fileSystem; ScriptExecutor = scriptExecutor; _scriptPackResolver = scriptPackResolver; Logger = logProvider.ForCurrentType(); AssemblyResolver = assemblyResolver; Composer = composer; }
private static CalamariResult ExecuteScript(IScriptExecutor psse, string scriptName, IVariables variables) { var runner = new TestCommandLineRunner(ConsoleLog.Instance, variables); var result = psse.Execute(new Script(scriptName), variables, runner); return(new CalamariResult(result.ExitCode, runner.Output)); }
private static InstalledProvider CreateInstalledProvider( IVsPackageManager packageManager = null, IPackageRepository localRepository = null, Project project = null, IScriptExecutor scriptExecutor = null, ISolutionManager solutionManager = null, IPackageRestoreManager packageRestoreManager = null) { if (packageManager == null) { packageManager = new Mock <IVsPackageManager>().Object; } var mockProgressWindowOpener = new Mock <IProgressWindowOpener>(); if (project == null) { project = new Mock <Project>().Object; } if (scriptExecutor == null) { scriptExecutor = new Mock <IScriptExecutor>().Object; } var services = new ProviderServices( null, mockProgressWindowOpener.Object, new Mock <IProviderSettings>().Object, new Mock <IUpdateAllUIService>().Object, scriptExecutor, new MockOutputConsoleProvider(), new Mock <IVsCommonOperations>().Object ); if (localRepository == null) { localRepository = new MockPackageRepository(); } if (solutionManager == null) { solutionManager = new Mock <ISolutionManager>().Object; } if (packageRestoreManager == null) { packageRestoreManager = new Mock <IPackageRestoreManager>().Object; } return(new InstalledProvider( packageManager, project, localRepository, new System.Windows.ResourceDictionary(), services, new Mock <IProgressProvider>().Object, solutionManager, packageRestoreManager)); }
public static void AddReferences(this IScriptExecutor executor, params Type[] typesFromReferencedAssembly) { Guard.AgainstNullArgument("typeFromReferencedAssembly", typesFromReferencedAssembly); var paths = typesFromReferencedAssembly.Select(t => t.Assembly.Location); executor.AddReferences(paths.ToArray()); }
public static void ImportNamespaces(this IScriptExecutor executor, params Type[] typesFromReferencedAssembly) { Guard.AgainstNullArgument("typesFromReferencedAssembly", typesFromReferencedAssembly); var namespaces = typesFromReferencedAssembly.Select(t => t.Namespace); executor.ImportNamespaces(namespaces.ToArray()); }
private bool TryCompile(string source, IScriptExecutor executor, out string errors, out Func <object, Task <object> > invoker) { invoker = null; errors = null; if (source.ToLower().EndsWith(".csx")) { source = "#load " + Environment.NewLine + source; } //return the type source += "System.Reflection.MethodInfo.GetCurrentMethod().DeclaringType"; var result = executor.ExecuteScript(source); if (result.CompileExceptionInfo != null) { var scriptException = (ScriptCompilationException)result.CompileExceptionInfo.SourceException; errors = scriptException.Message; return(false); } var returnValue = result.ReturnValue; var type = (Type)returnValue; invoker = GetInvoker(type); errors = null; return(true); }
public InitializationScriptRunner( Solution solution, IScriptExecutor scriptExecutor) { this.solution = solution; this.scriptExecutor = scriptExecutor; }
public ScriptServices( IFileSystem fileSystem, IPackageAssemblyResolver packageAssemblyResolver, IScriptExecutor executor, IRepl repl, IScriptEngine engine, IFilePreProcessor filePreProcessor, IScriptPackResolver scriptPackResolver, IPackageInstaller packageInstaller, IObjectSerializer objectSerializer, ILog logger, IAssemblyResolver assemblyResolver, IEnumerable<IReplCommand> replCommands, IConsole console = null, IInstallationProvider installationProvider = null) { FileSystem = fileSystem; PackageAssemblyResolver = packageAssemblyResolver; Executor = executor; Repl = repl; Engine = engine; FilePreProcessor = filePreProcessor; ScriptPackResolver = scriptPackResolver; PackageInstaller = packageInstaller; ObjectSerializer = objectSerializer; Logger = logger; Console = console; AssemblyResolver = assemblyResolver; InstallationProvider = installationProvider; ReplCommands = replCommands; }
public ExecuteScriptCommand( string script, string[] scriptArgs, IFileSystem fileSystem, IScriptExecutor scriptExecutor, IScriptPackResolver scriptPackResolver, ILog logger, IAssemblyResolver assemblyResolver, IFileSystemMigrator fileSystemMigrator, IScriptLibraryComposer composer ) { Guard.AgainstNullArgument("fileSystem", fileSystem); Guard.AgainstNullArgument("scriptExecutor", scriptExecutor); Guard.AgainstNullArgument("scriptPackResolver", scriptPackResolver); Guard.AgainstNullArgument("logger", logger); Guard.AgainstNullArgument("assemblyResolver", assemblyResolver); Guard.AgainstNullArgument("fileSystemMigrator", fileSystemMigrator); Guard.AgainstNullArgument("composer", composer); _script = script; ScriptArgs = scriptArgs; _fileSystem = fileSystem; _scriptExecutor = scriptExecutor; _scriptPackResolver = scriptPackResolver; _logger = logger; _assemblyResolver = assemblyResolver; _fileSystemMigrator = fileSystemMigrator; _composer = composer; }
public static void AddReferenceAndImportNamespaces(this IScriptExecutor executor, Type[] types) { Guard.AgainstNullArgument("executor", executor); executor.AddReferences(types); executor.ImportNamespaces(types); }
/// <summary> /// Initializes a new instance of the <see cref="DatabaseUpgrader"/> class. /// </summary> public DatabaseUpgrader(string connectionString, IScriptProvider scriptProvider, IVersionTracker versionTracker, IScriptExecutor scriptExecutor) { _connectionString = connectionString; _scriptExecutor = scriptExecutor; _versionTracker = versionTracker; _scriptProvider = scriptProvider; }
public ScriptServices( IFileSystem fileSystem, IPackageAssemblyResolver packageAssemblyResolver, IScriptExecutor executor, IScriptEngine engine, IFilePreProcessor filePreProcessor, IReplCommandService replCommandService, IScriptPackResolver scriptPackResolver, IPackageInstaller packageInstaller, ILog logger, IAssemblyResolver assemblyResolver, IConsole console = null, IInstallationProvider installationProvider = null ) { FileSystem = fileSystem; PackageAssemblyResolver = packageAssemblyResolver; Executor = executor; Engine = engine; FilePreProcessor = filePreProcessor; ReplCommandService = replCommandService; ScriptPackResolver = scriptPackResolver; PackageInstaller = packageInstaller; Logger = logger; Console = console; AssemblyResolver = assemblyResolver; InstallationProvider = installationProvider; }
protected PackagesProviderBase( Project project, IProjectManager projectManager, ResourceDictionary resources, ProviderServices providerServices, IProgressProvider progressProvider) { if (projectManager == null) { throw new ArgumentNullException("projectManager"); } if (project == null) { throw new ArgumentNullException("project"); } if (resources == null) { throw new ArgumentNullException("resources"); } if (providerServices == null) { throw new ArgumentNullException("providerServices"); } _progressProvider = progressProvider; _resources = resources; _scriptExecutor = providerServices.ScriptExecutor; _progressWindowOpener = providerServices.ProgressWindow; _outputConsole = new Lazy <IConsole>(() => providerServices.OutputConsoleProvider.CreateOutputConsole(requirePowerShellHost: false)); ProjectManager = projectManager; _project = project; }
public override UpgradeEngine Given() { scriptProvider = Substitute.For <IScriptProvider>(); scriptProvider.GetScripts(Arg.Any <IConnectionManager>()).Returns(new List <SqlScript> { new SqlScript("#1", "Content of #1"), new SqlScript("#3", "Content of #3"), }); versionTracker = Substitute.For <IJournal>(); versionTracker.GetExecutedScripts().Returns(new[] { "#1", "#2", "#3" }); scriptExecutor = Substitute.For <IScriptExecutor>(); var config = new UpgradeConfiguration { ConnectionManager = new TestConnectionManager(Substitute.For <IDbConnection>()) }; config.ScriptProviders.Add(scriptProvider); config.ScriptExecutor = scriptExecutor; config.Journal = versionTracker; var upgrader = new UpgradeEngine(config); return(upgrader); }
public MigrationResult ExecuteMigration(string connectionString, string scriptFilePath) { // Generate C# DataContext using SqlMetal var sqlMetalConnectionStringArg = GetSqlMetalConnectionStringArg(connectionString); var generatedCSharpDataContext = new LinqToSQLDataContextGenerator().GenerateDataContext_AndGetCSharpCode(connectionString, sqlMetalConnectionStringArg, dbmlManipulator); // Get LinqPad Script var linqpadCreator = new LinqPadCSharpCreator(); var script = linqpadCreator.Parse(scriptFilePath); // Add namespace for DataContext script.Namespaces.Add(LinqToSQLDataContextGenerator.DataContextNamespace); // Convert LinqPad Script to Executable Source Code var executableScript = linqpadCreator.MakeScriptExecutable(script, generatedCSharpDataContext); Action <Exception> logExceptionWithSourceCode = (ex) => { string primarySourceCode = executableScript.SourceCodePieces.First(); logger.ErrorException(scriptFilePath, ex); logger.Error(primarySourceCode); }; // Create Compiler var csharpProvider = new CSharpCodeProvider(); IScriptCompiler compiler = new CodeDomScriptCompiler(csharpProvider); Assembly assembly = null; try { // Compile Script > .NET Assembly assembly = compiler.Compile(executableScript.AssemblyReferences, executableScript.SourceCodePieces); } catch (Exception ex) { var myException = new MigrationException(new MigrationResult(scriptFilePath, false, new[] { "Failed to compile script." }, ex)); logExceptionWithSourceCode(myException); throw myException; } IScriptExecutor executor = GetScriptExecutor(script); try { // Execute! var result = executor.Execute(assembly, scriptFilePath); return(result); } catch (MigrationException ex) { logExceptionWithSourceCode(ex); throw ex; } catch (Exception ex) { var myException = new MigrationException(new MigrationResult(scriptFilePath, false, new[] { "Failed to execute compiled script." }, ex)); logExceptionWithSourceCode(myException); throw myException; } }
protected PowerShellHost(string name, IRestoreEvents restoreEvents, IRunspaceManager runspaceManager) { _restoreEvents = restoreEvents; _runspaceManager = runspaceManager; // TODO: Take these as ctor arguments _sourceRepositoryProvider = ServiceLocator.GetInstance <ISourceRepositoryProvider>(); _solutionManager = ServiceLocator.GetInstance <IVsSolutionManager>(); _settings = ServiceLocator.GetInstance <ISettings>(); _deleteOnRestartManager = ServiceLocator.GetInstance <IDeleteOnRestartManager>(); _scriptExecutor = ServiceLocator.GetInstance <IScriptExecutor>(); _dte = ServiceLocator.GetInstance <DTE>(); _sourceControlManagerProvider = ServiceLocator.GetInstanceSafe <ISourceControlManagerProvider>(); _commonOperations = ServiceLocator.GetInstanceSafe <ICommonOperations>(); PackageManagementContext = new PackageManagementContext(_sourceRepositoryProvider, _solutionManager, _settings, _sourceControlManagerProvider, _commonOperations); _name = name; IsCommandEnabled = true; InitializeSources(); _sourceRepositoryProvider.PackageSourceProvider.PackageSourcesChanged += PackageSourceProvider_PackageSourcesChanged; _restoreEvents.SolutionRestoreCompleted += RestoreEvents_SolutionRestoreCompleted; }
public static void ExecuteScript(this IScriptExecutor executor, string installPath, string scriptFileName, IPackage package, Project project, ILogger logger) { if (package.HasPowerShellScript(new[] { scriptFileName })) { executor.Execute(installPath, scriptFileName, package, project, logger); } }
public object Execute(IScriptExecutor repl, object[] args) { Guard.AgainstNullArgument("repl", repl); repl.Reset(); return(null); }
/// <summary> /// This executes the install script. /// </summary> /// <param name="p_tfmFileManager">The transactional file manager to use to interact with the file system.</param> /// <returns><c>true</c> if the script completed successfully; /// <c>false</c> otherwise.</returns> protected bool RunScript(TxFileManager p_tfmFileManager) { IModFileInstaller mfiFileInstaller = CreateFileInstaller(p_tfmFileManager, m_dlgOverwriteConfirmationDelegate); bool booResult = false; if (Mod.HasInstallScript) { IDataFileUtil dfuDataFileUtility = new DataFileUtil(GameMode.GameModeEnvironmentInfo.InstallationPath); IIniInstaller iniIniInstaller = CreateIniInstaller(p_tfmFileManager, m_dlgOverwriteConfirmationDelegate); IGameSpecificValueInstaller gviGameSpecificValueInstaller = CreateGameSpecificValueInstaller(p_tfmFileManager, m_dlgOverwriteConfirmationDelegate); InstallerGroup ipgInstallers = new InstallerGroup(dfuDataFileUtility, mfiFileInstaller, iniIniInstaller, gviGameSpecificValueInstaller, PluginManager); IScriptExecutor sexScript = Mod.InstallScript.Type.CreateExecutor(Mod, GameMode, EnvironmentInfo, ipgInstallers, UIContext); sexScript.TaskStarted += new EventHandler <EventArgs <IBackgroundTask> >(ScriptExecutor_TaskStarted); sexScript.TaskSetCompleted += new EventHandler <TaskSetCompletedEventArgs>(ScriptExecutor_TaskSetCompleted); booResult = sexScript.Execute(Mod.InstallScript); iniIniInstaller.FinalizeInstall(); if (gviGameSpecificValueInstaller != null) { gviGameSpecificValueInstaller.FinalizeInstall(); } } else { booResult = RunBasicInstallScript(mfiFileInstaller, ActiveMods); } mfiFileInstaller.FinalizeInstall(); return(booResult); }
public ScriptServices( IFileSystem fileSystem, IPackageAssemblyResolver packageAssemblyResolver, IScriptExecutor executor, IRepl repl, IScriptEngine engine, IFilePreProcessor filePreProcessor, IScriptPackResolver scriptPackResolver, IPackageInstaller packageInstaller, IObjectSerializer objectSerializer, ILog logger, IAssemblyResolver assemblyResolver, IEnumerable <IReplCommand> replCommands, IFileSystemMigrator fileSystemMigrator, IConsole console = null, IInstallationProvider installationProvider = null) { FileSystem = fileSystem; PackageAssemblyResolver = packageAssemblyResolver; Executor = executor; Repl = repl; Engine = engine; FilePreProcessor = filePreProcessor; ScriptPackResolver = scriptPackResolver; PackageInstaller = packageInstaller; ObjectSerializer = objectSerializer; Logger = logger; Console = console; AssemblyResolver = assemblyResolver; InstallationProvider = installationProvider; ReplCommands = replCommands; FileSystemMigrator = fileSystemMigrator; }
protected CalamariResult ExecuteScript(IScriptExecutor psse, string scriptName, IVariables variables) { var runner = new TestCommandLineRunner(new InMemoryLog(), variables); var result = psse.Execute(new Script(scriptName), variables, runner); return(new CalamariResult(result.ExitCode, runner.Output)); }
public override UpgradeEngine Given() { scriptProvider = Substitute.For <IScriptProvider>(); scriptProvider.GetScripts(Arg.Any <IConnectionManager>()).Returns(new List <SqlScript> { new SqlScript("1234", "foo") }); versionTracker = Substitute.For <IJournal>(); dbConnection = Substitute.For <IDbConnection>(); dbCommand = Substitute.For <IDbCommand>(); dbConnection.CreateCommand().Returns(dbCommand); var connectionManager = new TestConnectionManager(dbConnection); scriptExecutor = new SqlScriptExecutor(() => connectionManager, () => Substitute.For <IUpgradeLog>(), null, () => true, null, () => versionTracker); var builder = new UpgradeEngineBuilder() .WithScript(new SqlScript("1234", "create table $var$ (Id int)")) .JournalTo(versionTracker) .WithVariable("var", "sub"); builder.Configure(c => c.ScriptExecutor = scriptExecutor); builder.Configure(c => c.ConnectionManager = connectionManager); var upgrader = builder.Build(); return(upgrader); }
/// <summary> /// Register executor for execution scripts. /// </summary> public static bool RegisterExecutor(string ext, IScriptExecutor executor) { if (executors.ContainsKey(ext)) return false; executors.Add(ext, executor); return true; }
public UserManagerService(IPermissionController permissionController, IUserController userController, IRoleController roleController, IScriptExecutor scriptExecutor, IDepartmentController departmentController) { _permissionController = permissionController; _userController = userController; _roleController = roleController; _scriptExecutor = scriptExecutor; _departmentController = departmentController; }
public VsPackageInstaller(IVsPackageManagerFactory packageManagerFactory, IScriptExecutor scriptExecutor, IPackageRepositoryFactory repositoryFactory) { _packageManagerFactory = packageManagerFactory; _scriptExecutor = scriptExecutor; _repositoryFactory = repositoryFactory; }
public virtual void AfterEach() { ScriptProvider = null; VersionTracker = null; ScriptExecutor = null; Log = null; DbUpgrader = null; }
public virtual void AfterEach() { ScriptProvider = null; VersionTracker = null; ScriptExecutor = null; Log = null; DbUpgrader = null; }
public VsPackageInstaller(IVsPackageManagerFactory packageManagerFactory, IScriptExecutor scriptExecutor, IPackageRepositoryFactory repositoryFactory) { _packageManagerFactory = packageManagerFactory; _scriptExecutor = scriptExecutor; _repositoryFactory = repositoryFactory; }
/// <summary> /// Windows service shell /// </summary> public WindowsServiceShell() { _executor = new ScriptExecutor(GetType()); _scripts = new ScriptsBoundle(); _exceptionFactoryFactory = new WindowsServiceExceptionFactory(new Win32ServiceMessages()); _mapper = new Mapper(); }
public VsPackageUninstaller(IVsPackageManagerFactory packageManagerFactory, IPackageRepository packageRepository, IScriptExecutor scriptExecutor) { _packageManagerFactory = packageManagerFactory; _scriptExecutor = scriptExecutor; _packageRepository = packageRepository; }
public VsPackageUninstaller(IVsPackageManagerFactory packageManagerFactory, IPackageRepository packageRepository, IScriptExecutor scriptExecutor) { _packageManagerFactory = packageManagerFactory; _scriptExecutor = scriptExecutor; _packageRepository = packageRepository; }
public ProviderServices( ILicenseWindowOpener licenseWindowOpener, IProgressWindowOpener progressWindow, IScriptExecutor scriptExecutor, IOutputConsoleProvider outputConsoleProvider) { LicenseWindow = licenseWindowOpener; ProgressWindow = progressWindow; ScriptExecutor = scriptExecutor; OutputConsoleProvider = outputConsoleProvider; }
public ExecuteScriptCs(IFileSystem fileSystem, IPackageAssemblyResolver packageAssemblyResolver, IPackageInstaller packageInstaller, IScriptPackResolver scriptPackResolver, IScriptExecutor scriptExecutor) { //this.logger = logger; this.fileSystem = fileSystem; this.packageAssemblyResolver = packageAssemblyResolver; this.packageInstaller = packageInstaller; this.scriptPackResolver = scriptPackResolver; this.scriptExecutor = scriptExecutor; }
public ScriptServiceRoot( IFileSystem fileSystem, IPackageAssemblyResolver packageAssemblyResolver, IScriptExecutor executor, IScriptPackResolver scriptPackResolver, IPackageInstaller packageInstaller) { FileSystem = fileSystem; PackageAssemblyResolver = packageAssemblyResolver; Executor = executor; ScriptPackResolver = scriptPackResolver; PackageInstaller = packageInstaller; }
public VsPackageInstaller(IVsPackageManagerFactory packageManagerFactory, IScriptExecutor scriptExecutor, IPackageRepositoryFactory repositoryFactory, IVsCommonOperations vsCommonOperations, ISolutionManager solutionManager) { _packageManagerFactory = packageManagerFactory; _scriptExecutor = scriptExecutor; _repositoryFactory = repositoryFactory; _vsCommonOperations = vsCommonOperations; _solutionManager = solutionManager; }
/// <summary> /// Initializes a new instance of the <see cref="ApplicationDatabase"/> class. /// </summary> /// <param name="connectionString">The connection string.</param> public ApplicationDatabase(string connectionString) { _connectionString = connectionString; _scriptExecutor = new SqlScriptExecutor(); _versionTracker = new SchemaVersionsTableSqlVersionTracker(); _scriptProvider = new EmbeddedSqlScriptProvider( Assembly.GetExecutingAssembly(), versionNumber => string.Format( "Bindable.Cms.Database.Scripts.Sequential.Script{0}.sql", versionNumber.ToString().PadLeft(4, '0'))); _upgrader = new DatabaseUpgrader(connectionString, _scriptProvider, _versionTracker, _scriptExecutor); }
public ScriptCsHost() { var logger = new ConsoleOutLogger("default", Common.Logging.LogLevel.Info, true, true, false, "dd MMM yyy hh:mm:ss"); var scriptCsBuilder = new ScriptServicesBuilder(new ScriptConsole(), logger) .LogLevel(LogLevel.Debug) .Cache(true) .Repl(false) .ScriptEngine<RoslynScriptEngine>(); _exec = scriptCsBuilder.Build().Executor; }
/// <summary> /// Creates an instance of the package installer for unit testing of registry-based preinstalled packages. This should only be used for unit tests. /// </summary> /// <param name="registryKeys">The optional list of parent registry keys to look in (used for unit tests).</param> internal VsPackageInstaller(IVsPackageManagerFactory packageManagerFactory, IScriptExecutor scriptExecutor, IPackageRepositoryFactory repositoryFactory, IOutputConsoleProvider consoleProvider, IVsCommonOperations vsCommonOperations, ISolutionManager solutionManager, IVsWebsiteHandler websiteHandler, IVsPackageInstallerServices packageServices, IEnumerable<IRegistryKey> registryKeys) : this(packageManagerFactory, scriptExecutor, repositoryFactory, consoleProvider, vsCommonOperations, solutionManager, websiteHandler, packageServices) { _registryKeys = registryKeys; }
/// <summary> /// Creates an instance of the package installer for unit testing of extension-based preinstalled packages. This should only be used for unit tests. /// </summary> /// <param name="vsExtensionManager">A mock extension manager instance (used for unit tests).</param> internal VsPackageInstaller(IVsPackageManagerFactory packageManagerFactory, IScriptExecutor scriptExecutor, IPackageRepositoryFactory repositoryFactory, IOutputConsoleProvider consoleProvider, IVsCommonOperations vsCommonOperations, ISolutionManager solutionManager, IVsWebsiteHandler websiteHandler, IVsPackageInstallerServices packageServices, object vsExtensionManager) : this(packageManagerFactory, scriptExecutor, repositoryFactory, consoleProvider, vsCommonOperations, solutionManager, websiteHandler, packageServices) { _vsExtensionManager = vsExtensionManager; }
public ProviderServices( IUserNotifierServices userNotifierServices, IProgressWindowOpener progressWindow, IProviderSettings selectedProviderSettings, IScriptExecutor scriptExecutor, IOutputConsoleProvider outputConsoleProvider, IVsCommonOperations vsCommonOperations) { UserNotifierServices = userNotifierServices; ProgressWindow = progressWindow; ScriptExecutor = scriptExecutor; OutputConsoleProvider = outputConsoleProvider; ProviderSettings = selectedProviderSettings; VsCommonOperations = vsCommonOperations; }
public object Execute(IScriptExecutor repl, object[] args) { Guard.AgainstNullArgument("repl", repl); if (args == null || args.Length == 0) { return null; } var path = args[0].ToString(); repl.FileSystem.CurrentDirectory = Path.GetFullPath(Path.Combine(repl.FileSystem.CurrentDirectory, path)); return null; }
public object Execute(IScriptExecutor repl, object[] args) { var replExecutor = repl as IReplExecutor; if(replExecutor == null) throw new Exception("Could not find repl executor to get available commands."); var replCommands = replExecutor.ReplCommands; var commands = "Available REPL commands:" + Environment.NewLine; foreach (var replCommand in replCommands) { var helpText = replCommand is IReplCommandWithInfo ? ((IReplCommandWithInfo) replCommand).Help : ""; commands += String.Format(" :{0,-15} - {1}", replCommand.CommandName, helpText); commands += Environment.NewLine; } return commands; }
public ExecuteScriptCommand(string script, string[] scriptArgs, IFileSystem fileSystem, IScriptExecutor scriptExecutor, IScriptPackResolver scriptPackResolver, ILog logger, IAssemblyResolver assemblyResolver) { _script = script; _fileSystem = fileSystem; ScriptArgs = scriptArgs; _scriptExecutor = scriptExecutor; _scriptPackResolver = scriptPackResolver; _logger = logger; _assemblyResolver = assemblyResolver; }
public VsPackageInstaller(IVsPackageManagerFactory packageManagerFactory, IScriptExecutor scriptExecutor, IPackageRepositoryFactory repositoryFactory, IOutputConsoleProvider consoleProvider, IVsCommonOperations vsCommonOperations, ISolutionManager solutionManager, IVsWebsiteHandler websiteHandler, IVsPackageInstallerServices packageServices) { _packageManagerFactory = packageManagerFactory; _scriptExecutor = scriptExecutor; _repositoryFactory = repositoryFactory; _consoleProvider = consoleProvider; _vsCommonOperations = vsCommonOperations; _solutionManager = solutionManager; _websiteHandler = websiteHandler; _packageServices = packageServices; }
public virtual void BeforeEach() { ScriptProvider = Substitute.For<IScriptProvider> (); VersionTracker = Substitute.For<IJournal> (); ScriptExecutor = Substitute.For<IScriptExecutor> (); ScriptPreprocessor = Substitute.For<IScriptPreprocessor>(); Log = Substitute.For<IUpgradeLog> (); var config = new UpgradeConfiguration(); config.ScriptPreprocessors.Add(ScriptPreprocessor); config.ScriptProviders.Add(ScriptProvider); config.ScriptExecutor = ScriptExecutor; config.Journal = VersionTracker; config.Log = Log; DbUpgrader = new ScriptExecutingEngine(config); }
public object Execute(IScriptExecutor repl, object[] args) { Guard.AgainstNullArgument("repl", repl); var dir = repl.FileSystem.CurrentDirectory; var originalColor = _console.ForegroundColor; _console.ForegroundColor = ConsoleColor.Yellow; try { _console.WriteLine(dir); } finally { _console.ForegroundColor = originalColor; } return null; }
public object Execute(IScriptExecutor repl, object[] args) { if (args == null || args.Length == 0) { return null; } string version = null; var allowPre = false; if (args.Length >= 2) { version = args[1].ToString(); } allowPre = args.Length >= 3 && args[2].ToString().ToUpperInvariant() == "PRE"; _logger.InfoFormat("Installing {0}", args[0]); _installationProvider.Initialize(); var packageRef = new PackageReference( args[0].ToString(), new FrameworkName(".NETFramework,Version=v4.0"), version); _packageInstaller.InstallPackages(new[] { packageRef }, allowPre); _packageAssemblyResolver.SavePackages(); var dlls = _packageAssemblyResolver.GetAssemblyNames(repl.FileSystem.CurrentDirectory) .Except(repl.References.PathReferences).ToArray(); if(repl is IReplExecutor) ((IReplExecutor)repl).AddReferencesAndNotify(dlls); else repl.AddReferences(dlls); foreach (var dll in dlls) { _logger.InfoFormat("Added reference to {0}", dll); } return null; }
public ScriptServiceRoot( IFileSystem fileSystem, IPackageAssemblyResolver packageAssemblyResolver, IScriptExecutor executor, IScriptEngine engine, IFilePreProcessor filePreProcessor, IScriptPackResolver scriptPackResolver, IPackageInstaller packageInstaller, ILog logger, IConsole console = null) { FileSystem = fileSystem; PackageAssemblyResolver = packageAssemblyResolver; Executor = executor; Engine = engine; FilePreProcessor = filePreProcessor; ScriptPackResolver = scriptPackResolver; PackageInstaller = packageInstaller; Logger = logger; Console = console; }
private async Task ApplyScriptsAsync(IDictionary<BuildItem, List<BuildItem>> scriptsToDependencies, IScriptExecutor executor, Func<BuildItem, IEnumerable<BuildItem>> referencerFunc, Func<BuildItem, bool> eligibilityFunc, Action<BuildItem> successAction, Action<BuildItem, Exception> failureAction) { // Execute script files that don't have any dependencies and remove them from the queue. // Continue doing this until all scripts have executed. var eligibleScripts = scriptsToDependencies.Where(x => !x.Value.Any() && eligibilityFunc(x.Key)).ToList(); while (eligibleScripts.Any()) { foreach (var s in eligibleScripts) { try { // Run script await executor.ExecuteAsync(s.Key.Script, s.Key.BuildAction); // Remove this script from all other scripts' dependencies //foreach (var r in s.Key.Referencers) foreach (var r in referencerFunc(s.Key).Where(scriptsToDependencies.ContainsKey)) { scriptsToDependencies[r].Remove(s.Key); } // Set status successAction(s.Key); } catch (Exception ex) { failureAction(s.Key, ex); } // Remove this script from the queue scriptsToDependencies.Remove(s.Key); } eligibleScripts = scriptsToDependencies.Where(x => !x.Value.Any() && eligibilityFunc(x.Key)).ToList(); } foreach (var s in scriptsToDependencies.Keys.Where(eligibilityFunc)) { s.ReportError(new CircularDependencyError(s, scriptsToDependencies)); } }
public ScriptServices( IFileSystem fileSystem, IPackageAssemblyResolver packageAssemblyResolver, IScriptExecutor executor, IRepl repl, IScriptEngine engine, IFilePreProcessor filePreProcessor, IScriptPackResolver scriptPackResolver, IPackageInstaller packageInstaller, IObjectSerializer objectSerializer, ILogProvider logProvider, IAssemblyResolver assemblyResolver, IEnumerable<IReplCommand> replCommands, IFileSystemMigrator fileSystemMigrator, IConsole console = null, IInstallationProvider installationProvider = null, IScriptLibraryComposer scriptLibraryComposer = null ) { FileSystem = fileSystem; PackageAssemblyResolver = packageAssemblyResolver; Executor = executor; Repl = repl; Engine = engine; FilePreProcessor = filePreProcessor; ScriptPackResolver = scriptPackResolver; PackageInstaller = packageInstaller; ObjectSerializer = objectSerializer; LogProvider = logProvider; #pragma warning disable 618 Logger = new ScriptCsLogger(logProvider.ForCurrentType()); #pragma warning restore 618 Console = console; AssemblyResolver = assemblyResolver; InstallationProvider = installationProvider; ReplCommands = replCommands; FileSystemMigrator = fileSystemMigrator; ScriptLibraryComposer = scriptLibraryComposer; }