Over at arm64-assembly we have a templates directory that holds files shared by all exercises plus a script that synchronizes all exercises with the contents of that directory. This way we have a single source of truth in templates, the sync to all exercises happens automatically. By having the script return a non-zero exit code if it made any changes, we can also use that in a pre-commit check in CI.
We should setup something similar here as well and also use that chance to upgrade Catch2 and CMake scripts.
Note: Not having to copy files in the first place, but instead referencing a single source of truth wherever it is needed, would obviously be the much cleaner solution here, but due to the way the Exercism downloader works, for now exercises need to be self-contained.
Over at arm64-assembly we have a templates directory that holds files shared by all exercises plus a script that synchronizes all exercises with the contents of that directory. This way we have a single source of truth in
templates, the sync to all exercises happens automatically. By having the script return a non-zero exit code if it made any changes, we can also use that in a pre-commit check in CI.We should setup something similar here as well and also use that chance to upgrade Catch2 and CMake scripts.
Note: Not having to copy files in the first place, but instead referencing a single source of truth wherever it is needed, would obviously be the much cleaner solution here, but due to the way the Exercism downloader works, for now exercises need to be self-contained.