Pendahuluan

Sasaran: Pengembang yang ingin mulai membuat plugin Gradle.

Untuk mengembangkan plugin Gradle secara efektif, lingkungan pengembangan yang terkonfigurasi dengan baik adalah diperlukan. Pengaturan yang baik akan menghemat waktu Anda, mengurangi frustrasi, dan menjamin konsistensi build Anda.

Panduan ini fokus pada empat pilar penting :
  1. Le JDK(Java Development Kit), karena Gradle dan JBake berjalan di JVM.

  2. Un Lingkungan Pengembangan Terintegrasimodern (IntelliJ IDEA) dengan dukungan yang baik untuk Kotlin dan Gradle.

  3. Gradledia sendiri, untuk memulai proyek.

  4. JBake, mesin situs statis kita.

Komponen lingkungan pengembangan
@startuml
!theme plain
node "Mesin Pengembang" {
  component "JDK (JVM)" as JDK
  component "IntelliJ IDEA" as IDE
  component "Gradle (global)" as Gradle
  component "JBake (global)" as JBake

  IDE --> JDK : utilise
  Gradle --> JDK : utilise
  JBake --> JDK : utilise
}
@enduml

1. JDK: Mesin Gradle

Gradle adalah aplikasi yang berjalan pada Java Virtual Machine (JVM). Oleh karena itu, instalasi JDK adalah prasyarat mutlak.

Versi mana yang harus dipilih?

Disarankan untuk menggunakan versi Java LTS (Long-Term Support). Saat ini,JDK 17 ou JDK 21adalah pilihan yang sangat baik.

Installation via SDKMAN! (Direkomendasikan)

SDKMAN! adalah alat luar biasa untuk mengelola versi banyak SDK, termasuk Java dan Gradle.

Instal SDKMAN!

curl -s "https://get.sdkman.io" | bash source "$HOME/.sdkman/bin/sdkman-init.sh"

Menginstal versi JDK

# Pour lister les versions de Java disponibles sdk list java

# Pour installer Java 17 (par exemple, la distribution Temurin)
sdk install java 17.0.8-tem

Memeriksa instalasi

java -version

Anda seharusnya melihat versi yang baru saja Anda instal ditampilkan.

2. IDE : IntelliJ IDEA

Untuk pengembangan plugin Gradle dengan DSL Kotlin,IntelliJ IDEAadalah alat pilihan. Integrasinya dengan Gradle dan Kotlin tak tertandingi.

  • Edisi Komunitas :Gratis dan lebih dari cukup untuk memulai.

  • Edisi Ultimat :Berbayar, ia menawarkan fitur canggih untuk pengembangan web dan basis data

Unduh versi yang cocok untuk Anda dari situs JetBrains: https://www.jetbrains.com/idea/download/

IDE akan otomatis mendeteksi file Anda`build.gradle.kts` et settings.gradle.kts, menawarkan autocompletion yang kuat, navigasi dalam kode, dan alat debugging yang terintegrasi.

3. Gradle: Alat build

Meskipun setiap proyek akan menggunakan versi Gradle-nya sendiri melalui Gradle Wrapper, memiliki pemasangan Gradle global berguna untuk tugas seperti inisialisasi proyek baru (gradle init).

Instalasi via SDKMAN!

Seperti dengan JDK, SDKMAN! menyederhanakan instalasi Gradle.

Instal Gradle

sdk install gradle

Memverifikasi instalasi

gradle -v

Perintah ini akan menampilkan versi Gradle, Kotlin, Groovy dan JDK yang digunakan.

4. JBake : Generator situs statik

JBake adalah alat yang akan kita gunakan untuk mengubah file sumber kami (seperti ini) menjadi situs web statis. Memiliki instalasi lokal praktis untuk melihat pratinjau perubahan.

Instalasi via SDKMAN!

Seperti dengan alat lainnya, SDKMAN! adalah metode yang paling sederhana.

Pasang JBake

sdk install jbake

Memeriksa instalasi

jbake -v

Perintah ini akan menampilkan versi JBake dan informasi lingkungan Java yang ia gunakan.

5. Gradle Wrapper: Praktik terbaik yang mutlak

Setelah proyek Anda dibuat (yang akan kita lihat dalam artikel berikutnya), Anda tidak sebaiknya lagi menggunakan perintah global`gradle`. Sebaliknya, Anda akan menggunakanPenyiap Gradle(./gradlew), sebuah skrip yang termasuk dalam proyek Anda.

Mengapa?

  • Reproducibilitas :Le Wrapper memastikan bahwa setiap orang yang bekerja pada proyek (termasuk server CI/CD Anda) menggunakan persisversi yang sama dari Gradle, sehingga menghilangkan kesalahan build karena lingkungan yang berbeda.

  • Kesederhanaan :Tidak perlu menginstal Gradle secara manual untuk berkontribusi pada proyek.

Cukup mengklon repositori dan menjalankan`./gradlew`.

Sebuah perintah khas akan terlihat seperti ini:

# Ne pas faire : gradle build
# À faire :
./gradlew build

6. Docker dan Portainer : Untuk Builds yang Dapat Direproduksi (Opsional)

Meski tidak secara ketat diperlukan untuk menulis plugin, Docker dan Portainer adalah alat DevOps modern yang sangat memudahkan pembuatan build yang dapat direplikasi dan pengelolaan lingkungan Anda.

Instalasi Docker Engine

Docker memungkinkan Anda memaketkan aplikasi Anda dan dependensinya dalam sebuah kontainer.

Menginstal Docker melalui skrip resmi :

curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh

Mengelola Docker tanpa sudo (direkomendasikan) :

Tambahkan pengguna Anda ke grup`docker`.

sudo usod -aG docker $USER
docker run hello-world

Mengelola Docker dengan Portainer (GUI)

Portainer adalah antarmuka web ringan untuk mengelola kontainer Docker Anda.

Buat volume untuk data Portainer:

docker volume create portainer_data

Mulai kontainer Portainer :

docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

Anda sekarang dapat mengakses antarmuka Portainer di`https://localhost:9443`.

Kesimpulan

Lingkungan Anda sekarang siap ! Anda memiliki JDK, IDE yang paling sesuai, Gradle dan JBake. Dengan penambahan Docker, Anda juga siap untuk membuat build yang dikontainerkan dan dapat direproduksi. Dasar yang kuat ini akan memungkinkan Anda untuk fokus pada yang esensial: pengembangan plugin yang kuat dan berguna.

Dalam artikel berikutnya, kami akan menggunakan perintah`gradle init`untuk menghasilkan struktur dari proyek plugin pertama kami.

Artikel terkait