mirror of
https://gitee.com/BDWare/ypk-deploy-tool
synced 2026-01-29 08:09:27 +00:00
support publish to coderepo
This commit is contained in:
54
src/main/java/org/bdware/ypkdeploy/CodeRepoTool.java
Normal file
54
src/main/java/org/bdware/ypkdeploy/CodeRepoTool.java
Normal file
@@ -0,0 +1,54 @@
|
||||
package org.bdware.ypkdeploy;
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
import org.bdware.bdosclient.CodeRepoClient;
|
||||
import org.bdware.doip.audit.EndpointConfig;
|
||||
import org.bdware.doip.audit.client.AuditIrpClient;
|
||||
import org.bdware.doip.audit.config.FileStorage;
|
||||
import org.bdware.doip.codec.doipMessage.DoipMessage;
|
||||
import org.zz.gmhelper.SM2KeyPair;
|
||||
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
public class CodeRepoTool {
|
||||
static class Config {
|
||||
|
||||
}
|
||||
|
||||
public static void publish(String publishConfig) throws Exception {
|
||||
FileStorage storage = new FileStorage(publishConfig);
|
||||
EndpointConfig endpointConfig = storage.loadAsEndpointConfig();
|
||||
AuditIrpClient irpClient = new AuditIrpClient(endpointConfig);
|
||||
JsonObject arg = storage.load();
|
||||
CodeRepoClient client = new CodeRepoClient(arg.get("codeRepoId").getAsString(), irpClient, SM2KeyPair.fromJson(arg.toString()));
|
||||
String ypkPath = arg.get("ypkPath").getAsString();
|
||||
AtomicInteger result = new AtomicInteger(0);
|
||||
client.createAndUpload(ypkPath, new CodeRepoClient.ProgressCallback() {
|
||||
@Override
|
||||
public void onStart(String doId) {
|
||||
System.out.println("[CodeRepoTool] onStart:" + doId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onProgress(String doId, int currentChunk, int totalChunk) {
|
||||
System.out.println("[CodeRepoTool] " + doId + " progress: " + currentChunk + "/" + totalChunk);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFinish(String doId) {
|
||||
System.out.println("[CodeRepoTool] onFinish:" + doId);
|
||||
result.incrementAndGet();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String message, DoipMessage msg) {
|
||||
System.out.println("[CodeRepoTool] error:" + message);
|
||||
System.out.println("[CodeRepoTool] doipMsg:" + msg.body.getDataAsJsonString());
|
||||
result.incrementAndGet();
|
||||
}
|
||||
});
|
||||
for (; result.get() == 0; ) {
|
||||
Thread.yield();
|
||||
}
|
||||
}
|
||||
}
|
||||
9
src/test/java/CodeRepoToolTest.java
Normal file
9
src/test/java/CodeRepoToolTest.java
Normal file
@@ -0,0 +1,9 @@
|
||||
import org.bdware.ypkdeploy.CodeRepoTool;
|
||||
import org.junit.Test;
|
||||
|
||||
public class CodeRepoToolTest {
|
||||
@Test
|
||||
public void run() throws Exception {
|
||||
CodeRepoTool.publish("./publishconf.json");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user