Gradle 及 Maven 产物
当您使用任何提供的 Kobweb 模板创建 Kobweb 站点时,它们已经按照本节推荐的方式进行设置。然而,如果您正试图将 Kobweb 添加到现有项目中,或者即使您只是出于学习目的而感到好奇,这里的信息可能会有用。
Kobweb 构件仓库
Kobweb 将其库发布到 Maven Central,并将其插件发布到 Gradle Plugin Portal。因此,Kobweb 建议按如下方式设置项目的 settings.gradle.kts
:
对 Maven Central 和 Gradle Plugin Portal 的依赖如此标准,很难想象有项目不使用它们,所以在大多数情况下,您不需要做任何事情。
测试快照版本
有时候,特别是当您提交了 bug 修复或功能请求的问题时,我们的团队可能会询问您是否愿意尝试使用快照构建(本质上是开发构建)。
根据设计,Maven Central 和 Gradle Plugin Portal 都不支持快照版本。因此,我们在单独的官方快照仓库(位于 https://s01.oss.sonatype.org/content/repositories/snapshots/
)中托管所有插件和库构件。因此,您需要为插件和库块都声明这个仓库。
启用快照仓库的简单方法是在 settings.gradle.kts
文件中添加以下代码块:
上述代码在 settingsEvaluated
块中添加仓库实际上不是惯用的 Gradle 做法 —— 标准方法是创建一个设置插件或者 直接在所有相关位置复制/粘贴仓库声明 —— 但目前我们建议这种方法是因为它的简单性:
- 如果我们可以将
kobwebSnapshots
声明为顶层方法,那将是一个容易推荐的选择。但是,pluginManagement
块是 "魔法"的,你无法与它共享代码。这种方法至少让我们能够模仿这种解决方案。 - 将快照声明逻辑分离在自己的块中,使得以后如果您决定不再需要它时,可以轻松删除。
- 这种方法仅限于单个文件,而设置插件需要涉及多个文件的大量工作,仅仅为了启用快照可能不值得。
Gradle 版本目录
通过 Kobweb 创建的项目模板都采用了 Gradle 版本目录。
版本目录是位于 gradle/libs.versions.toml
的依赖坐标声明。如果您想更新通过 kobweb create
最初创建的项目的依赖项,您可以在该文件中找到它们。
例如,这是我们用于本站点的 libs.versions.toml:
一旦定义了版本目录文件,您就可以使用编译时检查的路径引用库和插件依赖。
以下代码片段摘自本站点的 build.gradle.kts 构建脚本:
要了解更多关于版本目录的信息,请查看官方文档。