public async Task <bool> Start() { _logger.LogInformation($"Initialize JS Scripting engine"); await LoadJs(); ScanScriptsModules(); _fileSystemManager.CreateDirectory(_config.ScriptsDirectory.DirectoryName); if (!_fileSystemManager.IsFileExists(Path.Combine(_config.ScriptsDirectory.DirectoryName, BootstrapFilename))) { _fileSystemManager.WriteToFile(Path.Combine(_config.ScriptsDirectory.DirectoryName, BootstrapFilename), ""); } _logger.LogInformation($"Script directory: {_config.ScriptsDirectory.DirectoryName}"); CheckModulesDirectory(); AddDefaultVariables(); LoadBootstrap(); await Build(); return(true); }
public void CreateSubdirectories(IContainerUser containerUser) { var containerPrivatePath = Path.Combine(containerPath, PrivateRelativePath); var containerUserPath = Path.Combine(containerPath, UserRelativePath); var containerBinPath = Path.Combine(containerPath, BinRelativePath); fileSystem.CreateDirectory(containerPath, GetContainerUserAccess(containerUser.UserName, FileAccess.Read)); fileSystem.CreateDirectory(containerPrivatePath, GetContainerDefaultAccess()); fileSystem.CreateDirectory(containerBinPath, GetContainerUserAccess(containerUser.UserName, FileAccess.Read)); fileSystem.CreateDirectory(containerUserPath, GetContainerUserAccess(containerUser.UserName, FileAccess.ReadWrite)); }
private void InitNuGet() { _nugetSettings = Settings.LoadDefaultSettings(root: null); _nugetSourceRepositoryProvider = new SourceRepositoryProvider(_nugetSettings, Repository.Provider.GetCoreV3()); _nuGetFramework = NuGetFramework.ParseFolder("netstandard2.0"); _packagesDirectory = _fileSystemManager.BuildFilePath(Path.Combine(_neonConfig.Plugins.Directory, "packages")); _fileSystemManager.CreateDirectory(Path.Combine(_neonConfig.Plugins.Directory, "packages")); _packagePathResolver = new PackagePathResolver(_packagesDirectory); _packageExtractionContext = new PackageExtractionContext( PackageSaveMode.Defaultv3, XmlDocFileSaveMode.None, ClientPolicyContext.GetClientPolicy(_nugetSettings, NullLogger.Instance), NullLogger.Instance); }
public async Task <bool> Start() { _fileSystemManager.CreateDirectory(_config.Components.ConfigDirectory); ScanComponents(); //await StartComponents(); return(true); }
public Task <bool> Start() { _logger.LogInformation($"Plugins directory is: {_neonConfig.Plugins.Directory}"); _fileSystemManager.CreateDirectory(_neonConfig.Plugins.Directory); ScanPlugins(); return(Task.FromResult(true)); }
/// <summary> /// Initialize NoSQL db /// </summary> /// <param name="connectionString"></param> /// <returns></returns> public Task <bool> Init(string connectionString) { _logger.LogInformation($"Loading {connectionString}"); _fileSystemManager.CreateDirectory(Path.GetDirectoryName(connectionString)); _liteDatabase = new LiteDatabase(_fileSystemManager.BuildFilePath(connectionString)); _liteDatabase.Shrink(); _logger.LogInformation("Database loaded"); return(Task.FromResult(true)); }
private void CreateDatabaseFile() { var localDatabaseDirectory = _fileSystemManager.GetDirectoryName(_environmentSettingsProvider.LocalDatabasePath); if (!_fileSystemManager.DirectoryExists(localDatabaseDirectory)) { _fileSystemManager.CreateDirectory(localDatabaseDirectory); } using (var fileStream = _fileSystemManager.CreateFile(_environmentSettingsProvider.LocalDatabasePath)) fileStream.Flush(); }
public Task <bool> Start() { _logger.LogInformation("Initializing Events Database"); _fileSystemManager.CreateDirectory(_config.EventsDatabase.DatabaseDirectory); _liteDatabase = new LiteDatabase(_fileSystemManager.BuildFilePath(_config.EventsDatabase.DatabaseDirectory) + Path.DirectorySeparatorChar + _dbFilename); _liteDatabase.Shrink(); ScanEntities(); return(Task.FromResult(true)); }
public void Start() { _logger.Information($"Starting Plugin manager - Plugin directory: {_pluginsDirectory}"); _fileSystemManager.CreateDirectory(_pluginsDirectory); _fullPluginDirectory = _fileSystemManager.BuildFilePath(_pluginsDirectory); var templateConfig = new PluginConfig(); _fileSystemManager.WriteToFile("template_plugin.yaml", templateConfig); ScanPlugins(); LoadPlugins(); }
public Task <bool> Start() { _fileSystemManager.CreateDirectory("States"); LoadStates(); if (_states == null) { _states = new StateData(); SaveStates(); } return(Task.FromResult(true)); }
public Task <bool> Start() { _logger.LogInformation("Initializing IoT Database"); _fileSystemManager.CreateDirectory(_config.IoT.DatabaseDirectory); lock (_liteDbObjectLock) { _liteDatabase = new LiteDatabase(_fileSystemManager.BuildFilePath(_config.IoT.DatabaseDirectory) + Path.DirectorySeparatorChar + _dbFilename); _liteDatabase.Shrink(); } return(Task.FromResult(true)); }
private void CheckModulesDirectory() { _logger.LogInformation($"Check Modules directory"); _fileSystemManager.CreateDirectory(Path.Join(_neonConfig.Scripts.Directory, "Modules" + Path.DirectorySeparatorChar)); _modulesPath = _fileSystemManager.BuildFilePath(Path.Join(_neonConfig.Scripts.Directory, "Modules" + Path.DirectorySeparatorChar)); _logger.LogInformation($"LUA Modules path {_modulesPath}"); if (Environment.OSVersion.Platform == PlatformID.Win32NT) { _modulesPath = _modulesPath.Replace(@"\", @"\\"); } _luaEngine.DoString($@" -- Update the search path local module_folder = '{_modulesPath}' package.path = module_folder .. '?.lua;' .. package.path" ); }
public Task <bool> Start() { _bootstrapFile = _fileSystemManager.BuildFilePath(_neonConfig.Scripts.Directory + Path.DirectorySeparatorChar + "bootstrap.lua"); _fileSystemManager.CreateDirectory(_neonConfig.Scripts.Directory); CheckBootstrapFile(); //StartMonitorDirectory(); _logger.LogInformation("Initializing LUA script manager"); _luaEngine.LoadCLRPackage(); ScanForScriptClasses(); _logger.LogInformation($"Loading bootstrap file"); LoadLuaFile(_bootstrapFile, true); _logger.LogInformation($"Scanning files in directory {_neonConfig.Scripts.Directory}"); LoadLuaFiles(); _functions.ForEach(f => { _logger.LogInformation($"{f.Call()}"); }); _logger.LogInformation("LUA Script manager initialized"); return(Task.FromResult(true)); }
public async Task <bool> Start() { if (_scriptsEngines.ContainsKey(_neonConfig.Scripts.EngineName)) { _scriptEngine = (IScriptEngine)_servicesManager.Resolve(_scriptsEngines[_neonConfig.Scripts.EngineName]); _scriptEngineAttribute = _scriptEngine.GetType().GetCustomAttribute <ScriptEngineAttribute>(); _logger.LogInformation($"Initializing script engine {_scriptEngineAttribute.Name} {_scriptEngineAttribute.Version}"); _bootstrapFile = _fileSystemManager.BuildFilePath(_neonConfig.Scripts.Directory + Path.DirectorySeparatorChar + $"bootstrap{_scriptEngineAttribute.FileExtension}"); _fileSystemManager.CreateDirectory(_neonConfig.Scripts.Directory); CheckBootstrapFile(); //StartMonitorDirectory(); _logger.LogInformation("Initializing Script manager"); ScanForScriptClasses(); _logger.LogInformation($"Loading bootstrap file"); _scriptEngine.LoadFile(_bootstrapFile, true); _logger.LogInformation($"Scanning files in directory {_neonConfig.Scripts.Directory}"); LoadScriptsFiles(); await _scriptEngine.Build(); _logger.LogInformation("Script manager initialized"); } else { throw new Exception("No script engine found"); } return(true); }
private void CheckDatabaseDirectory(string connectionString) { var directory = Path.GetDirectoryName(connectionString); _fileSystemManager.CreateDirectory(directory); }
private void EnsureComponentsDirectory() { _fileSystemManager.CreateDirectory(_notifierConfigDirectory); }
private void EnsureComponentsDirectory() { _fileSystemManager.CreateDirectory(_config.ConfigDirectory.DirectoryName); _fileSystemManager.CreateDirectory(_config.VaultConfigDirectory.DirectoryName); }