我正在编写一个sbt插件,用于为运行时和测试组装松散耦合的模块/服务。这些模块可以是一个项目(在这个多项目构建中)或一个ModuleID(通过Ivy解决)。项目结构可能如下所示:
根
项目之间没有类路径依赖关系。让我们说项目foo是自包含的。项目栏需要foo才能开始测试吧。项目foobar将需要启动foo,bar和org.sample.mymodule-1.0.0引用的模块。
项目foo,bar和foobar在root中声明(并且此处未列出其他项目依赖项,但它们之间没有依赖项)。要实现这些,我们需要:
我仍然坚持#1。 1)我找不到可以代表Project和ModuleID的类型和2)我不能在foobar中引用root中的项目(假设我在设置中有一个SettingKey [Seq [Project]] - 这也不是正确的类型)
我怎样才能实现这样的设置,可以轻松处理这两种类型并允许子项目的引用?感谢。