conan-io/hooks

Handle configurations of hooks

Open

#32 opened on 2019年1月31日

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)

説明

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?

コントリビューターガイド