首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在项目…之外的文件上触发sbt ~?

在项目…之外的文件上触发sbt ~?
EN

Stack Overflow用户
提问于 2021-03-12 21:28:36
回答 1查看 28关注 0票数 0

我做了一个sourceGenerator插件,可以将yaml文件构建到Scala源代码中。yaml文件必须位于使用sourceGenerator的项目之外。除了触发执行之外,它在所有方面都工作得很好。

我已经通过在项目中添加一个要监视的无用文件来验证这一点,这会很好地触发构建:

代码语言:javascript
复制
    openApiGenerate / fileInputs := openApiAllInputFiles.value
    openApiGenerate / fileInputs += (baseDirectory.value / "test.txt").toGlob,

罪魁祸首在使用现场:

代码语言:javascript
复制
openApiAllInputFiles := Seq((baseDirectory.value / ".." / ".." / "api-schema").toGlob / **)
代码语言:javascript
复制
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中,但没有帮助。

有没有办法在不依赖软链接的情况下解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2021-03-12 22:56:30

子项目外部的相关文件似乎不能以我尝试过的任何方式工作,但对于我的用例,只需使用ThisBuild获取根目录就足够简单了:

代码语言:javascript
复制
openApiAllInputFiles := Seq((ThisBuild / baseDirectory).value / "api-schema").toGlob / **)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66600811

复制
相关文章

相似问题

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