Feature request: Ignore a directory or file
Some compiled languages just don't work with Tup. This makes me sad. And they should work just fine, if Tup would ignore the build directory for said compile language * cough Elm *. Is it possible to add this feature? .tupignore perhaps?
This a problem for any cache-y build tool/compiler. I've had problems with the Ruby gem sass and more recently having to omit the caching options for Rollup. The caching vastly improve performance, and some build random file names. Being able to ignore a director or define a cache directory seems reasonable to work with more tools.
I love the idea of tup sadly this prevents me from using it
As long as the build directory isn't generated every time, you can add an empty Tupdefault to the top level of the build dir, and it will cause tup to "ignore" these files.
@Wetmelon that doesn't really solve this problem, which is a whole lot of file was written to, but is not in .tup/db. You probably should specify it as an output for a bunch of intermediate files that can be safely ignored.
Admittedly, this is only a problem when you're trying to integrate with a tool that has it's own build system, with it's own intermediate files. But that is another thing that makes tup really hard to use.
Running another build system from within tup is likely to be difficult to get to work well. However, for certain compilers that generate files you want to ignore, see also: https://github.com/gittup/tup/issues/182#issuecomment-425518883
The feature is not fully tested yet, but you may have some luck using the ignore pattern.
Hi, I've been bitten by this as well. I have written a cross-platform gulp.js-based build script that generates a Tupfile.lua, which in turn calls back into gulp to incrementally rebuild a project. I have used this for several years and have been quite happy with it.
This works well on Linux and Mac, but over on Windows after various gulp.js dependencies were updated it now generates an obnoxious '.v8flags-(version)-(hash).json' file completely outside of the build tree as part of execution and tup really does not like this. I unfortunately cannot roll these libraries back due to unfortunate_circumstances. It gives the usual file was written to, but is not in .tup/db. You probably should specify it as an output error. Complicating things, multiple commands will have this same file as an output.
It appears #182 is for proper Tupfiles rather than via a Tupfile.lua in the root, which in my case simply isn't going to work without doing a lot of hacking around in my build script. I simply need a way to blacklist tup from either seeing that specific file or better, the directory it is being written to. I imagine this isn't supported yet, but I figured I'd add my use.