https://github.com/clojure/tools.deps.alpha/blob/d77476f3d5f624249462e275ae62d26da89f320b/src/main/clojure/clojure/tools/deps/alpha/repl.clj#L162-L181 haha, this is great :D
yay http://grep.app
Donāt get too excited, very experimental
I just loved the approach :)
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.
I still like many things about ant
yeah me too
The only thing maven did right was standardize deps and repos. But that was so big, it won.
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.
You can integrate resolution and deployment with ant right? Isnāt that what ivy was? I never set that up all those years back.
Gradle seemed very sophisticated when I looked at it.
I never used it; looked like Rakeā¦ essentially ant built as a dsl in groovy right?
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.
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.
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.
At least ruby doesn't have significant whitespace. Don't get me started on that! </rant>
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.
Gradle is fine, though quite complex. One big downside it has compared to Ant, IMO, is that it doesnāt have immutable properties.
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)
val foo = "hello"
would make foo
immutable.
I think the kotlin dsl is winning (esp for android and spring based projects). Others may still use the groovy dsl.
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.