gpt4 book ai didi

java - 在Gradle.build中编写一个使用Swagger-Diff的任务来比较两个Swagger.yaml文件

转载 作者:行者123 更新时间:2023-12-02 19:56:13 24 4
gpt4 key购买 nike

我需要为我的Java项目在build.gradle中编写一个任务,以使用“Swagger-diff”工具比较两个swagger.yaml文件,并确保它们在构建过程中兼容。

我尝试了不同的方法:

    exec {
commandLine 'npm',
'install', 'swagger-diff'
}
exec {
commandLine 'swagger-diff',
"$buildDir/resources/main/static/swagger1.yaml",
"$buildDir/resources/main/static/swagger2.yaml"
}

当我推送代码时,我在docker容器日志中看到它找不到swagger-diff并且构建失败。


Caused by: net.rubygrapefruit.platform.NativeException: Could not start 'swagger-diff'"
"Caused by: java.io.IOException: Cannot run program "swagger-diff" (in directory "/opt/xyz/pipelines/agent/build"): error=2, No such file or directory
at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:25)
... 7 more
Caused by: java.io.IOException: error=2, No such file or directory
... 8 more"

我也尝试了 'gem''apt-get'命令,得到了相同的结果。

我不确定自己是在做正确的事,还是需要为此使用库/命令而不是swagger-diff工具。

Dockerfile-
ARG DOCKER_URL=docker.abc.net 

FROM $DOCKER_URL/z-jdk-base:stable-8

RUN apt-get update && apt-get install -y swagger-diff

VOLUME ["/tmp"]

COPY build/xyz/xyz-service.jar /opt/service/service.jar –

最佳答案

您可以尝试使用https://github.com/redskap/swagger-brake,它还包含用于轻松集成的Gradle插件。
不幸的是,我用一个非常复杂的招摇定义对其进行了测试,最终以NPE结束,如今,它仅包含基本比较。

关于java - 在Gradle.build中编写一个使用Swagger-Diff的任务来比较两个Swagger.yaml文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57751281/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com