Gradle中buildScript的用途
我是新来的Gradle,我正在阅读文档,但我不明白它的一些部分。 其中一个部分与buildScript块连接。 它的目的是什么?
如果您的构build脚本需要使用外部库,则可以将它们添加到构build脚本本身的脚本的类path中。 您可以使用buildscript()方法执行此操作,并传入一个声明构build脚本类path的闭包。
buildscript { repositories { mavenCentral() } dependencies { classpath group: 'commons-codec', name: 'commons-codec', version: '1.2' } }
好的,但有什么区别:
repositories { mavenCentral() } dependencies { compile group: 'commons-codec', name: 'commons-codec', version: '1.2' }
例如,为什么有必要使用buildScript ?
buildScript
块确定哪些插件,任务类和其他类可用于构build脚本的其余部分 。 如果没有buildScript
块,您可以使用Gradle开箱即用的所有东西。 如果您还想使用第三方插件,任务类或其他类(在构build脚本中),则必须在buildScript
块中指定相应的依赖关系。
- 全局级别
dependencies
和repositories
部分列出了构build源代码和运行源代码所需的依赖关系。 -
buildscript
是为build.gradle
文件本身。 所以,这将包含依赖关系来创buildRPM,Dockerfile
和任何其他依赖关系,以便在所有依赖的build.gradle
运行任务。
我很感谢彼得的回答……但是我不清楚构build脚本的其余部分是如何在答案和文档中强调的。
通常引入依赖的function是用于Java程序或其他任何可能编写的程序。 引入Spring说,不是用在构build脚本中,而是用在Java程序中。 将它放在buildscript
闭包中可确保依赖关系可用于gradle构build本身。 不是输出程序。
“buildscript”configuration部分用于gradle本身(即更改gradle如何执行构build)。 所以这部分通常会包含Android Gradle插件。