Netflix / dynomite

A generic dynamo implementation for different k-v storage engines
Apache License 2.0
4.19k stars 531 forks source link

Convert Makefile build to bazel #230

Open timiblossom opened 8 years ago

timiblossom commented 8 years ago

More info on http://bazel.io/.

Bazel seems clean, especially if we involve more than one language in the project.

akbarahmed commented 8 years ago

@timiblossom Bazel looks good overall. However, there are a few feature gaps in Bazel that we should consider before switching away from autotools.

Features that are missing in Bazel

timiblossom commented 8 years ago

We are still new to Bazel and there is no immediately need for this. In the near future, we might incorporate C++ libraries into Dynomite and other languages so we just open this issue for an investigation purpose.

akbarahmed commented 8 years ago

From what I've seen so far, the loss of make install should not be a big issue for Dynomite. However, the loss of configure could be an issue.

The only other "issue" with Bazel is that its a Java app, which would mean that the JVM would become a dependency of Dynomite even if we incorporate no other Java code. Personally, I'm fine with the JVM, but not everyone is.

With that said, I get your point about C++.

One very positive thing about Bazel is that we could combine Dynomite and Dyno (Java) into a single monolithic repo. Bazel excels with large, single repo projects will multiple languages. The benefits would become even larger when Dyno is expanded to other compiled languages like Go (assuming we combine everything into a large repo).