我有一个复杂的gradle脚本,该脚本封装了围绕将多个netbeans项目构建和部署到许多环境的功能。
该脚本可以很好地运行,但是从本质上来说,它是通过六个包含项目和环境信息的地图进行配置的。
我想将任务抽象到另一个文件中,以便可以在一个简单的构建文件中简单地定义地图,然后从另一个文件中导入任务。这样,我可以对多个项目使用相同的核心任务,并使用一组简单的地图来配置这些项目。
谁能告诉我如何以与Ant的任务类似的方式将一个gradle文件导入另一个文件?到目前为止,我已经拖了Gradle的文档无济于事。
附加信息
汤姆在下面做出回应后,我想我会尽力弄清楚我的意思。
基本上,我有一个gradle脚本,它可以运行许多子项目。但是,这些子项目都是Netbeans项目,并且带有它们自己的ant生成脚本,因此我要分担一些任务来分别调用它们。
我的问题是我在文件顶部有一些配置,例如:
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'.
}
})
我有许多这样的任务生成片段,它们都是通用的-它们完全取决于项目列表中的配置。
所以我想要的是一种将其放在单独的脚本中并以以下方式导入的html" target="_blank">方法:
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构建文件的子项目的大型项目都可以使用task.gradle。
这个问题的答案原来是在Plugins系统中,您可以在其中添加所需的功能到一组插件中,这些插件可以是位于目录中的常规文件buildSrc/src/main/groovy
。插件也可以捆绑为Jar,尽管我没有尝试过。
详细信息在这里:自定义插件
问题内容: 我正在学习Zed Shaw的“学习Python的艰难方法”,并且正在第26课中。在这一课中,我们必须修复一些代码,然后代码从另一个脚本调用函数。他说我们不必导入它们即可通过测试,但是我很好奇我们将如何进行。 链接到的教训| 链接到代码以更正 以下是调用先前脚本的特定代码行: 纠正代码: 这是课程中的代码,正在被引用 不要编辑问题以更正代码 def break_words(stuff):
我有两个脚本和。脚本调用时返回一个随机数。我想从并打印所有这些返回值。换句话说,脚本如下所示: 现在我有以下代码在 但是,我收到的错误是,。我将如何着手完成这项任务?
所以我有主python脚本,我想从我的主文件中调用另一个python脚本,但是,每当我这样做的时候,我调用的脚本就会超过原来的脚本控制台中的主脚本?
问题内容: 我想从另一个Python脚本运行一个Python脚本。我想像使用命令行一样传递变量。 例如,我会跑我的,将通过值(0,1,2,3)的列表迭代第一个脚本,并通过那些到第二脚本,然后,等 我发现了Stack Overflow问题1186789,这是一个类似的问题,但是ars的答案调用了一个函数,在这里我想运行整个脚本,而不仅仅是函数,而balpha的答案则调用了脚本,但没有参数。我将其更改
问题内容: 我有一个示例Java项目包 打包com.example.testing; 用这样的文件树 和gradle脚本: 现在我想向该项目中添加一些模块,我的文件夹将是这样的 如何在gradle脚本中添加新的源代码? 问题答案: 我同意@JB Nizet关于遵守标准约定的意见。如果您仍然坚持要成为无政府主义者: 您已经在源集中声明了,为什么不还要添加并且呢?您可以将它们添加到相同的源集,也可以根
我有一个java项目包示例 程序包com。实例测试; 使用这样的文件树 和一个gradle脚本: 现在,我想添加一些模块到这个项目和我的文件夹将是这样的东西 如何向gradle脚本添加新的源代码?