Ejemplo n.º 1
0
        public static void BuildPackage()
        {
            //1. 解析命令行参数
            ParseCommandLineArgs();

            //2. 修改打包参数
            bool             cancel      = false;
            BuildTargetGroup targetGroup = BuildPipelineCommonTools.BuildUtils.GetBuildTargetGroup(mBatchBuildTargetString);
            BuildTarget      target      = BuildPipelineCommonTools.BuildUtils.GetBuildTarget(targetGroup);

            if (!BuildPipelineValidator.CheckSupportedTarget(targetGroup, target))
            {
                return;
            }
            if (cancel)
            {
                Debug.LogWarning("Build canceled (not enough information)");
                return;
            }

            ProjectBuildPresetSettings buildPresetSettings = new ProjectBuildPresetSettings()
            {
                buildTarget            = target,
                bundleVersionCode      = mBatchBuildNumber,
                version                = mBatchBundleVersion,
                overrideBuildPath      = true,
                buildPath              = mBatchBuildPath,
                overrideExecutableName = true,
                executableName         = mBatchExecutableName,
            };

            //3. 执行打包逻辑
            BuildPipelineExecutor.Build(buildPresetSettings);
        }
        internal BuildEnvsOptions SetBuildSettings(ProjectBuildPresetSettings presetSettings)
        {
            this.assetBundleManifestPath = null;
            this.locationPathName        = presetSettings.locationPathName;
            this.options     = presetSettings.buildOptions;
            this.scenes      = presetSettings.scenes;
            this.target      = presetSettings.activeBuildTarget;
            this.targetGroup = presetSettings.activeTargetGroup;

            this.androidExportSystem  = presetSettings.androidExportSystem;
            this.useAPKExpansionFiles = presetSettings.useAPKExpansionFiles;

            this.buildType          = presetSettings.buildType;
            this.androidBuildSystem = presetSettings.androidBuildSystem;
            this.buildNumber        = presetSettings.bundleVersionCode;
            if (presetSettings.useSystemTime)
            {
                DateTime date = DateTime.Now;
                this.version = "1." + date.Month + "." + date.Day;
            }
            else
            {
                this.version = presetSettings.version;
            }

            return(this);
        }
 public static void Build(ProjectBuildPresetSettings setting)
 {
     BuildPipelineExecutor.DefaultBuildEnvsOptions.SetBuildSettings(setting);
     PlayerSettingsResolver.EditorBuildSettings.SwitchActiveBuildTarget(BuildPipelineExecutor.DefaultBuildEnvsOptions.targetGroup, BuildPipelineExecutor.DefaultBuildEnvsOptions.target, () =>
     {
         PreBuild(BuildPipelineExecutor.DefaultBuildEnvsOptions);
     });
 }