Another tool that works well for polyglot JVM projects is Gradle. I use it
to build Cursive, which has Java, Kotlin and AOT'ed Clojure. I released a
mostly-unsupported plugin for it, and Andrew Oberstar and others have taken
it over and done a lot of work on it - it now lives at
https://github.com/gradle-clojure. It's pretty new but is under active
development.

Gradle works very well for Cursive, I'm very happy with it.

On 29 January 2018 at 20:07, Nathan Fisher <nfis...@junctionbox.ca> wrote:

> 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.
>

-- 
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.

Reply via email to