Skip to content
New issue

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

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

Already on GitHub? # to your account

Add Goatfile Metadata #44

Open
4 tasks
zekroTJA opened this issue Aug 17, 2023 · 0 comments
Open
4 tasks

Add Goatfile Metadata #44

zekroTJA opened this issue Aug 17, 2023 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@zekroTJA
Copy link
Member

zekroTJA commented Aug 17, 2023

It should be possible to add metadata to Goatfiles (like a Goatfile Version) that is checked or taken in consideration by Goat before execution.

Format

> version = "1"
>
> [Parameters]
> param1 = "string"
> param2 = { type = "int", optional = true }
> param3 = { type = "string", default = "someString" }

The body of the header would utilize the same TOML-like format as, i.e., the Options section. Therefore, we can re-use the parsing utilities from there.

Todo's

This issue could be split in the following sub tasks.

  • Implementation of an AST (see AST #57)*
  • Implementation of the metadata section into the parser
  • Using metadata to check for required parameters
  • Using metadata to check Goatfile versions

*This step is open for discussion. It would make the whole issue way more elaborate. But we need to perform changes on the parser and this could be easily combined with the AST implementation. Also, a sort of AST could be useful for the required parameter analysis.

@zekroTJA zekroTJA added the enhancement New feature or request label Aug 17, 2023
@zekroTJA zekroTJA added this to the Release v1.0.0 milestone Aug 17, 2023
@zekroTJA zekroTJA removed this from the Release v1.0.0 milestone Nov 21, 2023
@manego manego self-assigned this Aug 27, 2024
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants