in cli/src/main/java/org/apache/servicecomb/toolkit/cli/CheckCompatibilityBase.java [54:86]
public void run() {
if (filePaths.size() != 2) {
LOGGER.error("Require 2 files");
return;
}
OpenAPI oldOas = null;
OpenAPI newOas = null;
try {
oldOas = loadOpenApi(filePaths.get(0));
newOas = loadOpenApi(filePaths.get(1));
} catch (Exception e) {
LOGGER.error(e.getMessage());
return;
}
OasSpecDiffValidator diffValidator = createOasSpecDiffValidator();
List<OasDiffViolation> violations = diffValidator.validate(createContext(oldOas, newOas), oldOas, newOas);
if (CollectionUtils.isNotEmpty(violations)) {
for (OasDiffViolation violation : violations) {
LOGGER.info("left : {}\nright : {}\nerror : {}\n------",
OasObjectPropertyLocation.toPathString(violation.getLeftLocation()),
OasObjectPropertyLocation.toPathString(violation.getRightLocation()),
violation.getError()
);
}
throw new ValidationFailedException("check not passed");
}
LOGGER.info("Everything is good");
}