Remember Recent NPM fiasco? leftpad?
A good build automation tool helps us reduce the time and effort it takes to build correct artifacts in a repeatable manner
Gradle embraces domain modelling as a core tenet. Focusing on the domain model as opposed to the execution model (like prior generation build tools such as Apache Ant) has many advantages. A strong domain model communicates the intent (i.e. the what) over the mechanics (i.e. the how). This allows humans to understand builds at a level that is meaningful to them.
task hello
hello.doLast {
println "I am a task"
}
task hello {
doLast {
println "I am a task"
}
}
task bye << {
println "I am another task"
}
bye.dependsOn(hello)
apply plugin: 'java'
apply plugin: 'war'
repositories {
mavenCentral()
}
dependencies {
compile 'org.springframework:spring-core:4.0.6.RELEASE'
testCompile 'junit:junit:4.12'
}
gradle help
gradle wrapper
./gradlew myTask
gradle --daemon
gradle --stop