DSL: Domain Specific Language
因为从groovy DSL迁移到kotlin DSL,发现同一个plugin的ID有多种写法,比如:
Groovy:
plugins {
id 'kotlin-kapt'
}
而这个插件的官网:https://kotlinlang.org/docs/kapt.html
Groovy:
plugins {
id "org.jetbrains.kotlin.kapt" version "1.9.10"
}
Kotlin:
plugins {
kotlin("kapt") version "1.9.10"
}
好奇心使然,使得我要研究下要怎么证明不同的id,实际引用的是同一个plugin呢?
首先,groovy的build.gradle比较好处理:
task showPluginPath {
doLast {
project.plugins.each {
println it.properties
}
}
}
加上这段之后,直接就出现调试按钮了:
image.png
断点后就看到了唯一的标识了:
image.png
build.gradle.kts就要更改下android studio的配置:
image.png
image.png
image.png
配置好就能找到这个task在android studio里面调试了:
image.png
对比两个插件的groupid和artifactid完全一致。