我在 Maven 中有一个多项目设置,并试图切换到 gradle。我试图弄清楚如何让一个项目的测试依赖项包含另一个项目的测试 jar。现在我在ProjectA中有以下内容:
packageTests = task packageTests(type: Jar) {
classifier = 'tests'
from sourceSets.test.output
}
tasks.getByPath(":ProjectA:jar").dependsOn(packageTests)
在 ProjectB 我有:
testCompile project(path: ':ProjectA', classifier: 'tests')
我看到我的测试无法编译。看起来他们缺少在测试 jar 中定义的类。当我检查构建目录时,我看到 ProjectA-0.1.56-SNAPSHOT-tests.jar 存在。
在 Maven 中,我为 ProjectA 提供了以下内容:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
这对于 ProjectB:
<!-- Testing -->
<dependency>
<groupId>com.example</groupId>
<artifactId>ProjectA</artifactId>
<version>0.1.56-SNAPSHOT</version>
<type>test-jar</type>
</dependency>
我怎样才能让它像 maven 一样工作?