|
|
@@ -84,90 +84,115 @@ public class AppServiceImpl implements AppService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Response rewriteGradleFile(Integer taskId, String fileName, String content) {
|
|
|
- try {
|
|
|
- File file = new File(fileName);
|
|
|
- if (!file.exists()) {
|
|
|
- file.createNewFile();
|
|
|
- }
|
|
|
- FileWriter fileWriter = new FileWriter(file.getName(), false);
|
|
|
- BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
|
|
|
- bufferedWriter.write(content);
|
|
|
- bufferedWriter.close();
|
|
|
-
|
|
|
- // 修改完成Gradle文件,通知后续流程继续
|
|
|
- if (CommonValueTable.LockTable.containsValue(taskId)) {
|
|
|
- // 对应的LockTable已经创建
|
|
|
- // 调用notify方法继续流水线执行
|
|
|
- WaitLock waitLock = CommonValueTable.LockTable.get(taskId);
|
|
|
- synchronized (waitLock) {
|
|
|
- waitLock.notify();
|
|
|
- }
|
|
|
- } else {
|
|
|
- WaitLock waitLock = new WaitLock();
|
|
|
- CommonValueTable.LockTable.put(taskId, waitLock);
|
|
|
- }
|
|
|
- return Response.buildSuccess(true);
|
|
|
- } catch (Exception exception) {
|
|
|
- logger.error("重写Gradle文件失败,错误信息: {}", exception.getMessage());
|
|
|
- return Response.buildFailure(ResultCode.GRADLE_REWRITE_FAIL.getCode(), ResultCode.GRADLE_REWRITE_FAIL.getMessage());
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public Response checkTaskStatus(Integer taskId) {
|
|
|
- ExecuteResult result = CommonValueTable.ResultTable.get(taskId);
|
|
|
- BuildTaskPO buildTaskPO = this.buildTaskMapper.selectById(taskId);
|
|
|
- if (result == null) {
|
|
|
- return Response.buildFailure(ResultCode.BUILD_TASK_NON_EXIST.getCode(), ResultCode.BUILD_TASK_NON_EXIST.getMessage());
|
|
|
- } else {
|
|
|
- // 根据对应的执行结果内容进行更新
|
|
|
- buildTaskPO.setStatus(result.getStatus());
|
|
|
- buildTaskPO.setUpdateTime(result.getUpdateTime());
|
|
|
- buildTaskPO.setMessage(result.getMessage());
|
|
|
- buildTaskMapper.updateById(buildTaskPO);
|
|
|
-
|
|
|
- // 流水线已经执行完成,删除其在Map中的内容,防止空间堆积
|
|
|
- if(BuildTaskStatusEnum.SUCCESS.equals(result.getStatus()) || BuildTaskStatusEnum.FAILED.equals(result.getStatus())) {
|
|
|
- CommonValueTable.ResultTable.remove(taskId);
|
|
|
- }
|
|
|
+ public Response getAppInfo(Integer id) {
|
|
|
+ if (id == null) {
|
|
|
+ return Response.buildFailure(ResultCode.ILLEGAL_ARGUMENT.getCode(), ResultCode.ILLEGAL_ARGUMENT.getMessage());
|
|
|
}
|
|
|
- return Response.buildSuccess(buildTaskPO);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public Response createBuildTask(BuildTaskCreateVO createVO) {
|
|
|
- AppInfoPO appInfoPO = appInfoMapper.selectById(createVO.getAppId());
|
|
|
+ AppInfoPO appInfoPO = appInfoMapper.selectById(id);
|
|
|
if (appInfoPO == null) {
|
|
|
return Response.buildFailure(ResultCode.APPINFO_NON_EXIST.getCode(), ResultCode.APPINFO_NON_EXIST.getMessage());
|
|
|
}
|
|
|
- BuildTaskPO buildTaskPO = new BuildTaskPO();
|
|
|
- BeanUtils.copyProperties(createVO, buildTaskPO);
|
|
|
- buildTaskPO.setCreateTime(new Date(System.currentTimeMillis()));
|
|
|
- buildTaskPO.setStatus(BuildTaskStatusEnum.NEW);
|
|
|
- Integer taskId = buildTaskMapper.insert(buildTaskPO);
|
|
|
- buildTaskPO.setId(taskId);
|
|
|
- ApplicationProperties app = ApplicationProperties.builder()
|
|
|
- .appId(createVO.getAppId())
|
|
|
- .appName(appInfoPO.getAppName())
|
|
|
- .repoUrl(appInfoPO.getRepoUrl())
|
|
|
- .branch(appInfoPO.getBuildBranch())
|
|
|
- .build();
|
|
|
- THREAD_POOL_EXECUTOR.execute(new Runnable() {
|
|
|
- @Override
|
|
|
- public void run() {
|
|
|
- Pipeline pipeline = null;
|
|
|
- try {
|
|
|
- pipeline = PipelineFactory.init(taskId, appInfoPO.getAppName(), buildTaskPO, app);
|
|
|
- pipeline.start();
|
|
|
- } catch (PipelineException e) {
|
|
|
- logger.error("PipelineException : {}", e.getMessage());
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- return Response.buildSuccess(taskId);
|
|
|
+ AppInfoVO result = new AppInfoVO();
|
|
|
+ BeanUtils.copyProperties(appInfoPO, result);
|
|
|
+ List<Integer> contributorId = relationMapper.selectContributorIdsByAppId(id);
|
|
|
+ result.setContributorIds(contributorId);
|
|
|
+ return Response.buildSuccess();
|
|
|
}
|
|
|
|
|
|
+// @Override
|
|
|
+// public Response rewriteGradleFile(Integer taskId, String fileName, String content) {
|
|
|
+// try {
|
|
|
+// File file = new File(fileName);
|
|
|
+// if (!file.exists()) {
|
|
|
+// file.createNewFile();
|
|
|
+// }
|
|
|
+// FileWriter fileWriter = new FileWriter(file.getName(), false);
|
|
|
+// BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
|
|
|
+// bufferedWriter.write(content);
|
|
|
+// bufferedWriter.close();
|
|
|
+//
|
|
|
+// // 修改完成Gradle文件,通知后续流程继续
|
|
|
+// if (CommonValueTable.LockTable.containsValue(taskId)) {
|
|
|
+// // 对应的LockTable已经创建
|
|
|
+// // 调用notify方法继续流水线执行
|
|
|
+// WaitLock waitLock = CommonValueTable.LockTable.get(taskId);
|
|
|
+// synchronized (waitLock) {
|
|
|
+// waitLock.notify();
|
|
|
+// }
|
|
|
+// } else {
|
|
|
+// WaitLock waitLock = new WaitLock();
|
|
|
+// CommonValueTable.LockTable.put(taskId, waitLock);
|
|
|
+// }
|
|
|
+// return Response.buildSuccess(true);
|
|
|
+// } catch (Exception exception) {
|
|
|
+// logger.error("重写Gradle文件失败,错误信息: {}", exception.getMessage());
|
|
|
+// return Response.buildFailure(ResultCode.GRADLE_REWRITE_FAIL.getCode(), ResultCode.GRADLE_REWRITE_FAIL.getMessage());
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Override
|
|
|
+// public Response checkTaskStatus(Integer taskId) {
|
|
|
+// ExecuteResult result = CommonValueTable.ResultTable.get(taskId);
|
|
|
+// BuildTaskPO buildTaskPO = this.buildTaskMapper.selectById(taskId);
|
|
|
+// if (result == null) {
|
|
|
+// return Response.buildFailure(ResultCode.BUILD_TASK_NON_EXIST.getCode(), ResultCode.BUILD_TASK_NON_EXIST.getMessage());
|
|
|
+// } else {
|
|
|
+// // 根据对应的执行结果内容进行更新
|
|
|
+// buildTaskPO.setStatus(result.getStatus());
|
|
|
+// buildTaskPO.setUpdateTime(result.getUpdateTime());
|
|
|
+// buildTaskPO.setMessage(result.getMessage());
|
|
|
+// buildTaskMapper.updateById(buildTaskPO);
|
|
|
+//
|
|
|
+// // 流水线已经执行完成,删除其在Map中的内容,防止空间堆积
|
|
|
+// if(BuildTaskStatusEnum.SUCCESS.equals(result.getStatus()) || BuildTaskStatusEnum.FAILED.equals(result.getStatus())) {
|
|
|
+// CommonValueTable.ResultTable.remove(taskId);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// return Response.buildSuccess(buildTaskPO);
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Override
|
|
|
+// public Response createBuildTask(BuildTaskCreateVO createVO) {
|
|
|
+// AppInfoPO appInfoPO = appInfoMapper.selectById(createVO.getAppId());
|
|
|
+// if (appInfoPO == null) {
|
|
|
+// return Response.buildFailure(ResultCode.APPINFO_NON_EXIST.getCode(), ResultCode.APPINFO_NON_EXIST.getMessage());
|
|
|
+// }
|
|
|
+// BuildTaskPO buildTaskPO = new BuildTaskPO();
|
|
|
+// BeanUtils.copyProperties(createVO, buildTaskPO);
|
|
|
+// buildTaskPO.setCreateTime(new Date(System.currentTimeMillis()));
|
|
|
+// buildTaskPO.setStatus(BuildTaskStatusEnum.NEW);
|
|
|
+// Integer taskId = buildTaskMapper.insert(buildTaskPO);
|
|
|
+// buildTaskPO.setId(taskId);
|
|
|
+// ApplicationProperties app = ApplicationProperties.builder()
|
|
|
+// .appId(createVO.getAppId())
|
|
|
+// .appName(appInfoPO.getAppName())
|
|
|
+// .repoUrl(appInfoPO.getRepoUrl())
|
|
|
+// .branch(appInfoPO.getBuildBranch())
|
|
|
+// .build();
|
|
|
+// THREAD_POOL_EXECUTOR.execute(new Runnable() {
|
|
|
+// @Override
|
|
|
+// public void run() {
|
|
|
+// Pipeline pipeline = null;
|
|
|
+// try {
|
|
|
+// pipeline = PipelineFactory.init(taskId, appInfoPO.getAppName(), buildTaskPO, app);
|
|
|
+// pipeline.start();
|
|
|
+// } catch (PipelineException e) {
|
|
|
+// logger.error("PipelineException : {}", e.getMessage());
|
|
|
+// }
|
|
|
+// }
|
|
|
+// });
|
|
|
+// return Response.buildSuccess(taskId);
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Override
|
|
|
+// public Response getBuildTaskList(Integer appId) {
|
|
|
+// if (appId == null) {
|
|
|
+// return Response.buildFailure(ResultCode.ILLEGAL_ARGUMENT.getCode(), ResultCode.ILLEGAL_ARGUMENT.getMessage());
|
|
|
+// }
|
|
|
+// List<BuildTaskPO> buildTaskPOList = buildTaskMapper.selectByAppId(appId);
|
|
|
+// return Response.buildSuccess(buildTaskPOList);
|
|
|
+// }
|
|
|
+
|
|
|
private AppInfoVO buildAppInfoVO(AppInfoPO appInfoPO) {
|
|
|
AppInfoVO appInfoVO = new AppInfoVO();
|
|
|
BeanUtils.copyProperties(appInfoPO, appInfoVO);
|