我是Gradle的新手,我正在阅读文档,但我不理解其中的一些部分。其中一个部分与buildscript块连接。它的目的是什么?
如果构建脚本需要使用外部库,可以将它们添加到构建脚本本身的脚本类路径中。您可以使用buildscript()方法,传入一个声明构建脚本类路径的闭包。
buildscript {
存储库{
mavenCentral ()
}
依赖关系{
类路径组:'common -codec',名称:'common -codec',版本:'1.2'
}
}
好的,但是区别是什么呢:
repositories {
mavenCentral()
}
dependencies {
compile group: 'commons-codec', name: 'commons-codec', version: '1.2'
}
例如,为什么需要使用buildscript?
通过演示Android顶级gradle文件来做更多的解释。
buildscript {
// this is where we are going to find the libraries defined in "dependencies block" at below
repositories {
google()
jcenter()
maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
}
// everything listed in the dependencies is actually a plugin, which we'll do "apply plugin" in our module level gradle file.
dependencies {
classpath 'com.android.tools.build:gradle:3.4.2' // this is android gradle plugin
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // kotlin gradle plugin
}
}
模块级gradle文件
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
什么是“插件”?它们只是实现Plugin接口的java类。在接口下,它有一个方法“apply”,用于添加多个不同名称的任务对象。Task是一个类,我们可以在其中实现工作流。例如,构建任务由构建应用程序的流程组成。
那么,buildscript是做什么的呢?它定义了在哪里找到插件。插件是做什么的?它包含多个任务。task是做什么的?它为我们提供了构建、安装、lint等。
我的理解可能错了。如果你发现任何误导,请不要犹豫纠正我。