使用Gradle API将依赖项解析为Gradle缓存
我正在为一个库的多个版本构建一个适配器。 在我的单元测试中,我想针对所有这些版本进行测试。它们在central上可用,我可以这样解决它们:使用Gradle API将依赖项解析为Gradle缓存,gradle,Gradle,我正在为一个库的多个版本构建一个适配器。 在我的单元测试中,我想针对所有这些版本进行测试。它们在central上可用,我可以这样解决它们: def version = '2.0' def project = ProjectBuilder.builder().build() def config = project.configurations.create('config'); def dependency = project.dependencies.create("org.company:a
def version = '2.0'
def project = ProjectBuilder.builder().build()
def config = project.configurations.create('config');
def dependency = project.dependencies.create("org.company:artifact:${version}")
config.dependencies.add(dependency)
project.repositories {
jcenter()
}
configuration.resolve()
问题是依赖项被下载到
userHome
目录中的临时项目目录中。ProjectBuilder
没有提供将特定路径设置为userHome
的方法。因此,必须一次又一次地下载相同的依赖项。Gradle API是否提供了从~/.Gradle/caches/modules-2/files-2.1
动态解析依赖关系的方法,或者在普通构建脚本将依赖关系从/解析到的任何地方?使用临时文件夹
,您可以设置项目生成器
目录:
@Rule
public static TemporaryFolder projectFolder
@BeforeClass
public static void setupOnce() {
projectFolder = new TemporaryFolder()
}
然后:
你的问题中没有提到。你已经试过了吗?
Project project = ProjectBuilder.builder()
.withProjectDir(projectFolder.getRoot())
.withName("project name")
.build()