3

根据 Google 建议使用额外属性通过您的项目共享它们,我遇到了一个基于 buildSrc + Kotlin gradle 脚本的 Android/Kotlin 项目的不错的解决方案。与其他经典方法相比,该解决方案为我提供了非常好的优势,即build.gradle每个模块(加上根文件)具有多个 Groovy 写入文件及其依赖项和参数。主要有:

  • 使用 kotlin 语法。
  • 编译错误。
  • 自动完成。
  • 单击支持(导航到定义)
  • 将 gradle 文件元数据信息集中在一个文件中。

查看这篇文章了解更多信息。

如果我没记错的话,Kotlin-dsl 团队成员建议使用 IntelliJ 来实现它,并且与 Android Studio 的集成似乎还没有完全完成,因为我仍然看到一些 Kotlin gradle 脚本代码以红色突出显示。但是,它编译得很好。奇怪的是,如果我克隆例如Prefekt 存储库,我可以build.gradle.kts在 gradle 同步后完美地看到内容而没有红色标记。我几乎在我的项目中完成了所有工作(同步 gradle、使缓存无效、删除缓存、相同的 gradle 包装器等)以消除这些标记而没有任何成功。以下是一些附带问题:

  1. 我究竟做错了什么?我应该怎么做才能去除那些红色标记?
  2. 虽然我喜欢这种方法,但我会很想念的一件事是 gradle 文件中过时的依赖项检查突出显示,这表明该库有一个新的 xyx 版本。有没有办法让它与这种方法一起工作?
  3. 有没有办法在 buildSrc Kotlin 类中使用gradle 项目属性?例如,使用属性文件(例如version.properties)和 gradle 属性非常常见,这rootDir对于获取它们的路径非常有帮助。我们可以Paths.get("").toAbsolutePath().toString()为此目的使用,但这不是一个干净的解决方案。
  4. 您一般如何看待这种方法?
4

0 回答 0