Как мне сделать один подпроект зависимым от другого подпроекта в Gradle через конфигурации? - PullRequest
0 голосов
/ 26 апреля 2019

У меня есть мультипроектная сборка, которая выглядит так:

helloworld
- projecta
  - build.gradle
- projectb
  - build.gradle
- build.gradle

projecta создает несколько файлов, а projectb архивирует их. Я хочу, чтобы projectb зависело от projecta.

Прямо сейчас у меня просто есть dependsOn ':projecta:build в моем projectb build.gradle. Но это похоже на взлом.

Я хочу использовать конфигурации, чтобы они выглядели так:

// projectb build.gradle
dependencies {
  compile project(':projecta')
}

Но я не могу найти никакой документации о том, как определить задачу компиляции. Как мне пойти и сделать это?

1 Ответ

1 голос
/ 28 апреля 2019

Философия Gradle заключается в том, чтобы моделировать именно то, к чему вы стремитесь:

  • Являются ли файлы, созданные projecta, реальным выводом самого проекта, например, JAR вМир Java?

    Если да, то поработайте с конфигурацией, которая действительно даст вам доступ к этим файлам, при условии, что они должным образом зарегистрированы как продукция projecta

  • Являются ли файлы побочным продуктом сборки projecta, но не предназначены для общего потребления?

    В этом случае наиболее явная зависимость - это задачи, где задача архивирования в projectb просто зависит отзадача от projecta, которая производит эти файлы.build здесь выглядит как хак в том смысле, что это, скорее всего, вызовет гораздо больше работы в projecta по сравнению с тем, что действительно нужно projectb.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...