Dalam proses pengembangan CUBA, kami menggunakan ketiga alat pembuatan utama - kami mulai dengan Ant, kemudian beralih ke Maven untuk waktu yang singkat, dan sekarang kami menggunakan Gradle dan tampaknya kami akan tetap menggunakannya dalam waktu dekat.
Belum lama ini, Gradle 5.0 dirilis. Versi ini memiliki sejumlah besar fitur baru yang akan membantu pengembang menulis skrip yang lebih kompleks dan menyusun proyek mereka lebih cepat dan lebih mudah.

Kotlin DSL
Inovasi pertama adalah Kotlin DSL . Sekarang skrip build dapat ditulis dalam Kotlin, dan itu benar-benar mempercepat pekerjaan karena pelengkapan otomatis, pada dasarnya. Penyorotan kesalahan sintaksis dan hal-hal mudah lainnya dari IDEA juga berfungsi Tentu saja, IDEA juga mencoba melakukan semua ini untuk Groovy, tetapi pengetikan yang kuat membuatnya terasa. Disebutkan bahwa Kotlin DSL stabil, sehingga Anda dapat menggunakannya tanpa rasa takut.
Apakah saya harus beralih ke Kotlin? Tidak, itu tidak perlu, Groovy DSL akan didukung, tidak ditinggalkan. Selanjutnya, Anda perlu mempertimbangkan setiap proyek secara terpisah. Untuk menggunakan Kotlin DSL, Anda memerlukan Gradle 5 dan JDK minimal 8, untuk beberapa kasus ini mungkin tidak berlaku. Selain itu, Groovy memberikan fleksibilitas yang lebih besar dalam penulisan skrip karena kurang mengetik. Bagaimanapun, keputusannya tergantung pada pengembang, tetapi jika Anda masih memutuskan untuk beralih ke Kotlin, maka ada panduan migrasi .
Init interaktif
Sekarang, akhirnya, Anda tidak dapat menulis banyak tombol selama perakitan awal proyek, tetapi memilih jenis proyek, bahasa skrip pembuatan, dan bahkan kerangka kerja untuk pengujian dalam mode interaktif. Kami menulis gradit init - dan nikmati. Mendukung pembuatan proyek di Kotlin!
Kompilasi tambahan dan pemrosesan anotasi
Mekanisme kompilasi tambahan terus berkembang (termasuk memproses anotasi perpustakaan seperti Lombok) - tidak perlu mengkompilasi ulang semua kode. Anda dapat membuat tugas Anda sendiri yang mendukung kompilasi tambahan.
Proses build dipercepat karena untuk membangun cache, bekerja dengan memori dioptimalkan.
Pengujian FailFast - tes akan diluncurkan mulai dari kesalahan terakhir (jika ada, tentu saja).
Manajemen ketergantungan
Dukungan untuk file BOM - tepuk tangan!
Penyempurnaan aturan untuk mengganti versi dideklarasikan, Anda dapat menulis kode program untuk menangani kasus rumit khususnya langsung di file assembly . Di tempat yang sama - menonaktifkan dependensi transitif.
Anda dapat memaksa versi ketergantungan untuk diblokir dan mencegahnya agar tidak ditimpa oleh versi yang lebih lama.
Dan, selain segalanya, versi "pembekuan" didukung untuk dependensi.
API tugas baru
Proses peningkatan di bidang menciptakan tugas terus berlanjut. Ada beberapa hal baru yang pasti akan berguna bagi banyak orang.
Worker API , yang memungkinkan Anda untuk menjalankan tugas secara paralel dan dengan tingkat isolasi yang berbeda (bahkan pada JVM yang berbeda Anda bisa). Selain eksekusi paralel, Anda dapat membuatnya menunggu tugas lain selesai.
Timeout API - untuk mengatur waktu eksekusi maksimum untuk tugas tersebut.
Configuration Avoidance API - memungkinkan Anda untuk tidak membuat atau mengonfigurasi tugas yang masih belum akan dilakukan.
Untuk meringkas - alat yang baik bahkan lebih baik, untuk kotlin - terima kasih khusus, sekarang Anda dapat menulis semuanya di atasnya: front-end, back-end, klien seluler dan membuat skrip.