commercialhaskell/stack

--file-watch and --exec with running server like command does not build again

Open

#4,153 创建于 2018年7月13日

在 GitHub 查看
 (6 评论) (9 反应) (0 负责人)Haskell (4,060 star) (848 fork)batch import
awaiting pull requestcomponent: buildhelp wantedtype: enhancement

描述

General summary

If you run any command via the --exec flag which does not exit (like a server), then --file-watch does not build again if the files changes.

I can understand why that is, and it is probably how the implementation is - but it is counter-intuitive. Other dev tools (like gunicorn, go's reflex) works as expected. If a file changes, even with server like commands, it rebuilds/reloads and runs the commands again.

Steps to reproduce

stack build --fast --exec "sleep infinity" --file-watch
  1. Change a file in the same project

Expected

The build happens again, and the exec command is run again.

Actual

Nothing happens. (Because the exec command never exited)

Stack version

$ stack --version
Version 1.7.1, Git revision 681c800873816c022739ca7ed14755e85a579565 (5807 commits) x86_64 hpack-0.28.2

Method of installation

  • Official binary, downloaded from stackage.org or fpcomplete's package repository

PS: There is an issue #2955 . But that is different than this issue.

贡献者指南