コード例 #1
0
ファイル: CommonBuilder.cs プロジェクト: klenin/Citrus
        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();
            }
        }
コード例 #2
0
ファイル: Builder.cs プロジェクト: kutselabskii/Citrus
 private void BuildAndRun()
 {
     Environment.CurrentDirectory = Path.GetDirectoryName(SolutionPath);
     ClearObjFolder(citrusDirectory);
     OnBuildStatusChange?.Invoke("Building");
     if (AreRequirementsMet() && Build(SolutionPath))
     {
         ClearObjFolder(citrusDirectory);
         if (NeedRunExecutable)
         {
             RunExecutable();
         }
         OnBuildSuccess?.Invoke();
     }
 }
コード例 #3
0
        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();
            }
        }