Testing 在多模块项目中继承repostories

Testing 在多模块项目中继承repostories,testing,gradle,Testing,Gradle,我想在测试中模仿依赖解析。我希望存储库将由sup项目的子项目继承。检查一下 Project sup = ProjectBuilder.builder().build() sup.repositories {mavenCentral()} Project sub = ProjectBuilder.builder().withParent(sup).build() sup.repositories {mavenCentral()} //just to be sure sub.apply plugi

我想在测试中模仿依赖解析。我希望存储库将由sup项目的子项目继承。检查一下

Project sup = ProjectBuilder.builder().build()
sup.repositories {mavenCentral()}
Project sub = ProjectBuilder.builder().withParent(sup).build()
sup.repositories {mavenCentral()} //just to be sure

sub.apply plugin:  'java'
sub.dependencies {compile 'com.google.guava:guava:14.0'}

sub.configurations.findByName('compile').resolvedConfiguration.rethrowFailure()
但它失败了

org.gradle.api.artifacts.ResolveException: Could not resolve all dependencies for configuration ':test:compile'.
at org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration.rethrowFailure(DefaultLenientConfiguration.java:52)
...
Caused by: org.gradle.api.internal.artifacts.ivyservice.ModuleVersionNotFoundException: Could not find group:com.google.guava, module:guava, version:14.0.
Required by:
test:test:unspecified
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.LazyDependencyToModuleResolver$StaticVersionResolveResult.notFound(LazyDependencyToModuleResolver.java:159)
...
我可以通过添加
sub.repositories{mavenCentral()}
来修复它。但对我来说,似乎没有它也能用

我仍然使用Gradle1.2

gradle使用配置注入而不是继承,这同样简洁,但更简洁、更灵活。在本例中,您可以执行类似于
sup.allprojects{repositories{mavenCentral()}}
的操作

要了解有关配置注入的更多信息,请参阅中的