pfultz2/cget

Use a recipes.txt to install recipes

pfultz2 opened this issue · 2 comments

Ideally, its not a good idea to add recipes in a requirements.txt, but users may want a single auto-deployment for a project.

So we could have a deploy command which is like install but will install the recipes.txt file first. Also, we could update build so it reads the recipes.txt as well.

Additionally, a --no-recipes flag can be added to disable this behavior.

I'm curious about why it's not a good idea to use recipes in the requirements.txt? (I only ask because that's what I've been doing for my local projects without realising it was a bad idea...)

I do like this idea for a "recipes.txt" however.

This can break composibility. If libraryA uses recipes1, and libraryB uses recipes2 and libraryA, this can cause conflicts, if recipes1 and recipes2 contain the same recipe. Currently, you can't override the recipe so the installation will fail.

Also, I think this can affect reproducibility. Ideally, we may want to use a stack for recipes. So when libraryA uses recipes1 it pushes it on the stack, after its installed the recipes are then popped, so its dependents can continues use the recipes they have selected.