Esempio n. 1
0
        public DeploymentResult Execute()
        {
            var deploymentResult = new DeploymentResult();

            try
            {
                Ex(detail =>
                {
                    if (!deploymentResult.ShouldAbort)
                    {
                        var verifyResult = detail.Verify();
                        deploymentResult.MergedWith(verifyResult);

                        if (verifyResult.ContainsError())
                        {
                            DisplayResults(verifyResult);
                        }
                        else
                        {
                            Logging.Coarse(LogLevel.Info, "[Run  ] {0}", detail.Name);
                            var executeResult = detail.Execute();
                            DisplayResults(executeResult);
                            deploymentResult.MergedWith(executeResult);
                        }

                        if (deploymentResult.ContainsError() && AbortOnError)
                        {
                            var message = "[Abort] Aborting due to previous error (since --abortOnError switch was specified).";
                            deploymentResult.AddAbort(message);
                            Logging.Coarse(LogLevel.Error, message);
                            throw new DeploymentAbortedException();
                        }
                    }
                    else
                    {
                        Logging.Coarse(LogLevel.Error, "[Skip ] {0}", detail.Name);
                    }
                });
            }
            catch (DeploymentAbortedException) { }

            return deploymentResult;
        }
Esempio n. 2
0
        public override DeploymentResult VerifyCanRun()
        {
            var result = new DeploymentResult();

            result.AddNote(_reason);

            if (_filesShouldExist.Count > 0)
            {
                var tmpDR = new DeploymentResult();
                foreach (var filePath in _filesShouldExist)
                {
                    string actualPath = _path.GetFullPath(filePath);
                    if (!File.Exists(actualPath))
                    {
                        tmpDR.AddError("  File '{0}' should exist!.".FormatWith(actualPath));
                    }
                }
                result.MergedWith(tmpDR);
                //errors show up anyway, give some feedback if everything OK.
                if (!tmpDR.ContainsError())
                {
                    result.AddNote("  All {0} files found!".FormatWith(_filesShouldExist.Count));
                }
            }
            else
            {
                result.AddNote("  No Files that should exist.");
            }

            if (_directoriesShouldExist.Count > 0)
            {
                var tmpDR = new DeploymentResult();
                foreach (var dirPath in _directoriesShouldExist)
                {
                    string actualPath = _path.GetFullPath(dirPath);
                    if (!Directory.Exists(actualPath))
                    {
                        tmpDR.AddError("  Directory '{0}' should exist".FormatWith(actualPath));
                    }
                }
                result.MergedWith(tmpDR);
                //errors show up anyway, give some feedback if everything OK.
                if (!tmpDR.ContainsError())
                {
                    result.AddNote("  All {0} directories found!".FormatWith(_directoriesShouldExist.Count));
                }
            }
            else
            {
                result.AddNote("  No Directories that should exist.");
            }

            if (_filesShould_NOT_Exist.Count > 0)
            {
                var tmpDR = new DeploymentResult();
                foreach (var filePath in _filesShould_NOT_Exist)
                {
                    string actualPath = _path.GetFullPath(filePath);
                    if (File.Exists(actualPath))
                    {
                        tmpDR.AddError("  File '{0}' should NOT exist!.".FormatWith(actualPath));
                    }
                }
                result.MergedWith(tmpDR);
                if (!tmpDR.ContainsError())
                {
                    result.AddNote("  None of the {0} files exist!".FormatWith(_filesShould_NOT_Exist.Count));
                }
            }
            else
            {
                result.AddNote("  No Files that should NOT exist.");
            }

            if (_directoriesShould_NOT_Exist.Count > 0)
            {
                var tmpDR = new DeploymentResult();
                foreach (var dirPath in _directoriesShould_NOT_Exist)
                {
                    string actualPath = _path.GetFullPath(dirPath);
                    if (Directory.Exists(actualPath))
                    {
                        tmpDR.AddError("  Directory '{0}' should NOT exist".FormatWith(actualPath));
                    }
                }
                result.MergedWith(tmpDR);
                if (!tmpDR.ContainsError())
                {
                    result.AddNote("  None of the {0} directories exist!".FormatWith(_directoriesShould_NOT_Exist.Count));
                }
            }
            else
            {
                result.AddNote("  No Directories that should NOT exist.");
            }

            if (_shouldAbortOnError && result.ContainsError())
            {
                result.AddAbort(_reason);
            }
            return(result);
        }
Esempio n. 3
0
        public override DeploymentResult VerifyCanRun()
        {
            var result = new DeploymentResult();
             result.AddNote(_reason);

             if(_filesShouldExist.Count > 0) {
            var tmpDR = new DeploymentResult();
            foreach(var filePath in _filesShouldExist) {
               string actualPath = _path.GetFullPath(filePath);
               if(!File.Exists(actualPath)) { tmpDR.AddError("  File '{0}' should exist!.".FormatWith(actualPath)); }
            }
            result.MergedWith(tmpDR);
            //errors show up anyway, give some feedback if everything OK.
            if(!tmpDR.ContainsError()) { result.AddNote("  All {0} files found!".FormatWith(_filesShouldExist.Count)); }
             } else {
            result.AddNote("  No Files that should exist.");
             }

             if(_directoriesShouldExist.Count > 0) {
            var tmpDR = new DeploymentResult();
            foreach(var dirPath in _directoriesShouldExist) {
               string actualPath = _path.GetFullPath(dirPath);
               if(!Directory.Exists(actualPath)) { tmpDR.AddError("  Directory '{0}' should exist".FormatWith(actualPath)); }
            }
            result.MergedWith(tmpDR);
            //errors show up anyway, give some feedback if everything OK.
            if(!tmpDR.ContainsError()) { result.AddNote("  All {0} directories found!".FormatWith(_directoriesShouldExist.Count)); }
             } else {
            result.AddNote("  No Directories that should exist.");
             }

             if(_filesShould_NOT_Exist.Count > 0) {
            var tmpDR = new DeploymentResult();
            foreach(var filePath in _filesShould_NOT_Exist) {
               string actualPath = _path.GetFullPath(filePath);
               if(File.Exists(actualPath)) { tmpDR.AddError("  File '{0}' should NOT exist!.".FormatWith(actualPath)); }
            }
            result.MergedWith(tmpDR);
            if(!tmpDR.ContainsError()) { result.AddNote("  None of the {0} files exist!".FormatWith(_filesShould_NOT_Exist.Count)); }
             } else {
            result.AddNote("  No Files that should NOT exist.");
             }

             if(_directoriesShould_NOT_Exist.Count > 0) {
            var tmpDR = new DeploymentResult();
            foreach(var dirPath in _directoriesShould_NOT_Exist) {
               string actualPath = _path.GetFullPath(dirPath);
               if(Directory.Exists(actualPath)) { tmpDR.AddError("  Directory '{0}' should NOT exist".FormatWith(actualPath)); }
            }
            result.MergedWith(tmpDR);
            if(!tmpDR.ContainsError()) { result.AddNote("  None of the {0} directories exist!".FormatWith(_directoriesShould_NOT_Exist.Count)); }
             } else {
            result.AddNote("  No Directories that should NOT exist.");
             }

             if(_shouldAbortOnError && result.ContainsError()) { result.AddAbort(_reason); }
             return result;
        }