在sbt中查找另一个项目的类目录
我有一个类似这样的项目: 构建.sbt在sbt中查找另一个项目的类目录,sbt,Sbt,我有一个类似这样的项目: 构建.sbt lazy val data = project in file("testData") lazy val foo = (project in file("foo")).dependsOn(data % "test->test") lazy val bar = (project in file("bar")).dependsOn(data % "test->test") 有些代码需要从文件中读取数据,而不是作为类路径上的资源。鉴于这些依赖关
lazy val data = project in file("testData")
lazy val foo = (project in file("foo")).dependsOn(data % "test->test")
lazy val bar = (project in file("bar")).dependsOn(data % "test->test")
有些代码需要从文件中读取数据,而不是作为类路径上的资源。鉴于这些依赖关系,数据jar不会自动更新,因此我需要复制数据的classes目录。使用IO.copyDirectory
定义任务应该可以做到这一点,但我需要做一些类似data.classesDirectory
的事情来知道从何处复制
我可以做data.base+target/scala-2.12/classes
,但这会硬编码一些假设。2.12可以替换为scalaBinaryVersion
,但仍有一些部分在硬代码看来很粗糙
data.settings
看起来像一个可能的候选项,但尝试使用它会给出一个不明确的方法警告:
error: ambiguous reference to overloaded definition,
both method settings in trait Project of type (ss: sbt.Def.SettingsDefinition*)sbt.Project
and method settings in trait ProjectDefinition of type => Seq[sbt.Def.Setting[_]]
match expected type Any
println("settings: " + data.settings)
^
data.configurations
看起来也可能有用,但它是一个空列表
如何以编程方式执行与“显示数据/类目录”等价的操作