Open WillAbides opened 1 year ago
This is a good thing.
if the config version in a project is higher than the version on bindiwn then bindiwn should update to the version that that specific project needs.
if you have 2 projects at different versions then as you change into different projects the bin down is flipped.
https://github.com/kevincobain2000/gobrew Does this pattern and it’s pretty clean.
bindown needs a way to determine which bindown versions a config file will work with.
This will come up in #161 because adding
{{ .microArch }}
to a template will cause earlier bindown versions to error.This won't be a big deal for individual repositories because you can simply not add features before you start using a version of bindown that handles them. However template repositories like https://github.com/WillAbides/bindown-templates should be able to signal that they don't support older versions of bindown.
Options
bindown_version
Add something like
bindown_version: '>= 4.3.0'
to the config and fail with a message to upgrade when reading a config file from a version of bindown that doesn't meet the constraint.I think this will work for non-breaking changes like #161 where new functionality is added, but this doesn't work when something is removed.
It would also be difficult to figure out what value to use for
bindown_version
when writing a config file.config_version
Similar to
api_version
but it's about config files instead.