Fork me on GitHub
#tools-deps
<
2020-11-07
>
Alex Miller (Clojure team)14:11:02

Don’t get too excited, very experimental

dominicm14:11:58

I just loved the approach :)

rickmoynihan14:11:41

Currently digging through depstar etc in a spare few minutes, and I’m sat wishing the community had just adopted Stu Halloway’s lancet for builds 12+ years ago 😆 Seriously though, I know ant was a bit of a pain at times but ant as sexps/edn with some deployment stuff would be miles better than what we have right now.

Alex Miller (Clojure team)14:11:39

I still like many things about ant

Alex Miller (Clojure team)14:11:58

The only thing maven did right was standardize deps and repos. But that was so big, it won.

rickmoynihan14:11:22

Yeah was literally about to say just that, and… The other problem with ant was that every build was different; but it was expressive enough and pretty efficient and the core tasks worked well. Maven was easier for simple library builds; but far harder for anything that needed to do more than compile, dist, deploy and document.

rickmoynihan14:11:57

You can integrate resolution and deployment with ant right? Isn’t that what ivy was? I never set that up all those years back.

dominicm14:11:52

Gradle seemed very sophisticated when I looked at it.

rickmoynihan14:11:02

I never used it; looked like Rake… essentially ant built as a dsl in groovy right?

borkdude14:11:03

Today a new version of clj-kondo was released that includes deps.edn linting. You may have to update flycheck-clj-kondo if you are using emacs integration.

Alex Miller (Clojure team)14:11:06

I have known many people preaching gradle over the years and have given it an honest shot a couple times. I found it inscrutable. It’s probably just me but I just could not understand how to do anything. I’m the same way with ruby though - I just find it baffling. Just give me some parens man.

borkdude15:11:25

What I found most baffling about ruby was rails (I know that's not ruby, but very common): I didn't now where to look or follow things, things just magically came from random places.

borkdude15:11:39

At least ruby doesn't have significant whitespace. Don't get me started on that! </rant>

☝️ 6
dominicm15:11:52

My recollection of Gradle was seeing the sheer investment someone had made to integrate ClojureScript with the build system so the caching/dependency system would work. May not have been Gradle, might have been something else.

flowthing17:11:04

Gradle is fine, though quite complex. One big downside it has compared to Ant, IMO, is that it doesn’t have immutable properties.

dharrigan17:11:53

We use gradle a lot at work, more specifically gradle with the kotlin dsl. One can declare vals which are immutable (or vars, which are mutable)

dharrigan17:11:17

val foo = "hello" would make foo immutable.

flowthing18:11:59

Right, the Kotlin DSL didn’t exist back when I most used Gradle. Still, I don’t think that helps if you want to define a property in the CLI invocation such that it’s not overwritten somewhere down the chain.

dharrigan17:11:53

I think the kotlin dsl is winning (esp for android and spring based projects). Others may still use the groovy dsl.