[
https://issues.apache.org/jira/browse/PROTON-2100?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16921367#comment-16921367
]
Jiri Daněk commented on PROTON-2100:
------------------------------------
I've tried Bazel, for ActiveMQ Artemis. Back in the time before the AIO JNI
library was split out of the project.
Afaik the main problems with it are:
1) Tooling. There probably isn't that much experience regarding building
RPM/DEB packages with Bazel. Although the fact that TensorFlow and other
popular projects adopted Bazel is/will change that, slowly.
2) Dependencies. As I remember, discovering native dependencies with Bazel is
painful. Paths to shared libs change between systems. Proton has some optional
dependencies. In the Artemis project above I had to do [1] and then [2]. Is
there support for pkg-config in Bazel already?
3) Makes build depend on java. Bazel itself is fairly large, ~50 MB. Must be
installed on Travis.
Benefits:
1) BUILD file language. That is a plus, for me, actually. It is a restricted
version of Python.
2) Test isolation. Tests are run in a sandbox, which can include network
sandbox based on cgroups/namespaces. No more port clashes. We could possibly
have this with CMake as well (reuse what bazel does, it is fairly
self-contained). Bazel just brings it out of the box.
[1]
https://github.com/jdanekrh/activemq-artemis/blob/97fcde8f5d437ab75982304d0722a479140b3ae8/WORKSPACE#L31-L71
[2]
https://github.com/jdanekrh/activemq-artemis/blob/97fcde8f5d437ab75982304d0722a479140b3ae8/artemis-native/BUILD#L20-L51
Btw, for discussions, project mailing list is probably better place.
> Switch from CMake to Bazel?
> ---------------------------
>
> Key: PROTON-2100
> URL: https://issues.apache.org/jira/browse/PROTON-2100
> Project: Qpid Proton
> Issue Type: Wish
> Components: proton-c
> Reporter: Omer Katz
> Priority: Major
>
> Bazel is a modern build system for polygot repositories like qpid-proton.
> Using it should simplify how we build and package our bindings and c library.
> This issue is an opportunity to discuss if we want to switch and if so, how.
--
This message was sent by Atlassian Jira
(v8.3.2#803003)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]