Exemplo n.º 1
0
        /// <summary>
        /// Runs the run action.
        /// </summary>
        /// <returns></returns>
        public override int Run()
        {
            int result = 0;

            SanitizedConfiguration config = LoadConfiguration();

            if (IsKerboscript(_options.Script) == true)
            {
                string fullScriptPath = Path.GetFullPath(_options.Script);
                _logger.StartKerboscriptExecution(fullScriptPath);
                result = ExecuteKerboscript(fullScriptPath, config);
                if (result == 0)
                {
                    _logger.StopKerboscriptExecution(fullScriptPath);
                }
            }
            else
            {
                if (config != null)
                {
                    Models.Script script = config.Scripts.Find(s => s.Name == _options.Script);
                    if (script != null)
                    {
                        result = ExecuteConfigScript(script);
                    }
                    else
                    {
                        _logger.ScriptNotFound(_options.Script);
                        result = 1;
                    }
                }
            }

            return(result);
        }