Как изменить задание gradle в openapi3 зависит от. Плагин Gradle написан на котлине - PullRequest
0 голосов
/ 19 марта 2019

Я добавил плагин Gradle com.epages:restdocs-api-spec-gradle-plugin:0.9.0, который выставляет задачу Gradle openapi3. Это задание dependsOn check, которое запускает все мои тесты. Я хотел бы, чтобы эта задача зависела от задачи myCustomTest, которая запускает только часть моих тестов. Как бы я поступил так?

Пока что я даже не могу добавить к нему dependsOn, хотя добавление dependsOn не может быть решением. Я получил следующую ошибку:

Could not find method dependsOn() for arguments [task ':myCustomTest'] on object of type com.epages.restdocs.apispec.gradle.OpenApi3Extension

при попытке выполнить одно из следующих действий:

  • openapi3.dependsOn myCustomTest
  • openapi3 { dependsOn myCustomTest }

Одна особенность этого плагина в том, что он написан на kotlin, вот источник: https://github.com/ePages-de/restdocs-api-spec/tree/master/restdocs-api-spec-gradle-plugin

Ответы [ 2 ]

0 голосов
/ 15 мая 2019

В связи с тем, что openapi3 зарегистрирован как расширение и после оценки задача регистрируется с тем же именем, вы не можете статически объявить ее, поэтому используйте динамический режим:

 myCustomTest.finalizedBy {
       tasks.findAll {task -> task.name.startsWith('openapi3')}
 }
0 голосов
/ 19 марта 2019

Нашел простое решение моего собственного вопроса выше.Оказывается, я могу просто запустить openapi3 с -x, чтобы пропустить определенные задачи.Поэтому что-то вроде следующего будет работать так, как я хотел:

gradle myCustomTest openapi3 -x check

Нет необходимости изменять скрипт сборки gradle.

...