Hi Kiril, I think you’d need to set your expectations. Faster builds are unlikely to be one of the benefits. A unified build tool is one.
I’ve seen a few similar attempts with Buck which was inspired by Bazel. They either generate lein projects on the fly or call into the Clojure compiler directly. I think Clojure’s build model works against these tools in part because it’s a dynamic language, in part because it doesn’t implicitly forward declare functions, in part because (I believe) it does breadth first traversal if dependencies, and in part it’s non-trivial/inefficient to create a clean Clojure VM per dependency in the build graph. Typical usage of these build tools is to have a build file per directory with one or more targets in each file. In order to get the speed that the build tool promises you need the ability to efficiently parse the ABI of each file and only build its dependents when the ABI has changed. I’m not certain you can do that with Clojures compiler but someone else might be able to chime in with a way that you could. Cheers, Nathan On Mon, 29 Jan 2018 at 13:16, Kiril Videlov <kiril...@runbox.no> wrote: > Hello, > I have been looking at the Bazel <https://bazel.build> build tool for a > multi-language mono-repo and I was wondering if anybody has tried it in the > context of Clojure projects. I have only found the lein-monolith > <https://github.com/amperity/lein-monolith/> plugin which appears to > address a similar use case sans the polyglot requirement. Do you think > there is any value in attempting to build a rule set > <https://docs.bazel.build/versions/master/skylark/rules.html> similar to > the bazel rules for Scala <https://github.com/bazelbuild/rules_scala>? > > Regards, > Kiril Videlov > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- - sent from my mobile -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.