conan-io/hooks

Handle configurations of hooks

Open

#32 opened on Jan 31, 2019

View on GitHub
 (9 comments) (0 reactions) (0 assignees)Python (45 forks)auto 404
help wanted

Repository metrics

Stars
 (34 stars)
PR merge metrics
 (PR metrics pending)

Description

As soon as hooks start to proliferate there will be more and more environment variables to configure them, I think we should consider that risk and think about alternatives, there could be a better approach. It is time for brainstorming:

  • Do nothing, hooks will start to introduce env variables (there are already some of them), I think it could be a mess in the long term

  • Use a json file to handle the configuration of all the hooks (shareable with a conan config install), the HookManager could pass those variables in every function call:

    hooks_config.json

    {
        "hook_name_1": {
            "key1": "value",
            "key2": "value"
        },
        "hook_name_2": {
            "...": "..."
        }
    }
    

    hooks/hook_name_1.py

    ...
    def pre_export(..., config):
        assert config == {"key1": "value", "key2": "value"}
        ...
    
    def post_package(..., config):
        ...
    
  • add them to conan.conf file inside the cache

  • ...more ideas?

Contributor guide