/// <summary> /// package.json是否有修改,有修改且没有提交和推送,则不能进行发布 /// </summary> private async Task <bool> CheckPackageJsonModify() { BoxReleasePanel.SetEnabled(false); var modify = false; var condition = new TaskCondition(false); var cmd = $"git diff {_prefixPath}Assets/_package_/package.json"; getProcessProxy.Input(cmd, (msgs) => { condition.Value = true; var content = msgs.Dequeue(); // 没有修改可能返回"\n"换行符 if (content.Equals("\n")) { modify = false; } // 有修改则返回:"diff --git a/Assets/_package_/package.json b/Assets/_package_/package.json"以及修改详情 else { modify = true; } }, false); await TimeUtil.WaitUntilConditionSet(condition); if (modify) { // Debug.Log("package.json有修改但没有提交和推送,完成后才能发布"); ShowVersionCheckResult("package.json有修改且没有提交和推送,完成后才能发布", Color.red); } else { // Debug.Log("package.json已经提交了"); ShowVersionCheckResult("package.json没有修改,可以发布了", Color.blue); BoxReleasePanel.SetEnabled(true); } return(!modify); }
/// <summary> /// 6. 检查版本号是否唯一,并更新提示 /// </summary> private void CheckVersion() { BoxReleasePanel.SetEnabled(false); // 检查版本号是否唯一 var ret = CheckVersionExist(_version, _gitInfo.Versions); var content = ""; var color = Color.blue; if (ret) { content = "当前版本号已经存在,请确定唯一的版本号"; color = Color.red; ShowVersionCheckResult(content, color); } else { // 检查package.json是否修改,且没有提交 CheckPackageJsonModify(); } }