标签: shake-build-system

震动规则可以确定自上次构建以来哪些"需求"发生了变化吗?

我正在为一个大型Ruby(+其他东西)代码库构建一个基于摇动的构建系统,但我正在努力处理期望将文件列表传递给"构建"的Ruby命令.

拿Rubocop(一种linting工具).我可以看到三个选项:

  • 需要单独的所有Ruby文件; 如果他们改变了,对每个改变的文件改变单个文件运行rubocop(在第一次构建时非常慢或者因为rubocop有很大的启动时间而导致许多ruby文件发生变化)
  • 需要所有Ruby文件; 如果有任何更改,请对所有 ruby文件运行rubocop (如果只有一个或两个文件已更改,则速度非常慢,因为如果文件已更改,则rubocop运行缓慢)
  • 需要所有Ruby文件; 如果有任何更改,请通过rubocop传递Shake检测到的已更改依赖项列表

前两个规则很容易构建,但我的问题是我无法弄清楚如何将最后一个案例表示为一个动摇规则.有人可以帮忙吗?

shake-build-system

4
推荐指数
1
解决办法
106
查看次数

如何通过摇动将PHONY目标声明为默认操作?

我是在把一个Makefile成Shakefile的过程中,我不知道如何处理假make目标(clean,install,等).我尝试过类似的东西:

main = shake shakeOptions $ do
  want ["install"]
  "install" *> \_ -> do
    need ["mytarget"]
    system' "ln" ["-s", "mytarget", "linkname"]
Run Code Online (Sandbox Code Playgroud)

它成功创建符号链接,但报告错误"错误,规则"安装"无法构建文件:安装".

因此,如果没有"想要"动作,我如何声明我想要运行的默认目标是假的?

haskell shake-build-system

3
推荐指数
1
解决办法
400
查看次数

Haskell与Twitch一起摇晃?

我正在切换(或尝试)从辉煌的tuphaskell摇动作为我的构建系统..

只有我无法弄清楚如何在变化时重建文件.

我当然可以使用inotify或像filewatcher甚至是守望者这样的包装器.

因为我正在使用摇动,我想知道如何与twitch共享do语法,但在其他方面没有提供太多的文档..

最终目标是将pandoc用于多格式文档.

tup不充分的唯一原因是因为它不支持目标.

haskell build pandoc shake-build-system

3
推荐指数
1
解决办法
168
查看次数

为什么Shake没有为Action提供MonadMask实例?

我想用的temporary封装震动,但是这需要Action有一个实例MonadMask,这是失踪.为什么Shake没有提供这样的实例?

haskell shake-build-system

2
推荐指数
1
解决办法
129
查看次数

标签 统计

shake-build-system ×4

haskell ×3

build ×1

pandoc ×1