thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James E. King III (JIRA)" <>
Subject [jira] [Commented] (THRIFT-4743) Remove the compiler plug-in mode
Date Mon, 28 Jan 2019 14:30:00 GMT


James E. King III commented on THRIFT-4743:

Apologies, but this was voted on the dev mailing list about a month ago and approved.

The plug-in support changes the build workflow depending on whether it is enabled or not.
 It added a layer of complexity that was considered unwarranted, at least from the perspective
of package management.  Downstream package managers and the thrift project only release statically
linked thrift compilers.  This means anyone who wanted to use plug-in mode (such as yourselves)
must already fork and rebuild the project with different settings.  Given you are already
rebuilding, it should not be difficult then to add your compiler as a fairly standard patch.

We can certainly discuss reverting this if there are more consumers, but given the lack of
response on the mailing list it was assumed nobody is using it.

This is a complex software project supporting 28 languages and having two build systems. 
Every compile-time branch is an added layer of complexity.  We decided for example not to
support both C++03 and C++11 at the same time because then downstream packagers would be required
to produce two libthrift packages for C++, and things would get messy for them.  The level
of involvement from the community has not been that high, and we do not have committers covering
every language.  We need to move to a single build system (cmake) and simplify things as much
as possible in order to have a more sustainable project.  Given folks had to fork the project
and build it already just to get plug-in support, it made sense (at least to me) to also have
them just add their compiler code in their fork.  I don't see how this is any more difficult
than having to fork and build WITH_PLUGIN and also maintain a plug-in separately and copy
things together to get a solution?

> Remove the compiler plug-in mode
> --------------------------------
>                 Key: THRIFT-4743
>                 URL:
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Compiler (General)
>    Affects Versions: 0.13.0
>            Reporter: James E. King III
>            Assignee: James E. King III
>            Priority: Major
>              Labels: Breaking-Change
>          Time Spent: 20m
>  Remaining Estimate: 0h
> Vote passed on the development mailing list to remove the dynamic compiler plug-in mechanism.
 It has been disabled in the majority of all CI builds, and the mode is already disabled by
default in the build systems.  This will simplify the project and remove some compile-time
and packaging-time branches.

This message was sent by Atlassian JIRA

View raw message