使用gradle

时间:2018-05-31 02:36:06

标签: spring gradle build.gradle spring-cloud-contract

Spring在maven中提供了一个示例,它可以通过将pom.xml放在相应的目录中来为每个procducer服务生成存根。

Link to example

如何使用以下文件结构的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")

1 个答案:

答案 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")
    }
}