Как включить заглушки контрактов из зависимости проекта - PullRequest
0 голосов
/ 28 мая 2020

Как вы определяете зависимость проекта, чтобы включить -stubs jar?

Например, у меня есть многомодульный проект.

У меня есть проект контрактов, содержащий все заглушки.

Затем в проекте a я делаю

implementation(project(":contracts"))

Это не помещает банку заглушек в путь к классу.

Как мне указать зависимость проекта, чтобы ввести заглушки банка?

1 Ответ

1 голос
/ 29 мая 2020

Хорошо, поэтому единственный способ заставить это работать был следующий.

В модуле контрактов build.gradle.kts (здесь используется kotlin DSL):

val stubs by configurations.creating {
  isCanBeConsumed = true
  isCanBeResolved = false
}


artifacts {
  add("stubs", tasks.verifierStubsJar.get())
}

Затем на стороне потребителя:

testImplementation(project(":libs:contracts", "stubs"))

Здесь важно использовать testImplementation. Если вы работаете только во время выполнения, необходимо предварительно создать jar-файлы в контрактном модуле. Использование testImplementation заставляет построить зависимость во время сборки проекта (то есть, как вы это делаете при выполнении теста)

...