Example #1
0
        static QuickBuild()
        {
            AndroidBuildSchema = new BuildPlatformSchema
            {
                BuildTarget        = BuildTarget.Android,
                BuildTargetGroup   = BuildTargetGroup.Android,
                ProcessPackagePath = (fileName) => fileName + ".apk",
                OnPreBuild         = (buildConfig) =>
                {
                    PlayerSettings.keystorePass = CompanyName;
                    PlayerSettings.keyaliasPass = CompanyName;
                    PlayerSettings.Android.bundleVersionCode = buildConfig.BundleVersionCode;
                },
            };

            IOSBuildSchema = new BuildPlatformSchema
            {
                BuildTarget        = BuildTarget.iOS,
                BuildTargetGroup   = BuildTargetGroup.iOS,
                ProcessPackagePath = (fileName) => fileName, // Folder
                OnPreBuild         = null,
            };

            WinBuildSchema = new BuildPlatformSchema
            {
                BuildTarget        = BuildTarget.StandaloneWindows64,
                BuildTargetGroup   = BuildTargetGroup.Standalone,
                ProcessPackagePath = (fileName) => string.Format("{0}/{0}.exe", fileName),
                OnPreBuild         = null,
            };
        }
Example #2
0
        private static void Build(BuildPlatformSchema schema, BuildConfig config, string buildComment)
        {
            // Validate folder path
            if (!EditorHelper.ValidateFolder(OutputFolder))
            {
                ChangeOutputFolderPath();
                return;
            }

            string packageName;

            // Set package name
            if (!string.IsNullOrEmpty(buildComment))
            {
                packageName = string.Format("{0}_{1}_{2}", config.ProductName,
                                            DateTimeUtils.StandardTimeStr, buildComment);
            }
            else
            {
                packageName = string.Format("{0}_{1}", config.ProductName, DateTimeUtils.StandardTimeStr);
            }

            // Update runtime config
            config.PackageName = packageName;
            CreateConfig(BuildConfig.RuntimeAssetConfigPath, config);

            // Set define symbols
            PlayerSettings.SetScriptingDefineSymbolsForGroup(schema.BuildTargetGroup, config.GetDefineStr());

            // Set basic product info
            PlayerSettings.companyName              = CompanyName;
            PlayerSettings.applicationIdentifier    = config.BundleIdentifier;
            PlayerSettings.productName              = config.ProductName;
            PlayerSettings.bundleVersion            = config.BundleVersion;
            PlayerSettings.iOS.appleDeveloperTeamID = "WBHCY56HJ5";

            if (schema.OnPreBuild != null)
            {
                schema.OnPreBuild(config);
            }

            // Prepare output path
            var packagePath = string.Format("{0}/{1}/{2}", OutputFolder, schema.BuildTarget,
                                            schema.ProcessPackagePath(packageName));

            EditorHelper.PreparePathDirectory(packagePath);

            // Save as last configuration before building
            LastBuildName = packageName;
            LastBuildPath = packagePath;
            GetShellParam();
            // Building...
            var result = BuildPipeline.BuildPlayer(GetBuildScenes(), packagePath, schema.BuildTarget, GetBuildOptions());

            if (string.IsNullOrEmpty(result))
            {
                //Debug.Log("Build complete!");

                // RevealInFinder after build complete
                EditorUtility.RevealInFinder(packagePath);
            }
            else
            {
                //Debug.Log("Build error occur!");

                //Debug.LogError(result);
            }
        }