【问题标题】:Accessing values in project/Dependencies.scala file in scala code in subproject在子项目的 scala 代码中访问 project/Dependencies.scala 文件中的值
【发布时间】:2017-11-22 12:51:15
【问题描述】:

我有一个具有以下结构的多模块 scala 项目 -

-A/
-B/
-project/(根项目)
-build.sbt(这包含所有子项目的构建定义)

我在项目/文件夹中声明了一个对象(让我们称之为对象依赖项),其中包含各种常量。是否可以在子项目(A 或 B)内的 scala 代码中访问在 project/Dependencies.scala 中声明的变量,而无需在根项目上创建任何子项目的依赖关系。
如果我需要进一步澄清,请告诉我。

【问题讨论】:

  • 您只能在子模块的构建中设法访问它,而不是在src 代码中(无论如何这几乎没有意义)
  • 好吧,我就是这么想的。是否可以在 build.sbt 中创建自定义设置键并在子项目中访问它?
  • 正如所说,构建中的任何内容都可以作为代码的值或函数无缝使用

标签: scala sbt


【解决方案1】:

如果您想让构建定义中的一些代码可用于项目中的代码,您可以使用sbt-buildinfo 插件。它主要适用于设置/任务键,但您也可以将其用于构建中定义的任何其他值。

它的工作方式非常简单:它使用sourceGenerators 生成一段 Scala 代码(包含构建中的值),该代码可供您的其他项目源使用。所以如果不想使用sbt-buildinfo,也可以直接生成源码。请参阅Generating files 上的 sbt 文档。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 2012-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-17
    相关资源
    最近更新 更多