On Tue, Jan 30, 2018, 6:07 PM Colin Fleming <colin.mailingl...@gmail.com>
wrote:

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

Don't wanna start a religious war, but I've worked with Gradle (and about
150 other build tools). If Gradle makes you happy Bazel will make you
rapturous.

See e.g.
https://www.google.com/amp/s/www.pgrs.net/2015/09/01/migrating-from-gradle-to-bazel/amp/

G

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

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