To truly understand gradle, you need to know groovy. I don't see the benefit of investing time in learning another programming language to help me...build Java projects. It's simply not worth it, in my book, unless it is central to your job. On the other hand, everybody knows xml, so maven is a better choice. Obviously, it's just my opinion.
One of the most salient features of our Tech Hiring culture is that there is so much bullshit. Everyone knows this. Each of us contributes his share. But we tend to take the situation for granted.
Kotlin "improves" Java by eliminating semicolons. Gradle "improves" Maven by eliminating XML. Semicolons in Java and XML in Maven are least relevant issues (if issues at all).
P.S. Yes, I know that there are other improvements, I'm just kidding.
One of the most salient features of our Tech Hiring culture is that there is so much bullshit. Everyone knows this. Each of us contributes his share. But we tend to take the situation for granted.
I see your point, there are trade-off for everything and people love to forget about it.
Maven for example is simpler than Gradle, and that made the IDE integration much better for years
C++ has very good principle - "don't pay for what you don't use". Most Kotlin and Gradle "extra" features over Java and Maven respectively have no (or very small) value for most developers, but there is no way to avoid "paying" for them.
One of the most salient features of our Tech Hiring culture is that there is so much bullshit. Everyone knows this. Each of us contributes his share. But we tend to take the situation for granted.
Well, it's a very good principle for people for who C++ is a good solution.
For others like me, focusing on low level stuff like this is not worth the time invested.
This principle is not specific for low level stuff. It just prevents cheap excuses like "it's slow and bloated, but it's the price for rich functionalityβ.
Maven's build lifecycles is a brilliant idea. It looks rigid, because it limits number of ways things can be done. In fact it just organizes build process, makes it predictable and reproducible.
Totally agree! If the build tool is too flexible you get creativity working its way into the build process, which just makes it harder to understand. Generally, I feel like if youβre trying to do something in your build that canβt fit into mavenβs paradigms, itβs probably doing something it shouldnβt be doing.
I prefer Gradle for medium to large sized projects. It is really fast, the plugin ecosystem is great and the Kotlin DSL is just awesome! Although I admit that the first steps can be hard, especially because of the lack of good documentation...
In a nutshell, I am an enthusiastic Java developer with more than 10 years of experience ranging from banking solutions to national and startup projects. These invaluable practical experiences have he
Does leiningen count? Clojure is hosted on the JVM and compiles to JavaByteCode so I'd say so π
It's a terrific if not limited and faulty build system for both Clojure (not so much ClojureScript) and Java class files.
Otherwise, I've only used Maven once for a Dr. Java packaged-project and as a Lisper (? : one who codes in Lisps) I can't stand XML clunk and junk so idk, willing to try something less fugly.
One of the most salient features of our Tech Hiring culture is that there is so much bullshit. Everyone knows this. Each of us contributes his share. But we tend to take the situation for granted.
Test reports are generated by appropriate plugin, not by a build system itself. And yes, you can generate HTML test report with maven using following command:
# mvn surefire-report:report
Not looked into every detail how gradle does this, but I guess it uses the same maven plugin to generate this report.
A software developer. I'm interested in learning new technologies and core language features. I love to dive into legacy code writing tests and refactoring as I go.
In a nutshell, I am an enthusiastic Java developer with more than 10 years of experience ranging from banking solutions to national and startup projects. These invaluable practical experiences have he
To truly understand gradle, you need to know groovy. I don't see the benefit of investing time in learning another programming language to help me...build Java projects. It's simply not worth it, in my book, unless it is central to your job. On the other hand, everybody knows xml, so maven is a better choice. Obviously, it's just my opinion.
You should check out gradle over kotlin, it's great for me, being a huge fan of kotlin.
Must admit that Kotlin and Gradle are great match. They both solve most irrelevant issues in things they are pretending to improve.
That's a lot of negations, I'm not sure what you really mean here!
Kotlin "improves" Java by eliminating semicolons. Gradle "improves" Maven by eliminating XML. Semicolons in Java and XML in Maven are least relevant issues (if issues at all).
P.S. Yes, I know that there are other improvements, I'm just kidding.
I see your point, there are trade-off for everything and people love to forget about it.
Maven for example is simpler than Gradle, and that made the IDE integration much better for years
C++ has very good principle - "don't pay for what you don't use". Most Kotlin and Gradle "extra" features over Java and Maven respectively have no (or very small) value for most developers, but there is no way to avoid "paying" for them.
Well, it's a very good principle for people for who C++ is a good solution.
For others like me, focusing on low level stuff like this is not worth the time invested.
This principle is not specific for low level stuff. It just prevents cheap excuses like "it's slow and bloated, but it's the price for rich functionalityβ.
Maven! Some say itβs too opinionated and rigid, but thatβs what I like about it. No surprises.
Maven's build lifecycles is a brilliant idea. It looks rigid, because it limits number of ways things can be done. In fact it just organizes build process, makes it predictable and reproducible.
Totally agree! If the build tool is too flexible you get creativity working its way into the build process, which just makes it harder to understand. Generally, I feel like if youβre trying to do something in your build that canβt fit into mavenβs paradigms, itβs probably doing something it shouldnβt be doing.
I prefer Gradle for medium to large sized projects. It is really fast, the plugin ecosystem is great and the Kotlin DSL is just awesome! Although I admit that the first steps can be hard, especially because of the lack of good documentation...
I agree with you. First step of Gradle is very hard, especially, If you are a maven guy.
I can agree with that, it's a pain to set up.
Does
leiningen
count? Clojure is hosted on the JVM and compiles to JavaByteCode so I'd say so πIt's a terrific if not limited and faulty build system for both Clojure (not so much ClojureScript) and Java class files.
Otherwise, I've only used Maven once for a Dr. Java packaged-project and as a Lisper (? : one who codes in Lisps) I can't stand XML clunk and junk so idk, willing to try something less fugly.
If Maven is good for you and ain't broken, don't fix it, stay with Maven.
Personally I use Gradle for everything because I do Kotlin, Spring and Android programming.
I have seen comments about Gradle and Kotlin, and that it's unfortunately hard to make the first step.
Well that depends if you are doing Android or not.
The Android Framework team has unfortunately made nothing to make using Gradle and Kotlin easily.
With Spring on the backend, it's super simple to get started:
Open start.spring.io/
I love the feature
Explore - Ctrl + Space
and use it all the timeTest reports are generated by appropriate plugin, not by a build system itself. And yes, you can generate HTML test report with maven using following command:
Not looked into every detail how gradle does this, but I guess it uses the same maven plugin to generate this report.
I've used ant, gradle, and maven. I prefer gradle but like ant it is really easy to make a confusing mess out of the build.
maven.apache.org/surefire/maven-su...
IMO, both Maven and Gradle are overcomplicated. But, if I have to chose, then Gradle.
Maven is just a standard. Gradle is an attempt to reduce verbosity of tiny part of the project.
Maven! I am really comfortable with it. (Honestly, I try Gradle but I don't like it)
Sbt