我做了一个sourceGenerator插件,可以将yaml文件构建到Scala源代码中。yaml文件必须位于使用sourceGenerator的项目之外。除了触发执行之外,它在所有方面都工作得很好。
我已经通过在项目中添加一个要监视的无用文件来验证这一点,这会很好地触发构建:
openApiGenerate / fileInputs := openApiAllInputFiles.value
openApiGenerate / fileInputs += (baseDirectory.value / "test.txt").toGlob,罪魁祸首在使用现场:
openApiAllInputFiles := Seq((baseDirectory.value / ".." / ".." / "api-schema").toGlob / **)sbt:reportingHttpApi> show openApiGenerate / fileInputs
[info] * /[myproject]/reporting/http-api/../../api-schema/**
[info] * /[myproject]/reporting/http-api/test.txt运行~openApiGenerate,然后编辑api-schema下的任何实际输入文件都不会触发重新构建,而编辑test.txt会很好地触发它。
我也尝试过添加到watchTriggers中,但没有帮助。
有没有办法在不依赖软链接的情况下解决这个问题?
发布于 2021-03-12 22:56:30
子项目外部的相关文件似乎不能以我尝试过的任何方式工作,但对于我的用例,只需使用ThisBuild获取根目录就足够简单了:
openApiAllInputFiles := Seq((ThisBuild / baseDirectory).value / "api-schema").toGlob / **)https://stackoverflow.com/questions/66600811
复制相似问题