我已经构建了等级文件,我将一些与docker相关的操作外部化。
我的build.gradle文件定义了一个docker镜像名称。
build.gradle:
def docker = [
imageName: "myOrg/$rootProject.name:$version",
]
apply from: 'build-config/docker.gradle'
应用的脚本包含访问 docker.imageName 变量的任务。
docker.gradle
...
task buildImage(group: "Docker", dependsOn: createDockerfile, type:Exec) {
executable "docker"
args 'build','-t',docker.imageName,'build'
}
现在我收到错误 Could not find property 'docker' on task ':buildImage'.
如何在应用的frome gradle脚本中使用build.gradle中定义的变量。
答案 0 :(得分:3)
在def
的{{1}}变量声明中将ext.
替换为docker
,如下所示:
build.gradle
基本上ext.docker = [
imageName: "myOrg/$rootProject.name:$version",
]
apply from: 'build-config/docker.gradle'
命名空间用于定义项目级自定义属性,然后应用脚本ext
可以访问该属性,该脚本也属于项目范围。
仅使用docker.gradle
,属性可见性仅限于脚本文件。