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

Support generator environment variables in Makefile, github-actions #58

Closed noelmcloughlin closed 1 year ago

noelmcloughlin commented 1 year ago

This PR is to address #51 and #57 and includes some minor format/bug fixes noticed during development and testing. The changes in this PR are transparent to existing users.

cmungall commented 1 year ago

Ah I see, so the env vars aren't interpreted by the gen-x commands - they are interpreted by Makefile.

@matentzn and the ODK team have more experience with this kind of dynamic Makefile behavior so they may want to comment when this PR is ready

Note I left some comments on #51 - it is in fact possible to have a global yaml. But I am not against an extra layer of env vars on top of that - provided the whole system is easy to reason about!

noelmcloughlin commented 1 year ago

Yes, this PR allows Makefile and github-actions (deploy-docs) to read environment variables, if some customization is wanted, but its not forced on end users.

sierra-moxon commented 1 year ago

@noelmcloughlin - yep, with the --config option added as well: e.g.

gen-project --config config.yaml personinfo.yaml

Does that make you want to make changes to this PR? e.g. - is the use case for these:

GEN_DARGS=
ifdef LINKML_GENERATORS_DOC_ARGS
GEN_DARGS = ${LINKML_GENERATORS_DOC_ARGS}
endif

GEN_OARGS=
ifdef LINKML_GENERATORS_OWL_ARGS
GEN_OARGS = ${LINKML_GENERATORS_OWL_ARGS}
endif

GEN_JARGS=
ifdef LINKML_GENERATORS_JAVA_ARGS
GEN_JARGS = ${LINKML_GENERATORS_JAVA_ARGS}
endif

GEN_TARGS=
ifdef LINKML_GENERATORS_TYPESCRIPT_ARGS
GEN_TARGS = ${LINKML_GENERATORS_TYPESCRIPT_ARGS}
endif

handled with a config?

noelmcloughlin commented 1 year ago

Hi @sierra-moxon thanks

Yes, I can look at config.yaml approach as suggested. Hopefully it works great!

I think this is also solution fordeploy-docs.sh

noelmcloughlin commented 1 year ago

Closing - will refactor and break into smaller PRs