Gradle: как управлять циклической зависимостью от утилиты тестирования - PullRequest
1 голос
/ 24 октября 2011

Я нахожусь в процессе или настраиваю автоматический цикл сборки-тестирования-публикации для моего проекта Java с Gradle и Jenkins. AppTestFramework - это утилита, которую я написал для записи, написания сценариев и воспроизведения тестов. Он имеет некоторые зависимости времени компиляции от приложения. Тесты JUnit приложения, в свою очередь, запускают тесты, используя AppTestFramework.

build.gradle приложения:

dependencies {
  ...
  testCompile("org.kylewm:AppTestFramework:latest.integration")
}

AppTestFramework's build.gradle:

dependencies {
  compile("org.kylewm:App:latest.integration")
}

Не знаю, стоит ли мне описывать это как круговую зависимость именно потому, что я могу разделить ее на три проекта:

  • App
  • AppTestFramework зависит от приложения
  • AppUnitTests зависит от App, AppTestFramework

Я бы предпочел оставить их как отдельные проекты. Если бы они были подпроектами другого build.gradle, это было бы нормально, хотя я хотел бы избежать этого, если у меня есть какие-либо альтернативы. Спасибо!

1 Ответ

1 голос
/ 25 октября 2011

Адвокат дьявола: почему вы хотите, чтобы они были отдельными проектами, если код тесно связан?

Одним из решений может быть сохранение одного проекта, но создание нескольких JAR-файлов, чтобы другие проекты могли импортировать app.jar и app-testsupport.jar

...