コード例 #1
0
        /// <summary>
        ///     Build method that is invoked by commandline
        /// </summary>
        // ReSharper disable once UnusedMember.Global
        public static void Build()
        {
            try
            {
                var args = CommandLineArgs.FromCommandLine();

                // Parse command line arguments
                var buildContextFilter = BuildContextSettings.FromCommandLine(args);

                // Create BuildContext for each worker
                var buildConfig   = BuildConfig.GetInstance();
                var buildContexts = BuildContext.GetBuildContexts(buildConfig, buildContextFilter);

                if (buildContexts.Count == 0)
                {
                    throw new BuildFailedException("Attempted a build with no valid targets!");
                }

                BuildWorkers(buildContexts);
            }
            catch (Exception e)
            {
                Debug.LogException(e);
                if (e is BuildFailedException)
                {
                    throw;
                }

                throw new BuildFailedException(e);
            }
        }
コード例 #2
0
        public void GetBuildContexts_for_unknown_worker_type_without_filter_returns_zero_cloud_contexts(string workerType)
        {
            var buildContextFilter = BuildContextSettings.Cloud(workerType);

            List <BuildContext> buildContexts = null;

            Assert.DoesNotThrow(() =>
            {
                buildContexts = BuildContext.GetBuildContexts(EmptyBuildConfig, buildContextFilter);
            });

            Assert.AreEqual(0, buildContexts.Count);
        }
コード例 #3
0
        public void GetBuildContexts_for_unknown_worker_type_with_invalid_filter_returns_zero_cloud_contexts(string workerType, params BuildTarget[] buildTargetFilter)
        {
            var buildContextFilter = BuildContextSettings.Cloud(workerType);

            buildContextFilter.BuildTargetFilter = buildTargetFilter;

            List <BuildContext> buildContexts = null;

            Assert.DoesNotThrow(() =>
            {
                buildContexts = BuildContext.GetBuildContexts(ValidBuildConfig, buildContextFilter);
            });

            Assert.AreEqual(0, buildContexts.Count);
        }
コード例 #4
0
        public void GetBuildContexts_for_valid_worker_type_with_valid_filter_returns_expected_number_of_cloud_contexts(string workerType, int expectedContexts, params BuildTarget[] buildTargetFilter)
        {
            var buildContextFilter = BuildContextSettings.Cloud(workerType);

            buildContextFilter.BuildTargetFilter = buildTargetFilter;

            List <BuildContext> buildContexts = null;

            Assert.DoesNotThrow(() =>
            {
                buildContexts = BuildContext.GetBuildContexts(ValidBuildConfig, buildContextFilter);
            });

            Assert.AreEqual(expectedContexts, buildContexts.Count);
        }
コード例 #5
0
        public void GetBuildContexts_for_valid_worker_type_without_filter_returns_all_expected_cloud_contexts(string workerType, params BuildTarget[] expectedTargets)
        {
            var buildContextFilter = BuildContextSettings.Cloud(workerType);

            List <BuildContext> buildContexts = null;

            Assert.DoesNotThrow(() =>
            {
                buildContexts = BuildContext.GetBuildContexts(ValidBuildConfig, buildContextFilter);
            });

            Assert.AreEqual(expectedTargets.Length, buildContexts.Count);

            for (var i = 0; i < buildContexts.Count; i++)
            {
                Assert.AreEqual(workerType, buildContexts[i].WorkerType);
                Assert.AreEqual(expectedTargets[i], buildContexts[i].BuildTargetConfig.Target);
            }
        }
コード例 #6
0
        internal static void MenuBuild(BuildContextSettings buildContextSettings)
        {
            // Delaying build by a frame to ensure the editor has re-rendered the UI to avoid odd glitches.
            EditorApplication.delayCall += () =>
            {
                try
                {
                    var buildConfig   = BuildConfig.GetInstance();
                    var buildContexts = BuildContext.GetBuildContexts(buildConfig, buildContextSettings);
                    BuildWorkers(buildContexts);
                }
                catch (Exception e)
                {
                    Debug.LogException(e);
                    EditorUtility.DisplayDialog("Build Failed",
                                                "Build failed. Please see the Unity Console Window for information.",
                                                "OK");

                    throw;
                }
            };
        }
コード例 #7
0
ファイル: WorkerMenu.cs プロジェクト: DB823/unity
 private static void MenuBuild(BuildContextSettings buildContextSettings)
 {
     WorkerBuilder.MenuBuild(buildContextSettings);
 }
コード例 #8
0
ファイル: WorkerMenu.cs プロジェクト: DB823/unity
 public static void BuildCloudAll()
 {
     MenuBuild(BuildContextSettings.Cloud(AllWorkers));
 }
コード例 #9
0
ファイル: WorkerMenu.cs プロジェクト: DB823/unity
 public static void BuildLocalAll()
 {
     MenuBuild(BuildContextSettings.Local(AllWorkers));
 }
コード例 #10
0
ファイル: WorkerMenu.cs プロジェクト: DB823/unity
 public static void BuildCloudUnityGameLogic()
 {
     MenuBuild(BuildContextSettings.Cloud("UnityGameLogic"));
 }
コード例 #11
0
ファイル: WorkerMenu.cs プロジェクト: DB823/unity
 public static void BuildLocalUnityGameLogic()
 {
     MenuBuild(BuildContextSettings.Local("UnityGameLogic"));
 }
コード例 #12
0
ファイル: WorkerMenu.cs プロジェクト: DB823/unity
 public static void BuildCloudUnityClient()
 {
     MenuBuild(BuildContextSettings.Cloud("UnityClient"));
 }
コード例 #13
0
ファイル: WorkerMenu.cs プロジェクト: DB823/unity
 public static void BuildLocalUnityClient()
 {
     MenuBuild(BuildContextSettings.Local("UnityClient"));
 }
コード例 #14
0
ファイル: WorkerMenu.cs プロジェクト: DB823/unity
 public static void BuildCloudMobileClient()
 {
     MenuBuild(BuildContextSettings.Cloud("MobileClient"));
 }
コード例 #15
0
ファイル: WorkerMenu.cs プロジェクト: DB823/unity
 public static void BuildLocalMobileClient()
 {
     MenuBuild(BuildContextSettings.Local("MobileClient"));
 }