同步操作将从 Gitee 极速下载/SmartCode 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
using Microsoft.Extensions.Logging;using SmartCode.Configuration;using System;using System.Collections.Generic;using System.Text;using System.Threading.Tasks;using System.Linq;namespace SmartCode.App{public class ProjectBuilder : IProjectBuilder{private readonly Project _project;private readonly IPluginManager _pluginManager;private readonly ILogger<ProjectBuilder> _logger;public ProjectBuilder(Project project, IPluginManager pluginManager, ILogger<ProjectBuilder> logger){_project = project;_pluginManager = pluginManager;_logger = logger;}public event OnProjectBuildStartupHandler OnStartup;public event OnProjectBuildSucceedHandler OnSucceed;public event OnProjectBuildFailedHandler OnFailed;public async Task Build(){BuildContext buildContext = null;try{var dataSource = _pluginManager.Resolve<IDataSource>(_project.DataSource.Name);if (OnStartup != null)await OnStartup.Invoke(this, new OnProjectBuildStartupEventArgs {Project = _project});await dataSource.InitData();foreach (var buildKV in _project.BuildTasks){_logger.LogInformation($"-------- BuildTask:{buildKV.Key} Start! ---------");var output = buildKV.Value.Output;buildContext = new BuildContext{PluginManager = _pluginManager,Project = _project,DataSource = dataSource,BuildKey = buildKV.Key,Build = buildKV.Value,Output = output?.Copy()};await _pluginManager.Resolve<IBuildTask>(buildKV.Value.Type).Build(buildContext);_logger.LogInformation($"-------- BuildTask:{buildKV.Key} End! ---------");}if (OnSucceed != null)await OnSucceed.Invoke(this, new OnProjectBuildSucceedEventArgs{Project = _project});}catch (Exception ex){if (OnFailed != null)await OnFailed.Invoke(this, new OnProjectBuildFailedEventArgs{Project = _project,Context = buildContext,ErrorException = ex});throw;}}}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。