Introduce rebar3_external plugin to handle leveldb source code#274
Introduce rebar3_external plugin to handle leveldb source code#274joaohf wants to merge 1 commit intobasho:developfrom
Conversation
Currently [1], rebar3 does not support adding hooks for 'get-deps'. That is why the compile rule in c_src/Makefile has also to call get_deps makefile rule in order to fetch leveldb source code. The whole process works but can be improved. This change introduces a plugin called rebar3_external which deals with external source code like leveldb source code. That way rebar3 can perform dependency manager without relies on makefiles or scripts. The intend is to have leveldb source code managed by rebar3. So, one could easily upgrade it just bumping the leveldb version in the rebar3.config file. 1: erlang/rebar3#2784
|
Hi, I'm sharing this work as a try to improve some parts of riak build. Mainly to address some points detailed here: erlang/rebar3#2784 |
|
@joaohf There is a fully-tested, though out of date, implementation of this strategy at https://github.com/basho/eleveldb/tree/294dc67687590d6c830c09cbefbbec912c076069 (was the head of the The This was a complete rewrite of the |
|
Hi @tburghart Now I see. I didn't check all branches from eleveldb before. Also the rebar_raw_resource also fixes my initial point (which is more related to rebar3 dependency life cycle, for example fetching all deps when calling get-deps). So, just asking for my own understandment, why the rebar3 branch has not been merged at that time ? Thanks. |
I can't answer that, I wasn't involved in that decision. Had Basho not folded, it would have gone into the OTP 20+ version of Riak, but things kinda went off the rails ... |
Currently [1], rebar3 does not support adding hooks for 'get-deps'. That is why the compile rule in c_src/Makefile has also to call get_deps makefile rule in order to fetch leveldb source code. The whole process works but can be improved.
This change introduces a plugin called rebar3_external which deals with external source code like leveldb source code. That way rebar3 can perform dependency manager without relies on makefiles or scripts.
The intend is to have leveldb source code managed by rebar3. So, one could easily upgrade it just bumping the leveldb version in the rebar3.config file.
1: erlang/rebar3#2784