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
}
}
}
加上这段之后,直接就出现调试按钮了:
![](https://img.haomeiwen.com/i5597007/f0c76778ed1a6e01.png)
断点后就看到了唯一的标识了:
![](https://img.haomeiwen.com/i5597007/78e5500a92f9949f.png)
build.gradle.kts就要更改下android studio的配置:
![](https://img.haomeiwen.com/i5597007/5407a59475020c00.png)
![](https://img.haomeiwen.com/i5597007/803990062e97be19.png)
![](https://img.haomeiwen.com/i5597007/ecb753f3ca8464a2.png)
配置好就能找到这个task在android studio里面调试了:
![](https://img.haomeiwen.com/i5597007/7eeabaef1ca83c2f.png)
对比两个插件的groupid和artifactid完全一致。
网友评论