Exemple #1
0
        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);
        }
Exemple #2
0
        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));
        }
Exemple #3
0
        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);
 }
Exemple #5
0
        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));
        }
Exemple #7
0
        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();
        }
Exemple #8
0
        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));
        }
Exemple #9
0
        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();
        }
Exemple #10
0
        public Task <bool> Start()
        {
            _fileSystemManager.CreateDirectory("States");

            LoadStates();

            if (_states == null)
            {
                _states = new StateData();

                SaveStates();
            }
            return(Task.FromResult(true));
        }
Exemple #11
0
        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));
        }
Exemple #14
0
        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);
        }
Exemple #15
0
        private void CheckDatabaseDirectory(string connectionString)
        {
            var directory = Path.GetDirectoryName(connectionString);

            _fileSystemManager.CreateDirectory(directory);
        }
Exemple #16
0
 private void EnsureComponentsDirectory()
 {
     _fileSystemManager.CreateDirectory(_notifierConfigDirectory);
 }
Exemple #17
0
 private void EnsureComponentsDirectory()
 {
     _fileSystemManager.CreateDirectory(_config.ConfigDirectory.DirectoryName);
     _fileSystemManager.CreateDirectory(_config.VaultConfigDirectory.DirectoryName);
 }