Spring在maven中提供了一个示例,它可以通过将pom.xml放在相应的目录中来为每个procducer服务生成存根。
如何使用以下文件结构的gradle执行此操作,我只想为api1构建存根?
src/
main/
resources/
contracts/
api1/
consumer1/
rest
consumer2/
rest
api2/
consumer1/
rest
更新: 刚刚发现我可以在@AutoConfigureStubRunner中指定使用者名称,所以现在我只需要能够使用gradle基于每个API生成存根。
@AutoConfigureStubRunner(workOffline = true,
ids = "com.example:beer-api-producer-with-stubs-per-consumer",
stubsPerConsumer = true,
consumerName = "bar-consumer")
答案 0 :(得分:1)
您必须在Gradle中使用jar任务。 https://github.com/spring-cloud-samples/spring-cloud-contract-samples/blob/master/producer_with_restdocs/build.gradle你在这里有一个例子。
这足够你修改路径,它应该工作。示例如下:
task stubsJar(type: Jar) {
into("/") {
include('**/*.groovy')
from("${project.rootDir}/src/main/resources/contracts")
}
}