3 ms·
I use it as a task runner with dependencies in python projects. In particular, it checks requirements files against the virtualenv to see if anything needs to
by Izkata 4y ago
I use it as a task runner with dependencies in python projects. In particular, it checks requirements files against the virtualenv to see if anything needs to be installed/updated, then all the tasks depend on that. If you're up-to-date the task runs immediately, if you're not it'll update for you.
> and docker doesn’t give definable artifacts so you can’t make other things depend on them either
Similar to how old projects have "make configure" to do some initial setup before "make" actually builds the project, I've done stuff on occasion where something like "make check" would pull information out of a system and create timestamped files in a scratch/ directory. Then the normal "make" would compare those files to the codebase to see if the system needed to be updated.
It is different from the first use I just mentioned, since you need two commands and it's not entirely automatic, but it's still simpler than checking each of the dependencies yourself.
- silverwind 4y agoI too use Make to install `node_modules` and `.venv`. It is very convenient never having to ask oneself "Is my node_modules up to date?" after pulling or switching branches. I'll just let Make figure that out.
- tpoacher 3y agoMake is great. But. In your specific case, you may also be interested to check out Luigi. https://luigi.readthedocs.io/en/stable/ https://luigi.readthedocs.io/en/stable/