Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactoring - Levain Execution Model #75

Open
jmoalves opened this issue Jan 2, 2021 · 1 comment
Open

Refactoring - Levain Execution Model #75

jmoalves opened this issue Jan 2, 2021 · 1 comment

Comments

@jmoalves
Copy link
Owner

jmoalves commented Jan 2, 2021

The Levain Execution Model should be more explicit.

How are the actions loaded?
How are the commands loaded?
How are the packages resolved?

Besides, we should be using a CLI framework (Cliffy?).

@jmoalves
Copy link
Owner Author

Perhaps it would be easier if we had a common place to "compile" the recipes. I mean, to read the recipes, follow the dependencies, replace variables, and so on.

Running the recipes would follow these steps:

  • Resolve dependencies
  • Run actions that change state, like setVar, addPath, etc. (Be careful! Some "live" action can change state. Like levainShell --saveVar. But we should not execute a live action in this step)
  • Replace vars (Be careful! levain.password must not appear in a log, file, console, and so on)
  • Run the live actions

Splitting actions like this could cause some errors.

@jmoalves jmoalves pinned this issue Sep 15, 2022
@jmoalves jmoalves changed the title Refatoring - Levain Execution Model Refactoring - Levain Execution Model Sep 27, 2022
@jmoalves jmoalves unpinned this issue Feb 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant