Gradle

Gradle is an open source build automation system that builds upon the concepts of Apache Ant and Apache Maven and introduces a Groovy-based domain-specific language (DSL) instead of the XML form used by Apache Maven for declaring the project configuration.[2] Gradle uses a directed acyclic graph (“DAG”) to determine the order in which tasks can be run.

Gradle was designed for multi-project builds which can grow to be quite large, and supports incremental builds by intelligently determining which parts of the build tree are up-to-date, so that any task dependent upon those parts will not need to be re-executed.

The initial plugins are primarily focused around Java,[3] Groovy and Scala development and deployment, but more languages and project workflows are on the roadmap.
Source: https://en.wikipedia.org/wiki/Gradle

Directed acyclic graph: https://en.wikipedia.org/wiki/Directed_acyclic_graph
Domain-specific language: https://en.wikipedia.org/wiki/Domain-specific_language

Spring Boot with Gradle: https://spring.io/guides/gs/spring-boot/

https://gradle.org/
https://docs.gradle.org/current/dsl/

Gradle Customizations:
https://www.javacodegeeks.com/2016/12/publishing-snapshots-gradles-maven-publish-plugin.html

Notes:
1. Time to move to Gradle instead of Maven for new projects. In Maven we need to write plugins. Here easy to code directly, because it is Groovy Language.
2. Advanced features
3. Support for Java/Scala/Groovy combinational projects (Didn’t checked Maven)

Possible Issues:
1. Too much customization kills over a period of time.
2. Gradle is selling tutorials and Enterprise version. We may end up with payments in case of complex issues.
3. Better not to deviate from standard Java folder structures

-o-

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s