Bagi para pengembang aplikasi, mungkin pernah mendengar istilah ant, gradle, maven, nodejs, npm, composer atau bower ketika sedang mencari sesuatu. Namun apakah yang dimaksud dengan istilah-istilah tersebut ?
Istilah-istilah tersebut merupakan beberapa contoh build tools yang digunakan oleh java, php, atau javascript. Build tools itu sendiri adalah program yang mengotomatiskan proses eksekusi aplikasi dari suatu soure code. Pada dasarnya proses otomatisasi dilakukan oleh pengembang aplikasi untuk melakukan hal hal seperti:
1. Mendownload dependencies.
2. Mengcompile dan mempackaging source code kedalam binary.
3. Melakukan deployment ke production sistem.
Setiap build tools yang digunakan memiliki konfigurasi yang berbeda beda agar dapat berjalan. Contohnya untuk build tools gradle, langkah pertama agar gradle dapat berjalan adalah dengan cara mendownload gradle terlebih dahulu lalu ekstrak hasil file download tersebut. Selanjutnya tambahkan variabel GRADLE_HOME pada environtment variabel (klik kanan my computer -> properties -> advance system settings ->environtment variable ), dan tambahkan juga GRADLE_HOME\bin pada variable path. Agar mengetahui apakah gradle sudah terpasang atau belum, cukup ketikkan gradle -v pada console cmd.
Konfigurasi gradle ada pada file build.gradle. Berikut adalah contoh isi dari file build.gradle
buildscript { ext { springBootVersion = '2.0.3.RELEASE' } repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") } } apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'org.springframework.boot' apply plugin: 'io.spring.dependency-management' group = 'id.co.akhdani' version = '0.0.1-SNAPSHOT' sourceCompatibility = 1.8 repositories { mavenCentral() } dependencies { // Apache commons compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.7' compile group: 'commons-codec', name: 'commons-codec', version: '1.9' // DB Connection Pool compile group: 'com.zaxxer', name: 'HikariCP', version: '3.2.0' // thymeleaf compile('org.springframework.boot:spring-boot-starter-thymeleaf') compile group: 'nz.net.ultraq.thymeleaf', name: 'thymeleaf-layout-dialect', version: '2.3.0' compile('org.thymeleaf.extras:thymeleaf-extras-springsecurity4') runtime('org.postgresql:postgresql') runtime('org.springframework.boot:spring-boot-devtools') testCompile('org.springframework.boot:spring-boot-starter-test') compile('org.springframework.boot:spring-boot-starter-web') compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.9.6' compile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.9.6' }
Untuk menambahkan suatu library gradle kedalam project yang sedang dikerjakan, dapat dilakukan dengan cara menambahkan nya pada file build.gradle, dependencies. Sebagai contoh, kita ingin menambahkan library hikaricp kedalam project, langkah pertama yang dilakukan adalah dengan cara mencari nya pada google, biasanya akan diarahkan pada situs mvnrepository.com. setelah selesai memilih versi berapa yang akan dipakai, klik pada tab gradle, lalu copy tulisan yang ada pada tab tesebut (misal)
compile group: 'com.zaxxer', name: 'HikariCP', version: '3.2.0'
kedalam dependencies, sehingga dependencies nya akan menjadi seperti ini
dependencies { // DB Connection Pool compile group: 'com.zaxxer', name: 'HikariCP', version: '3.2.0' }
Setelah project selesai dibuat, langkah selanjutnya adalah melakukan build project. caranya dengan mengetikkan
gradle build
pada console atau terminal. gradle build berfungsi untuk mengkompile code kedalam suatu jar file yang dapat dieksekusi. Apabile build berhasil makan akan muncul tulisan
BUILD SUCCESSFUL
Sumber
https://www.techopedia.com/definition/16359/build-tool
https://www.okedroid.com/2016/10/belajar-mengenal-gradle-di-android-studio.html
http://ansorpunya.blogspot.com/2014/12/memulai-spring-dengan-gradle.html
https://spring.io/guides/gs/gradle/#initial