[[[ Gradle ]]] [[ gradle command line switches ]] # create a default gradle build $ gradle init # show that tasks available $ gradle tasks # clean the tests build, run the tests $ gradle cleanTest test # ignore any task optimization $ gradle test --rerun-tasks [[ Gradle Java ]] https://docs.gradle.org/current/userguide/tutorial_java_projects.html [ publish jar ] [[ Install Multiple Gradle Binaries (brew) ]] [ Install multiple versions ] brew versions gradle git clone https://github.com/Homebrew/homebrew.git git checkout 0123456 Library/Formula/gradle.rb brew unlink gradle Install diff version brew install ~/scripts/myNewGradeScript.rb --or-- brew install Library/Formula/gradle.rb brew switch gradle 1.9 brew switch gradle 1.10 [[ Gradle Preehond Dev Notes ]] MODERN Source: http://blog.paralleluniverse.co/2014/05/01/modern-java/ task deployJar(type: Jar, dependsOn: jar) { baseName = project.name + '-deploy' deps = configurations.runtime + configurations.runtime.allArtifacts.files depClasses = { deps.collect { it.isDirectory() ? it : zipTree(it) } } from(depClasses) { exclude 'META-INF/MANIFEST.MF' } manifest { attributes 'Main-Class': 'com.example.redphone.Main' } } * What went wrong: A problem was found with the configuration of task ':startScripts'. > No value has been specified for property 'mainClassName'. myMain = 'com.example.redphone.Main' startScripts { mainClassName = myMain }