grimoirelab-elk icon indicating copy to clipboard operation
grimoirelab-elk copied to clipboard

[utils] Use entry points to support plugin mechanism

Open heming6666 opened this issue 4 years ago • 2 comments

This PR aims to support plugin mechanism for ELK. Related with #880 .

This code uses pkg_resources.iter_entry_points() to discover the registered entry point grimoire_elk and then load the connectors of external backends :

ENTRY_POINT_NAME = "grimoire_elk"

def get_connectors():
    # The default connectors
    connectors = {}
    for entry_point in pkg_resources.iter_entry_points(ENTRY_POINT_NAME):
        connectors.update(entry_point.load()())
    return connectors

Maybe we need pick up anothe suitable definition for ENTRY_POINT_NAME instead of grimoire_elk, I guess.

I will write some documentation for external packages about how to register themselves if necessary.

Please @valeriocos @sduenas @WillemJiang help look into this and any feedback or suggestions are appreciated.

Signed-off-by: LinHaiming [email protected]

heming6666 avatar May 31 '20 17:05 heming6666

Pull Request Test Coverage Report for Build 2219

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • 49 unchanged lines in 2 files lost coverage.
  • Overall coverage decreased (-0.04%) to 81.844%

Files with Coverage Reduction New Missed Lines %
/home/travis/build/chaoss/grimoirelab-elk/grimoire_elk/enriched/github.py 2 75.06%
/home/travis/build/chaoss/grimoirelab-elk/grimoire_elk/utils.py 47 65.54%
<!-- Total: 49
Totals Coverage Status
Change from base Build 2216: -0.04%
Covered Lines: 8150
Relevant Lines: 9958

💛 - Coveralls

coveralls avatar Jun 01 '20 12:06 coveralls

Hi @valeriocos, @sduenas and @vchrombie,

Could you help review the code? It has been discussed in #880, as the plugin proposal.

As we discussed in https://github.com/chaoss/grimoirelab/issues/439, I have created a seperated repo grimoirelab-gitee to include grimoirelab-gitee solution, that also depend on this plugin solution.

Thanks.

eyehwan avatar Aug 03 '21 02:08 eyehwan

This was implemented in https://github.com/chaoss/grimoirelab-elk/pull/1062

jjmerchante avatar Oct 11 '23 16:10 jjmerchante