(Disclaimers: I have checked on Google and this site. I have read this answer, which is the only related one I could find here. Additionally, that answer is from 2017, and I wonder if things have changed since. I have read the help and Meta pages about what is on-topic. However, it's been a while since I've asked a question here, so my apologies if this question misses the mark.)
Perl, R, Python, JS, and other languages permit installing from tarballs or some other form of bundled package, in addition to or instead of installing from a VCS repository. What is the best current practice regarding whether development-only files such as .travis.yml
should be included in the tarball, and why is that the practice?
An advantage I can see of including development-only files is that you can re-create the project from just the tarball. A disadvantage I can see is that the package is larger (and storage is still technically not infinite :) ).
Example of including: The ack
search tool includes .travis.yml
in its GitHub repo, but not in its tarball.
Example of not including: the R packaging docs show an example expressly excluding .travis.yml
. The package-structure docs note that
packages should not contain Unix-style ‘hidden’ files/directories (that is, those whose name starts with a dot).
I am particularly interested in the Perl use case, but would be happy to know why other languages' communities use the practices they do.