Генерируйте заглушки из контрактного репо каждым потребителем, используя gradle - PullRequest
0 голосов
/ 31 мая 2018

Spring предоставил в maven пример, который может сгенерировать заглушку для каждой службы procducer, поместив файл pom.xml в соответствующий каталог.

Ссылка на пример

Как мне это сделать с помощью gradle с файловой структурой ниже, и я хочу создать заглушку только для api1?

src/
  main/
   resources/
     contracts/
       api1/
         consumer1/
           rest
         consumer2/
           rest
       api2/
         consumer1/
           rest

Обновление : только что обнаружил, что я могу указать имя потребителя в @AutoConfigureStubRunner, так что теперь мне просто нужно иметь возможность генерировать заглушку на основе каждого API с gradle.

@AutoConfigureStubRunner(workOffline = true,
    ids = "com.example:beer-api-producer-with-stubs-per-consumer",
    stubsPerConsumer = true,
    consumerName = "bar-consumer")

1 Ответ

0 голосов
/ 31 мая 2018

Вы должны использовать задачу jar в Gradle.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")
    }
}
...