我有一些多项目构建结构的gradle项目。
我在我们的buildserver上使用gradle build cache,只在有变化的项目或者dependsOn项目有变化的项目中运行测试。这非常有效,并且节省了大量的构建时间。
问题是: Gradle projectA依赖于一个非gradle projectB,而我不知道如何设置这个依赖。projectB会生成一个供projectA使用的docker,如果在projectB中引入了错误,projectA中的测试就不会运行,错误就会进入生产环境。
因此,问题是如何为非gradle项目中的任何更改创建gradle "dependsOn“。
发布于 2020-05-13 09:27:42
最好的方法可能是使用task inputs。但是,输入当前只能是目录、文件和属性。这意味着您必须找到一种方法,使用其中一种类型将Docker镜像上的信息提供给Gradle。
例如,也许您可以让构建Docker镜像的项目也输出一个包含版本号或散列的文件。然后将其声明为输入:
task myProjectATask() {
inputs.file("$projectDir/docker-version.txt").withPropertyName("dockerVersion")
// ...
}https://stackoverflow.com/questions/61751693
复制相似问题