/// <summary> /// 开始构建 /// </summary> public void Run(BuildParameters buildParameters) { // 清空旧数据 _buildContext.ClearAllContext(); // 构建参数 var buildParametersContext = new BuildParametersContext(buildParameters.OutputRoot, buildParameters.BuildTarget, buildParameters.BuildVersion); _buildContext.SetContextObject(buildParametersContext); // 构建选项 var buildOptionsContext = new BuildOptionsContext(); buildOptionsContext.CompressOption = buildParameters.CompressOption; buildOptionsContext.IsForceRebuild = buildParameters.IsForceRebuild; buildOptionsContext.IsAppendHash = buildParameters.IsAppendHash; buildOptionsContext.IsDisableWriteTypeTree = buildParameters.IsDisableWriteTypeTree; buildOptionsContext.IsIgnoreTypeTreeChanges = buildParameters.IsIgnoreTypeTreeChanges; _buildContext.SetContextObject(buildOptionsContext); List <IBuildTask> pipeline = new List <IBuildTask> { new TaskPrepare(), //前期准备工作 new TaskGetBuildMap(), //获取构建列表 new TaskBuilding(), //开始构建 new TaskEncryption(), //加密资源文件 new TaskCheckCycle(), //检测循环依赖 new TaskCreatePatchManifest(), //创建补丁文件 new TaskCreateReadme(), //创建说明文件 new TaskCopyUpdateFiles() //复制更新文件 }; BuildRunner.Run(pipeline, _buildContext); BuildLogger.Log($"构建完成!"); }
/// <summary> /// 从输出目录加载补丁清单文件 /// </summary> public static PatchManifest LoadPatchManifestFile(BuildParametersContext buildParameters) { string filePath = $"{buildParameters.OutputDirectory}/{PatchDefine.PatchManifestFileName}"; if (File.Exists(filePath) == false) { return(new PatchManifest()); } string jsonData = FileUtility.ReadFile(filePath); return(PatchManifest.Deserialize(jsonData)); }
/// <summary> /// 开始构建 /// </summary> public bool Run(BuildParameters buildParameters) { // 清空旧数据 _buildContext.ClearAllContext(); // 构建参数 var buildParametersContext = new BuildParametersContext(buildParameters); _buildContext.SetContextObject(buildParametersContext); // 执行构建流程 List <IBuildTask> pipeline = new List <IBuildTask> { new TaskPrepare(), //前期准备工作 new TaskGetBuildMap(), //获取构建列表 new TaskBuilding(), //开始执行构建 new TaskVerifyBuildResult(), //验证构建结果 new TaskEncryption(), //加密资源文件 new TaskCreatePatchManifest(), //创建清单文件 new TaskCreateReport(), //创建报告文件 new TaskCreatePatchPackage(), //制作补丁包 new TaskCopyBuildinFiles(), //拷贝内置文件 }; if (buildParameters.BuildMode == EBuildMode.SimulateBuild) { BuildRunner.EnableLog = false; } else { BuildRunner.EnableLog = true; } bool succeed = BuildRunner.Run(pipeline, _buildContext); if (succeed) { Debug.Log($"{buildParameters.BuildMode} pipeline build succeed !"); } else { Debug.LogWarning($"{buildParameters.BuildMode} pipeline build failed !"); } return(succeed); }
/// <summary> /// 开始构建 /// </summary> public bool Run(BuildParameters buildParameters) { // 清空旧数据 _buildContext.ClearAllContext(); // 构建参数 var buildParametersContext = new BuildParametersContext(buildParameters); _buildContext.SetContextObject(buildParametersContext); // 执行构建流程 List <IBuildTask> pipeline = new List <IBuildTask> { new TaskPrepare(), //前期准备工作 new TaskGetBuildMap(), //获取构建列表 new TaskBuilding(), //开始执行构建 new TaskCheckCycle(), //检测循环依赖 new TaskEncryption(), //加密资源文件 new TaskCreatePatchManifest(), //创建清单文件 new TaskCreateReadme(), //创建说明文件 new TaskCreatePatchPackage(), //制作补丁包 new TaskCopyBuildinFiles(), //拷贝内置文件 }; bool succeed = BuildRunner.Run(pipeline, _buildContext); if (succeed) { BuildLogger.Log($"构建成功!"); } else { BuildLogger.Warning($"构建失败!"); } return(succeed); }