private void BuildAndRun(bool runExecutable) { var citrusDirectory = CalcCitrusDirectory(); Environment.CurrentDirectory = Path.Combine(citrusDirectory, "Orange"); ClearObjFolder(citrusDirectory); OnBuildStatusChange?.Invoke("Building"); if (AreRequirementsMet() && Build(SolutionPath ?? DefaultSolutionPath)) { ClearObjFolder(citrusDirectory); if (runExecutable) { RunExecutable(); } OnBuildSuccess?.Invoke(); } else { if (!areFailedDetailsSet) { SetFailedBuildStatus("Send this text to our developers."); } OnBuildFail?.Invoke(); } }
private void BuildAndRun() { Environment.CurrentDirectory = Path.GetDirectoryName(SolutionPath); ClearObjFolder(citrusDirectory); OnBuildStatusChange?.Invoke("Building"); if (AreRequirementsMet() && Build(SolutionPath)) { ClearObjFolder(citrusDirectory); if (NeedRunExecutable) { RunExecutable(); } OnBuildSuccess?.Invoke(); } }
public static void BuildApk(BuildData data, string buildsFolderPath) { ManifestsChecker.Inspect(); PlayerHelper.PrintPlayerSettings(); CheckIcons(); if (!data.development && !KeyGenerator.DetectKey("STPN-" + data.taskNumber)) { Debug.LogError("Нет ключа"); } string buildPath = $"{buildsFolderPath}\\{data.GetApkName(true)}"; Debug.Log($"<color=green>Полный путь apk {buildPath}</color>"); var buildPlayerOptions = new BuildPlayerOptions { target = BuildTarget.Android, options = data.buildOptions, scenes = GetScenePaths(), locationPathName = buildPath }; var report = BuildPipeline.BuildPlayer(buildPlayerOptions); if (report.summary.result == BuildResult.Succeeded) { Debug.Log($"Build <color=green>{report.summary.result.ToString()}</color>"); data.buildVersion.Increase(); EditorUtility.SetDirty(data); AssetDatabase.SaveAssets(); EditorUtility.RevealInFinder(buildPath); OnBuildSuccess?.Invoke(); } else { Debug.Log($"Build <color=red>{report.summary.result.ToString()}</color>"); OnBuildFailed?.Invoke(); } }