我尝试将build.gradle
文件拆分成几个较小的文件,以减小大小并封装不同的功能。我最终得到了:
// build.gradle
plugins {
id "org.jetbrains.kotlin.jvm" version "1.2.30"
}
apply from: 'klint.gradle'
和
// klint.gradle
buildscript {
repositories {
maven { url "https://plugins.gradle.org/m2/" }
}
dependencies {
classpath "gradle.plugin.org.jlleitschuh.gradle:ktlint-gradle:3.1.0"
}
}
//apply plugin: "org.jlleitschuh.gradle.ktlint"
apply plugin: org.jlleitschuh.gradle.ktlint.KtlintPlugin
ktlint {
verbose = true
reporter = ReporterType.JSON
}
但是当我运行./gradlew ktlintCheck
时,我得到了:
* Where:
Script '...klint.gradle' line: 14
* What went wrong:
A problem occurred evaluating script.
> Could not find method klint() for arguments [klint_bg1dwp9kv02sa992h3mtpaomq$_run_closure1@1c656f64] on root project 'proj' of type org.gradle.api.Project.
我认为插件已应用(因为没有发生错误),但配置不起作用。如何在外部脚本中应用和配置插件?
答案 0 :(得分:1)
在开始时评估buildscript
块,并确定哪些插件和任务可用于构建脚本的其余部分。
根据我的经验,您不会支持您要执行的操作(buildscript
阻止到apply
脚本)。
答案 1 :(得分:0)
根据我的经验,您应该在base build.gradle文件和外部构建文件中都有一个buildscript代码块的副本。
我不喜欢这样的设计,但这是目前实现目标的唯一方法。你可以尝试一下。
答案 2 :(得分:-1)
如果您没有settings.gradle
文件,请创建一个并添加以下行
include 'klint'