/// <summary>
        /// Build method for CUI(-executeMethod option).
        /// </summary>
        protected static void Build()
        {
            var arguments = ProjectBuilderUtil.GetBuilderFromExecuteArgument();

            ProjectBuilderUtil.StartBuild(arguments, false, false);
        }
        /// <summary>
        /// BuildPipelineによるビルドを実行します.
        /// </summary>
        /// <returns>ビルドに成功していればtrueを、それ以外はfalseを返す.</returns>
        /// <param name="autoRunPlayer">Build & Runモードでビルドします.</param>
        public virtual bool BuildPlayer(bool autoRunPlayer)
        {
            if (_buildAssetBundle && !BuildAssetBundles())
            {
                return(false);
            }

            if (_buildApplication)
            {
                // Exclude directories.
                ExcludeBuildDirectoriesUtil.ExcludeDirectories(_excludeDirectories);

                // Build options.
                BuildOptions opt = _developmentBuild
                    ? (BuildOptions.Development & BuildOptions.AllowDebugging)
                    : BuildOptions.None
                                   | (autoRunPlayer ? BuildOptions.AutoRunPlayer : BuildOptions.None);

                // Scenes to build.
                string[] scenesToBuild = EditorBuildSettings.scenes.Where(x => x.enabled).Select(x => x.path).ToArray();
                UnityEngine.Debug.Log(kLogType + "Scenes to build : " +
                                      scenesToBuild.Aggregate((a, b) => a + ", " + b));

                string outputFullPath = BuildPathUtils.GetOutputPath(this);

                if (Directory.Exists(outputFullPath))
                {
                    Directory.Delete(outputFullPath, true);
                }

                if (File.Exists(outputFullPath))
                {
                    File.Delete(outputFullPath);
                }

                // Start build.
                UnityEngine.Debug.Log(kLogType + "BuildPlayer is started. Defined symbols : " +
                                      PlayerSettings.GetScriptingDefineSymbolsForGroup(BuildTargetGroup));

                var buildReport = BuildPipeline.BuildPlayer(scenesToBuild, outputFullPath, ActualBuildTarget, opt);

                // Revert excluded directories.
                ExcludeBuildDirectoriesUtil.RevertExcludedDirectory();

                if (buildReport.summary.result == BuildResult.Succeeded)
                {
                    UnityEngine.Debug.LogFormat(kLogType + "BuildPlayer is finished successful : {0}", outputFullPath);

                    if (_openBuildPathAfterBuild)
                    {
                        ProjectBuilderUtil.RevealOutputInFinder(outputFullPath);
                    }
                }
                else
                {
                    UnityEngine.Debug.LogErrorFormat(kLogType + "BuildPlayer is failed : {0}", buildReport);
                    return(false);
                }

                return(true);
            }

            return(false);
        }