/// <summary> /// Instantiates a BuildItem with the given build script. /// </summary> /// <param name="script">The build script responsible for creating the database object.</param> /// <param name="dependencies">The build items on which this build item depends.</param> /// <param name="referencers">The build items that depend on this object.</param> /// <param name="objectExists">A flag that indicates whether a version of this database object already exists.</param> internal BuildItem(ScriptFile script, IEnumerable<BuildItem> dependencies, IEnumerable<BuildItem> referencers, bool objectExists) { Script = script; Dependencies = dependencies; Referencers = referencers; DependencyDepth = FindDependencyDepth(Referencers, 0); status = script.ScriptError != null ? script.ScriptError.Status : BuildStatusType.None; if (script.Sql.ScriptAction == ScriptActionType.Drop) { BuildAction = BuildActionType.Drop; } else if (objectExists && Script.ScriptObject.ObjectType == DatabaseObjectType.Type) { BuildAction = BuildActionType.DropAndCreate; } else if (objectExists) { BuildAction = BuildActionType.Alter; } else { BuildAction = BuildActionType.Create; } }
/// <summary> /// Instantiates a BuildItem with the given build script. /// </summary> /// <param name="script">The build script responsible for creating the database object.</param> /// <param name="dependencies">The build items on which this build item depends.</param> /// <param name="referencers">The build items that depend on this object.</param> /// <param name="objectExists">A flag that indicates whether a version of this database object already exists.</param> internal BuildItem(ScriptFile script, IEnumerable <BuildItem> dependencies, IEnumerable <BuildItem> referencers, bool objectExists) { Script = script; Dependencies = dependencies; Referencers = referencers; DependencyDepth = FindDependencyDepth(Referencers, 0); _status = script.ScriptError != null ? script.ScriptError.Status : BuildStatusType.None; if (script.Sql != null && script.Sql.ScriptAction == ScriptActionType.Drop) { BuildAction = BuildActionType.Drop; } else if (objectExists && script.Sql != null && Script.ScriptObject.ObjectType == DatabaseObjectType.Type) { BuildAction = BuildActionType.DropAndCreate; } else if (objectExists) { BuildAction = BuildActionType.Alter; } else { BuildAction = BuildActionType.Create; } }
/// <summary> /// Marks this build item as having successfully built. /// </summary> /// <remarks> /// Calling this method will update the <see cref="Status"/> property. /// </remarks> internal void ReportSuccess() { var oldStatus = _status; this._status = BuildStatusType.Success; if (StatusChanged != null) { StatusChanged(this, new BuildStatusEventArgs(this._status, oldStatus)); } }
/// <summary> /// Marks this build item as having entered an error state. /// </summary> /// <remarks> /// Calling this method will update the <see cref="Status"/> and <see cref="Error"/> properties. /// </remarks> /// <param name="error">The error state of the build item.</param> internal void ReportError(BuildErrorBase error) { var oldStatus = _status; this._status = error.Status; this._error = error; if (StatusChanged != null) { StatusChanged(this, new BuildStatusEventArgs(this._status, oldStatus)); } }
public void RunScan(ApplicationProfile app, string scan_id, string modules, Action <string, string> ScanMethod, BuildStatusType running, BuildStatusType failure) { var stopWatch = new Stopwatch(); TimeSpan ts; string elapsedTime; stopWatch.Start(); ScanMethod(app.id, modules); var scanStatus = running; while (scanStatus == running) { ts = stopWatch.Elapsed; elapsedTime = string.Format("{0:00}:{1:00}:{2:00}.{3:00}", ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds / 10); _logger.LogInformation($"Scan {scan_id} is still running and has been running for {elapsedTime}."); Thread.Sleep(20000); scanStatus = _veracodeService.GetScanStatus(app.id, $"{scan_id}"); } ts = stopWatch.Elapsed; elapsedTime = string.Format("{0:00}:{1:00}:{2:00}.{3:00}", ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds / 10); stopWatch.Stop(); if (scanStatus == failure) { throw new Exception("Scan status returned an error status."); } _logger.LogInformation($"Scan complete for {scan_id} and took {elapsedTime}."); }
/// <summary> /// Creates an instance of event args for a status change. /// </summary> /// <param name="newStatus">The value of the new status.</param> /// <param name="oldStatus">The value of the old status.</param> public BuildStatusEventArgs(BuildStatusType newStatus, BuildStatusType oldStatus) { NewStatus = newStatus; OldStatus = oldStatus; }
public BuildStatus FindByType(BuildStatusType type) { return(Collection.Find("$[?(@.BuildStatusType == '" + type + "')]")); }
public static string Convert(BuildStatusType status) { string parsed_status; switch (status) { case BuildStatusType.Incomplete: parsed_status = "Incomplete"; break; case BuildStatusType.NotSubmittedtoEngine: parsed_status = "Not Submitted to Engine"; break; case BuildStatusType.SubmittedtoEngine: parsed_status = "Submitted to Engine"; break; case BuildStatusType.ScanErrors: parsed_status = "Scan Errors"; break; case BuildStatusType.ScanInProcess: parsed_status = "Scan In Process"; break; case BuildStatusType.ScanCancelled: parsed_status = "Scan Cancelled"; break; case BuildStatusType.ScanInternalError: parsed_status = "Scan Internal Error"; break; case BuildStatusType.PendingInternalReview: parsed_status = "Pending Internal Review"; break; case BuildStatusType.ResultsReady: parsed_status = "Results Ready"; break; case BuildStatusType.PreScanSubmitted: parsed_status = "Pre Scan Submitted"; break; case BuildStatusType.PreScanFailed: parsed_status = "Pre Scan Failed"; break; case BuildStatusType.PreScanSuccess: parsed_status = "Pre Scan Success"; break; case BuildStatusType.NoModulesDefined: parsed_status = "No Modules Defined"; break; case BuildStatusType.PendingVendorConfirmation: parsed_status = "Pending Vendor Confirmation"; break; case BuildStatusType.VendorReviewing: parsed_status = "Vendor Reviewing"; break; case BuildStatusType.PreScanCancelled: parsed_status = "Pre Scan Cancelled"; break; case BuildStatusType.ScanOnHold: parsed_status = "Scan On Hold"; break; default: throw new ArgumentOutOfRangeException("Build status can only be between 0 - 16"); } return(parsed_status); }
public static Color MapColor(this IDictionary <BuildStatusType, BuildStatus> src, BuildStatusType statusType) { if (src.ContainsKey(statusType) && src[statusType].ColorA != 0) { var status = src[statusType]; return(Color.FromArgb(status.ColorA, status.ColorR, status.ColorG, status.ColorB)); } switch (statusType) { case BuildStatusType.Failed: return(Preferences.FAIL_COLOR); case BuildStatusType.Success: return(Preferences.SUCCESS_COLOR); case BuildStatusType.Unstable: return(Preferences.UNSTABLE_COLOR); case BuildStatusType.Building: case BuildStatusType.Pending: return(Preferences.BUILDING_COLOR); case BuildStatusType.Aborted: return(Preferences.FAIL_COLOR); case BuildStatusType.Disabled: case BuildStatusType.NotBuilt: case BuildStatusType.Unknown: default: return(Preferences.DISABLED_COLOR); } }
public static bool IsVisible(this IDictionary <BuildStatusType, BuildStatus> src, BuildStatusType statusType) { return(src.ContainsKey(statusType) ? src[statusType].Visible : true); }