diff --git a/designer-base/src/main/java/com/fr/design/update/processor/AbstractSyncProcessor.java b/designer-base/src/main/java/com/fr/design/update/processor/AbstractSyncProcessor.java index fac8665a79..f113e6ef9a 100644 --- a/designer-base/src/main/java/com/fr/design/update/processor/AbstractSyncProcessor.java +++ b/designer-base/src/main/java/com/fr/design/update/processor/AbstractSyncProcessor.java @@ -1,6 +1,5 @@ package com.fr.design.update.processor; -import com.fr.decision.update.SyncProcessor; import com.fr.decision.update.info.UpdateCallBack; import com.fr.plugin.context.PluginMarker; diff --git a/designer-base/src/main/java/com/fr/design/update/processor/SyncProcessor.java b/designer-base/src/main/java/com/fr/design/update/processor/SyncProcessor.java new file mode 100644 index 0000000000..9acbe44eb5 --- /dev/null +++ b/designer-base/src/main/java/com/fr/design/update/processor/SyncProcessor.java @@ -0,0 +1,81 @@ +package com.fr.design.update.processor; + +import com.fr.decision.update.data.UpdateConstants; +import com.fr.decision.update.info.UpdateCallBack; +import com.fr.plugin.context.PluginMarker; +import com.fr.stable.ProjectLibrary; +import com.fr.stable.StableUtils; +import com.fr.stable.fun.mark.Immutable; +import com.fr.stable.project.ProjectConstants; + +import java.util.List; +import java.util.Set; + + +/** + * @author shengzu.xue + * @since 11.0 + * Created on 2025/5/15 15:27 + * jar更新接口 + */ +public interface SyncProcessor extends Immutable { + String XML_TAG = "SyncProcessor"; + int CURRENT_LEVEL = 1; + + + /** + * 同步文件保存的路径 + */ + String DESIGNER_JARS_PATH = StableUtils.pathJoin(StableUtils.getInstallHome(), + ProjectConstants.LOGS_NAME, UpdateConstants.INSTALL_LIB, UpdateConstants.DOWNLOADPATH); + String COMMON_JARS_PATH = StableUtils.pathJoin(ProjectLibrary.getInstance().getLibHome(), + ProjectConstants.ASSIST_NAME, UpdateConstants.ENV_LIB, UpdateConstants.DOWNLOADPATH); + + + /** + * 同步类型 + */ + enum SyncType { + /** + * 插件同步 + */ + PLUGIN_SYNC, + /** + * 主jar同步 + */ + JAR_SYNC + } + + /** + * 执行更新, 会将需要同步的文件保存到指定的路径 + * + * @param callBack 回调,用于更新进度UI + * @param fullBuildNo 全量版本号 + * @return 是否更新成功 + */ + boolean executeJarSync(UpdateCallBack callBack, String fullBuildNo, String designerJarsPath, String commonJarsPath); + + /** + * 执行插件同步 + * + * @param differentPlugins 本地与服务端不同的插件信息 + *
+ * /**
+ * 执行插件同步
+ * @param differentPlugins 不同的插件信息
+ * @return 返回失败的插件信息
+ */
+ List