如何在 sbt shell 中设置子项目的设置(不使用项目命令)?

2024-01-04

在 sbt shell 中如何设置子项目?

我知道我可以project subproject then set key := value,但我不想一直切换项目。理想情况下,与以下内容没有太大不同:

set key in subproject := value

我认为问题是你已经定义了你的项目build.sbt,并且它们在 sbt 控制台中似乎不可见。至少在当前版本的 sbt 中 - 请参阅这个问题 https://github.com/sbt/sbt/issues/1059 and 这个问题 https://github.com/sbt/sbt/pull/1456事实上,几天前就已经修复了(!)

我找到了两种方法来克服这个限制。

在项目 ID 周围使用引号

set version in "projectId" := "some-version"

在project/Build.scala 文件中创建完整的构建定义

使用以下构建定义文件build/Build.scala:

import sbt._
import Keys._

object Build extends Build {
  lazy val projectA, projectB = project
}

你应该可以执行set version in projectA := "1.42-SNAPSHOT与预期的效果。

另外你可以只拥有build/Build.scala包含项目定义和其余配置build.sbt对于每个子模块。它可以完美地工作set.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 sbt shell 中设置子项目的设置(不使用项目命令)? 的相关文章

随机推荐