Home  >  Article  >  Java  >  How to Handle Test Dependencies in Multi-Project Gradle Configurations?

How to Handle Test Dependencies in Multi-Project Gradle Configurations?

Linda Hamilton
Linda HamiltonOriginal
2024-10-26 09:25:30228browse

How to Handle Test Dependencies in Multi-Project Gradle Configurations?

Multi-Project Test Dependencies in Gradle

When working with multi-project configurations, it's common to encounter issues with test dependencies across projects. Let's consider the following scenario:

Project Layout:

  • Project A

    • src/main/java
    • src/test/java
  • Project B

    • src/main/java (depends on Project A's main source)
    • src/test/java (depends on Project A's test source)

Problem:
In Project B's build.gradle file:

<code class="gradle">apply plugin: 'java'
dependencies {
  compile project(':ProjectA')
}</code>

While the compileJava task successfully compiles the main source, the compileTestJava task fails to compile the test files in Project A.

Solution (Deprecated for Gradle 5.6 and above):
To resolve this issue, add a testCompile dependency in Project B:

<code class="gradle">dependencies {
  ...
  testCompile project(':A').sourceSets.test.output
}</code>

Note: This solution is deprecated for Gradle 5.6 and above. For newer versions, refer to the recommended approach provided in the accepted answer.

The above is the detailed content of How to Handle Test Dependencies in Multi-Project Gradle Configurations?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn