Browse Source

REPORT-153292 本地服务端jar不一致同步接口

feature/x^2
shengzu.xue 2 days ago
parent
commit
a45ce34965
  1. 1
      designer-base/src/main/java/com/fr/design/update/processor/AbstractSyncProcessor.java
  2. 81
      designer-base/src/main/java/com/fr/design/update/processor/SyncProcessor.java
  3. 1
      designer-base/src/main/java/com/fr/design/update/processor/SyncProcessorExecutor.java

1
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;

81
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 本地与服务端不同的插件信息
* <p>
* /**
* 执行插件同步
* @param differentPlugins 不同的插件信息
* @return 返回失败的插件信息
*/
List<PluginMarker> executePluginSync(List<PluginMarker> differentPlugins);
/**
* 获取支持的同步类型
* 如果不支持任何类型, 则返回空集
* 对于实现支持的类型 会按照类中实现逻辑进行同步
* 对于不支持的类型 会使用默认实现进行同步
*
* @return 支持的同步类型
* @see SyncProcessor.SyncType
*/
Set<SyncType> supportedSyncType();
}

1
designer-base/src/main/java/com/fr/design/update/processor/SyncProcessorExecutor.java

@ -2,7 +2,6 @@
package com.fr.design.update.processor;
import com.fr.decision.update.SyncExecutor;
import com.fr.decision.update.SyncProcessor;
import com.fr.decision.update.backup.Recover;
import com.fr.decision.update.backup.RecoverForSync;
import com.fr.decision.update.command.Command;

Loading…
Cancel
Save