我有一些依赖于宏调用的代码。在我的例子中,宏代码迭代类型T的字段并递归返回它们的名称:
object Foo{
val bar:List[String] = MyMacroClass.fieldNames[Bar]
}
Bar
和MyMacro
各自在不同的独立子项目中定义。
现在当我对Bar进行更改时,如添加或删除字段,如果我不手动清理和重新编译,列表将不会反映更改。
有没有办法告诉sbt重新编译这种情况?
答案 0 :(得分:0)
您可以在Bar
中使用dependsOn强制每次lazy val MyMacroProject = project.dependsOn(BarProject)
更改时重新编译。类似于data[strlen(data)] = c;
data[strlen(data)+1] = '\0';
。