附加信息: 在Tom的下面回答后,我想澄清一下我的意思。基本上,我有一个Gradle脚本,用于运行多个子项目。然而,这些子项目都是NetBeans项目,并带有它们自己的ant构建脚本,因此我有Gradle任务来调用其中的每一个。我的问题是,我在文件顶部有一些配置,例如:
projects = [
[name:"MySubproject1", shortname: "sub1", env:"mainEnv", cvs_module="mod1"],
[name:"MySubproject2", shortname: "sub2", env:"altEnv", cvs_module="mod2"]
]
我随后生成了一些任务,例如:
projects.each({
task "checkout_$it.shortname" << {
// Code to for example check module out from cvs using config from 'it'.
}
})
我有许多这种任务生成代码片段,它们都是通用的- 它们完全取决于项目列表中的配置。
因此,我想要的是一种将其放入单独脚本并以以下方式导入的方法:
projects = [
[name:"MySubproject1", shortname: "sub1", env:"mainEnv", cvs_module="mod1"],
[name:"MySubproject2", shortname: "sub2", env:"altEnv", cvs_module="mod2"]
]
import("tasks.gradle") // This will import and run the script so that all tasks are generated for the projects given above.
所以,在这个例子中,tasks.gradle文件将包含所有通用任务生成代码,并将在主build.gradle文件中定义的项目中运行。通过这种方式,tasks.gradle是一个可以被所有由NetBeans ant构建文件组成的大型项目使用的文件。
apply from
立即执行外部任务。这在执行逻辑中可能不是首选(即,我希望在我想要执行任务时执行,而不是立即执行)。 - IgorGanapolskyapply from
立即执行外部任务。不要被误导了。外部任务只是被配置,而不是被执行。 - Jarekczek