linkml / linkml-project-cookiecutter

A cookiecutter for linkml projects. An equivalent of `linkml-ws new project-name`.
Creative Commons Zero v1.0 Universal
14 stars 16 forks source link

`.env.public` approach to `Makefile` variables: quotes are literal in GNU Make #106

Open zmughal opened 3 months ago

zmughal commented 3 months ago

If the .env.public file is meant to be used as both a source-able .env file and as Makefile variables, it must use the intersection of their syntaxes which is stricter on special characters. For GNU Make, this means that any quotes (m/["']/) will be literal quotes in the GNU Make variable, but sh(1) will use the contents of the quoted string.

It might be better to treat it as just Makefile variables (e.g., config.Makefile) and apply the appropriate quoting in the GNU Make recipe commands.

Full details mentioned here: https://github.com/linkml/linkml-project-cookiecutter/pull/95#issuecomment-2040023424 (with a patch I do not like).

noelmcloughlin commented 2 months ago

Hi @zmughal Sorry for delay. I think we could just do a PR to remove quotes from https://github.com/linkml/linkml-project-cookiecutter/blob/main/%7B%7Bcookiecutter.project_name%7D%7D/.env.public They are not necessary for source-able .env file