如何在Gradle插件上使用PSI/UAST

如何在Gradle插件上使用PSI/UAST,gradle,intellij-idea,kotlin,gradle-plugin,Gradle,Intellij Idea,Kotlin,Gradle Plugin,我正在编写一个Gradle插件,它应该检查一些Kotlin文件,并根据检查结果报告一些数据。我计划使用UAST执行检查,遵循Android中Lint工具的功能(和)。 然而,我找不到一种方法,也找不到任何在线资源,将UAST,甚至PSI添加到我的Gradle插件中。有什么帮助吗?我建议将此添加到您的存储库中(版本是atm-请查看最新版本): 这与您的依赖项有关: dependencies { implementation "org.jetbrains.uast:uast-kotlin:1.0

我正在编写一个Gradle插件,它应该检查一些Kotlin文件,并根据检查结果报告一些数据。我计划使用UAST执行检查,遵循Android中Lint工具的功能(和)。
然而,我找不到一种方法,也找不到任何在线资源,将UAST,甚至PSI添加到我的Gradle插件中。有什么帮助吗?

我建议将此添加到您的存储库中(版本是atm-请查看最新版本):

这与您的依赖项有关:

dependencies {
  implementation "org.jetbrains.uast:uast-kotlin:1.0.10"
}
如果您的客户加入MPP,您可以添加:

  implementation "org.jetbrains.uast:uast-common:1.0.12"
  implementation "org.jetbrains.uast:uast-java:1.0.12"
但别忘了UAST仍然是基于jvm的,AFAIK


还有其他用于测试和集成Idea的工具,用于Intellij插件。导入也是

您确定需要UAST吗?如果您只处理Kotlin文件,那么您可以使用Kotlin PSI。我相信这两种方法都是有效的,但我面临的问题是,这些依赖项在项目中甚至不可用,而且我似乎无法找到任何可以让它们将其作为外部依赖项导入的内容……我没有找到。您可以将Kotlin编译器添加为一个依赖项
编译组:'org.jetbrains.Kotlin',名称:'Kotlin compiler Embeddeble',版本:'1.2.41'
,它可以构建Kotlin PSI
  implementation "org.jetbrains.uast:uast-common:1.0.12"
  implementation "org.jetbrains.uast:uast-java:1.0.12"