Gradle多项目测试依赖关系不再适用于Gradle6.7的Eclipse



假设我有两个Gradle项目,名为"项目基地";以及";项目扩展";。我希望能够看到"的src/tests/java中定义的类;项目基地";在src/tests/java中;项目扩展";,能够在测试项目之间使用通用代码。为了做到这一点,我把这个放在";项目扩展":

dependencies { testImplementation project(path: ':project-base', configuration: 'testArtifacts')

这种情况一直持续到6.6.1级。但现在我尝试切换到Gradle6.7,但它在Eclipse中不起作用。Eclipse将能够导航到";项目基地";但仍将以红色显示它们并拒绝编译,称其无法解决依赖关系。请注意,这个文件在IntelliJIdea中仍然有效,即使对于Gradle6.7也是如此,这让我相信这与Buildship(Eclipse的Gradleplugin(没有正确支持Gradle6.7的这一功能有关。

有没有一种方法仍然可以在Eclipse中为Gradle6.7工作?

此问题可能与Eclipse和Buildship问题有关:

  • https://github.com/gradle/gradle/issues/12354
  • https://github.com/eclipse/buildship/issues/1009
  • https://github.com/gradle/gradle/issues/14932

将此代码添加到build.gradle解决了问题。

plugins {
id 'eclipse'
}
eclipse.classpath.file.whenMerged {
entries.findAll { it instanceof org.gradle.plugins.ide.eclipse.model.ProjectDependency }
.each { it.entryAttributes['without_test_code'] = 'false' }
}

相关内容

  • 没有找到相关文章