Don't maintain a generated Languages.pm file
Fixes #32
🤔 What's changed?
The Languages.pm file is now generated upon building the release artifacts or when running the test suite.
⚡️ What's your motivation?
Issue #32 (Languages.pm not mergeable)
🏷️ What kind of change is this?
- :bank: Refactoring/debt/DX (improvement to code design, tooling, documentation etc. without changing behaviour)
♻️ Anything particular you want feedback on?
Does this address the concern sufficiently?
📋 Checklist:
- [x] I agree to respect and uphold the Cucumber Community Code of Conduct
This text was originally generated from a template, then edited by hand. You can modify the template here.
The latest Iteration of this PR generates Languages.pm before testing and release artefact building. It does that by extending the dzil build command. The tests are being run based on what is in the git tree (as they always have). I
f we want to run the tests based on what is in the release tarball, we need to install its content. dzil test and dzil run exists for that purpose: they create an out of tree isolated installation as would be achieved with a vanilla installation. Using dzil this way is not possible, because our testdata needs the tests to run in a relative path to the test data set.
Looking at how Ruby does it, I see it uses bundler . Although I'm not too much into the details, I think the description of what we do now (run from the working tree) is exactly what Ruby does too, since bundle package isn't required for bundle exec and the latter is what the tests use.
Concluding: I think this PR brings the Perl situation in line with what Ruby does.