private bool GetCanVersionIncremental(IncrementalStatus buildInfoIncrementalStatus) { if (!buildInfoIncrementalStatus.CanIncremental) { IncrementalInfo.ReportStatus(false, IncrementalPhase.Build, buildInfoIncrementalStatus.Details); Logger.LogVerbose(buildInfoIncrementalStatus.Details); return(false); } if (LastBuildVersionInfo == null) { string message = $"Cannot build incrementally because last build didn't contain version {Version}."; IncrementalInfo.ReportStatus(false, IncrementalPhase.Build, message); Logger.LogVerbose(message); return(false); } if (CurrentBuildVersionInfo.ConfigHash != LastBuildVersionInfo.ConfigHash) { string message = "Cannot build incrementally because config changed."; IncrementalInfo.ReportStatus(false, IncrementalPhase.Build, message); Logger.LogVerbose(message); return(false); } if (_parameters.ForceRebuild) { string message = $"Disable incremental build by force rebuild option."; IncrementalInfo.ReportStatus(false, IncrementalPhase.Build, message); Logger.LogVerbose(message); return(false); } IncrementalInfo.ReportStatus(true, IncrementalPhase.Build); return(true); }
private bool GetCanVersionIncremental(IncrementalStatus buildInfoIncrementalStatus) { bool canIncremental; string details; string fullBuildReasonCode; if (!buildInfoIncrementalStatus.CanIncremental) { details = buildInfoIncrementalStatus.Details; fullBuildReasonCode = buildInfoIncrementalStatus.FullBuildReasonCode; canIncremental = false; } else if (LastBuildVersionInfo == null) { details = $"Cannot build incrementally because last build didn't contain group {Version}."; fullBuildReasonCode = InfoCodes.FullBuildReason.NoAvailableGroupCache; canIncremental = false; } else if (CurrentBuildVersionInfo.ConfigHash != LastBuildVersionInfo.ConfigHash) { details = "Cannot build incrementally because config changed."; fullBuildReasonCode = InfoCodes.FullBuildReason.ConfigChanged; canIncremental = false; } else if (_parameters.ForceRebuild) { details = "Disable incremental build by force rebuild option."; fullBuildReasonCode = InfoCodes.FullBuildReason.ForceRebuild; canIncremental = false; } else { details = null; canIncremental = true; fullBuildReasonCode = null; } var buildStrategy = canIncremental ? InfoCodes.Build.IsIncrementalBuild : InfoCodes.Build.IsFullBuild; if (canIncremental) { IncrementalInfo.ReportStatus(true, IncrementalPhase.Build); Logger.LogInfo($"Group {Version} will be built incrementally.", code: buildStrategy); } else { IncrementalInfo.ReportStatus(false, IncrementalPhase.Build, details, fullBuildReasonCode); Logger.LogInfo($"Group {Version} will be built fully.", code: buildStrategy); Logger.LogInfo($"The reason of full building under group {Version} is: {details}", code: fullBuildReasonCode); } return(canIncremental); }
private bool GetIsIncremental() { const string prependWarning = "Cannot support incremental post processing, the reason is:"; string message; if (!ShouldTraceIncrementalInfo) { message = $"{prependWarning} should not trace intermediate info."; IncrementalInfo.ReportStatus(false, IncrementalPhase.PostProcessing, message); Logger.LogVerbose(message); return(false); } if (!EnableIncremental) { message = $"{prependWarning} it's disabled."; IncrementalInfo.ReportStatus(false, IncrementalPhase.PostProcessing, message); Logger.LogVerbose(message); return(false); } if (LastInfo == null) { message = $"{prependWarning} last post processor info is null."; IncrementalInfo.ReportStatus(false, IncrementalPhase.PostProcessing, message); Logger.LogVerbose(message); return(false); } if (CurrentInfo.PostProcessorInfos.Count != LastInfo.PostProcessorInfos.Count) { message = $"{prependWarning} post processor info count mismatch: last has {LastInfo.PostProcessorInfos.Count} while current has {CurrentInfo.PostProcessorInfos.Count}."; IncrementalInfo.ReportStatus(false, IncrementalPhase.PostProcessing, message); Logger.LogVerbose(message); return(false); } for (var i = 0; i < CurrentInfo.PostProcessorInfos.Count; i++) { var currentPostProcessorInfo = CurrentInfo.PostProcessorInfos[i]; var lastPostProcessorInfo = LastInfo.PostProcessorInfos[i]; if (!currentPostProcessorInfo.Equals(lastPostProcessorInfo)) { message = $"{prependWarning} post processor info changed from last {lastPostProcessorInfo.ToJsonString()} to current {currentPostProcessorInfo.ToJsonString()}."; IncrementalInfo.ReportStatus(false, IncrementalPhase.PostProcessing, message); Logger.LogVerbose(message); return(false); } } message = "Can support incremental post processing."; IncrementalInfo.ReportStatus(true, IncrementalPhase.PostProcessing, message); Logger.LogVerbose(message); return(true); }
private bool GetCanVersionIncremental(IncrementalStatus buildInfoIncrementalStatus) { bool canIncremental; string details; string fullBuildReasonCode; if (!buildInfoIncrementalStatus.CanIncremental) { details = buildInfoIncrementalStatus.Details; fullBuildReasonCode = buildInfoIncrementalStatus.FullBuildReasonCode; canIncremental = false; } else if (LastBuildVersionInfo == null) { details = $"Cannot build incrementally because last build didn't contain group {Version}."; fullBuildReasonCode = InfoCodes.FullBuildReason.NoAvailableGroupCache; canIncremental = false; } else if (CurrentBuildVersionInfo.ConfigHash != LastBuildVersionInfo.ConfigHash) { details = "Cannot build incrementally because config changed."; fullBuildReasonCode = InfoCodes.FullBuildReason.ConfigChanged; canIncremental = false; } else { details = null; canIncremental = true; fullBuildReasonCode = null; } var buildStrategy = canIncremental ? InfoCodes.Build.IsIncrementalBuild : InfoCodes.Build.IsFullBuild; var groupDisplayName = string.IsNullOrEmpty(Version) ? "the default group" : $"group '{Version}'"; if (canIncremental) { IncrementalInfo.ReportStatus(true, IncrementalPhase.Build); Logger.LogVerbose($"Building {groupDisplayName} incrementally.", code: buildStrategy); } else { IncrementalInfo.ReportStatus(false, IncrementalPhase.Build, details, fullBuildReasonCode); Logger.LogVerbose($"Building {groupDisplayName} fully.", code: buildStrategy); Logger.LogVerbose($"The reason of full building for {groupDisplayName} is: {details}", code: fullBuildReasonCode); } return(canIncremental); }
private bool GetCanVersionIncremental(IncrementalStatus buildInfoIncrementalStatus) { bool canIncremental; string message; if (!buildInfoIncrementalStatus.CanIncremental) { message = buildInfoIncrementalStatus.Details; canIncremental = false; } else if (LastBuildVersionInfo == null) { message = $"Cannot build incrementally because last build didn't contain group {Version}."; canIncremental = false; } else if (CurrentBuildVersionInfo.ConfigHash != LastBuildVersionInfo.ConfigHash) { message = "Cannot build incrementally because config changed."; canIncremental = false; } else if (_parameters.ForceRebuild) { message = "Disable incremental build by force rebuild option."; canIncremental = false; } else { message = null; canIncremental = true; } var buildStrategy = canIncremental ? InfoCodes.Build.IsIncrementalBuild : InfoCodes.Build.IsFullBuild; if (canIncremental) { IncrementalInfo.ReportStatus(true, IncrementalPhase.Build); Logger.LogInfo($"Group: {Version}, build strategy: {buildStrategy}", code: buildStrategy); } else { IncrementalInfo.ReportStatus(false, IncrementalPhase.Build, message); Logger.LogInfo($"Group: {Version}, build strategy: {buildStrategy}, details: {message}", code: buildStrategy); } return(canIncremental); }
private bool GetCanVersionIncremental(IncrementalStatus buildInfoIncrementalStatus) { if (!buildInfoIncrementalStatus.CanIncremental) { IncrementalInfo.ReportStatus(false, IncrementalPhase.Build, buildInfoIncrementalStatus.Details); Logger.LogVerbose(buildInfoIncrementalStatus.Details); return(false); } if (LastBuildVersionInfo == null) { string message = $"Cannot build incrementally because last build didn't contain version {Version}."; IncrementalInfo.ReportStatus(false, IncrementalPhase.Build, message); Logger.LogVerbose(message); return(false); } if (CurrentBuildVersionInfo.ConfigHash != LastBuildVersionInfo.ConfigHash) { string message = "Cannot build incrementally because config changed."; IncrementalInfo.ReportStatus(false, IncrementalPhase.Build, message); Logger.LogVerbose(message); return(false); } if (_parameters.ForceRebuild) { string message = $"Disable incremental build by force rebuild option."; IncrementalInfo.ReportStatus(false, IncrementalPhase.Build, message); Logger.LogVerbose(message); return(false); } if (_parameters.ApplyTemplateSettings != null) { var options = _parameters.ApplyTemplateSettings.Options; if ((options & (ApplyTemplateOptions.ExportRawModel | ApplyTemplateOptions.ExportViewModel)) != ApplyTemplateOptions.None) { string message = $"Disable incremental build because ExportRawModel/ExportViewModel option enabled."; IncrementalInfo.ReportStatus(false, IncrementalPhase.Build, message); Logger.LogVerbose(message); return(false); } } IncrementalInfo.ReportStatus(true, IncrementalPhase.Build); return(true); }