[ https://issues.apache.org/jira/browse/THRIFT-2835?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15405991#comment-15405991 ]
ASF GitHub Bot commented on THRIFT-2835: ---------------------------------------- Github user dtmuller commented on the issue: https://github.com/apache/thrift/pull/1039 I added the deployment of headers needed to build plugins. I changed the directory structure to look the same as under /lib (added an extra thrift folder). The reason: for cmake I batch-copied the headers with `install(DIRECTORY ...)` which put them into `/usr/local/include` instead of `/usr/local/include/thrift`. But I changed this back and now copy the files as needed (to exclude unneeded generated headers). Still, I think it's nice to have the dir structure matching the namespaces... @nsuke If you agree with the header deployment you can pull over my last 5 commits to your original pull-request. If not I can change it back to deploy the headers using the old structure. The rest looks good to me, I also tested it with my plugin. Only I couldn't get CI test #4 green - though it works locally?! > Add possibility to distribute generators separately from thrift core, and > load them dynamically > ----------------------------------------------------------------------------------------------- > > Key: THRIFT-2835 > URL: https://issues.apache.org/jira/browse/THRIFT-2835 > Project: Thrift > Issue Type: New Feature > Components: Compiler (General) > Reporter: Anatol Pomozov > Labels: fbthrift > > It is a follow-up for discussion with Facebook's fbthrift > https://github.com/facebook/fbthrift/issues/48 > fbthrift adds its own generator that creates C++ classes based on their > libraries. I do not know how upstreamable this generator but I think other > companies would want to do the same - create their own custom generators. > Currently there is no way to distribute generators separately from the thrift > core. Thus the company have to fork whole project and add their own > generator. It is what Facebook did. > The idea is that thrift should be able to load language generators > dynamically. i.e. a company foo creates its own generator and puts it to > system /usr/lib/thrift/generators/cpp_foo.so When thrift compiler starts - it > checks /usr/lib/thrift/generators/ and uses dlopen() to load the shared > libraries. The shared library contains information about the generator (name, > options, ...) thus it allows thrift core to use this custom third-party > generator. > This allows companies to create and distribute generator will less pain and > no need to fork the project. -- This message was sent by Atlassian JIRA (v6.3.4#6332)