首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用与当前不同的scalaVersion评估任务

使用与当前不同的scalaVersion评估任务
EN

Stack Overflow用户
提问于 2020-06-25 00:49:52
回答 1查看 36关注 0票数 2

在多项目构建中,我有两个项目,A和B,它们被交叉编译到Scala2.12和Scala2.13。我想向项目A添加一个依赖于B的Scala2.12类路径(B / Compile / fullClasspath)的任务,而不管A中使用的Scala版本是什么:

代码语言:javascript
复制
ThisBuild / scalaVersion := "2.13.2"
ThisBuild / crossScalaVersions := Seq("2.13.2", "2.12.10")

val foo = taskKey[Unit]("foo-task")

lazy val B = project.in(file("B"))

lazy val A = project.in(file("A")).settings(
  foo := {
    println((B / Compile / fullClasspath).value)
  }
)

按照原样,运行A/foo将打印B的scala-2.13类路径。如何更改这一点,以便打印B的Scala 2.12类路径?

上下文:在为A生成源代码期间,我希望在SBT中执行来自B的代码,因此我需要B的2.12个类,而不管正在编译的A的版本是什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-25 03:13:44

您可以使用sbt-cross而不是crossScalaVersions,然后每个scala版本都有一个单独的子项目。

https://github.com/lucidsoftware/sbt-cross

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62560160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档