Java 编写任务以在Gradle.build中使用Swagger Diff比较两个Swagger.yaml文件
我需要在Java 编写任务以在Gradle.build中使用Swagger Diff比较两个Swagger.yaml文件,java,docker,build.gradle,Java,Docker,Build.gradle,我需要在build.gradle中为我的java项目编写一个任务,以使用'Swagger diff'工具比较两个Swagger.yaml文件,并确保它们在构建过程中兼容 我尝试过不同的方法: exec { commandLine 'npm', 'install', 'swagger-diff' } exec { commandLine 'swagger-diff', "$bui
build.gradle
中为我的java项目编写一个任务,以使用'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,构建失败
"
我还尝试了'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 –
您可以尝试使用,它还包含一个Gradle插件,便于集成。
不幸的是,我用一个相当复杂的招摇过市的定义对它进行了测试,结果是NPE,现在它只包含基本的比较。您可以尝试使用,它还包含一个Gradle插件,便于集成。
不幸的是,我用一个相当复杂的招摇过市定义测试了它,结果是NPE,现在它只包含基本的比较。你的Dockerfile是什么样子的?ARG DOCKER_URL=DOCKER.abc.net来自$DOCKER_URL/z-jdk-base:stable-8运行apt get update和apt get install-y swagger diff VOLUME[“/tmp”]复制build/xyz/xyz-service.jar/opt/service/service.jar您的Dockerfile是什么样子的?ARG DOCKER\u URL=DOCKER.abc.net来自$DOCKER\u URL/z-jdk-base:stable-8运行apt-get-update和apt-get-install-y-swagger-diff-VOLUME[“/tmp”]复制build/xyz/xyz-service.jar/opt/service/service.jar
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 –