Here is the rule of thumb:
If it is required to reproduce the code as deployed, it needs to be
packaged by the distribution.
If it is a tool used by the developer to make development easier, it
does not *need* to be packaged by the distribution. If it is easier
for a developer to use non-distribution tools to affect change in the
project, but can then add their changes in to their deployed server
without the non-distribution tool, it is acceptable to leave that tool
out of the distribution.
Hence, the real distinction should be between generated files and
original source. If a file is generated, the distribution needs to
provide the original source and the tools to perform the generation.
In theory, if that generated file is human editable and readable text,
deploying only the text might be OK, we need to make a decision if we
would want to
The distribution packagers will make sure that what is essential is
packaged. Lets not limit our tool choice based on that. Instead, let
us just be aware that every tool selected for the end product puts an
additional burden on the packagers, and only select the tools that are:
A. Required to improve the product
B. Reasonable to deploy due to licensing and dependencies.
Example: I don't need Grunt to run a web server. I need Apache for
that. Grunt does not need to be in the distro, mod_wsgi does.
OpenStack-dev mailing list