Члан 1: Креирати Gradle плагин од А до З са командом gradle init
Објављено 23 September 2025
Увод
Pokretanje novog projekta Gradle dodatka može da izgleda užasno. Na sreću, Gradle pruža moćan interaktivni asistent, zadatak`init`, koji generiše kompletnu, čistu i spremnu strukturu projekta. Ovaj vodič će vam pokazati kako koristiti ovaj alat da kreirate zdravu bazu dodatka, objasniće strukturu i pokazaće vam kako pokrenuti prve zadatke gradnje.
Корак 1: Покренути асистент пројекта
Komanda`gradle init`Je početna tačka. Ona pokreće komandni asistent koji vam postavlja seriju pitanja za podešavanje projekta.
Otvorite vaš terminal u praznoj mapi i pokrenite :
gradle init
Asistent će vas voditi. Evo izbora koji treba učiniti za Gradle plugin napisan u Kotlinu:
-
Izaberite tip projekta za generiranje:Izaberite`Gradle plugin`.
-
Izaberite jezik implementacije:Izaberite`Kotlin`.
-
Izaberite DSL za skriptu građenja:Изаберите`Kotlin`.
-
Назив пројекта :Unesite naziv vašeg projekta (primer:`site-baker`).
-
Идентификатор додатка:Дайте својој додатку јединствени идентификатор (пример:`com.cheroliv.site-baker`)
-
Plugin klasa:Navedite naziv klase implementacije (ex:`com.cheroliv.SiteBakerPlugin`).
Kada se završi, Gradle generira kompletno stablo datoteka.
@startuml start :Lancer `gradle init`; :Choisir "Gradle plugin"; :Choisir "Kotlin" (langage); :Choisir "Kotlin" (DSL); :Saisir nom, ID, et classe; :Projet généré; stop @enduml
Korak 2: Razumeti generisanu strukturu
Asistent kreira višemodularnu strukturu projekta, odvajajući korenski projekat od izvornog koda plugin-a samog.
.
├── gradle/
│ └── wrapper/
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── plugin/
│ ├── build.gradle.kts
│ └── src/
│ ├── main/
│ │ └── kotlin/
│ │ └── com/cheroliv/SiteBakerPlugin.kt
│ ├── test/
│ │ └── kotlin/
│ │ └── com/cheroliv/SiteBakerPluginTest.kt
│ └── functionalTest/
│ └── kotlin/
│ └── com/cheroliv/SiteBakerPluginFunctionalTest.kt
└── settings.gradle.kts
Fajlovi i ključni folderi
-
settings.gradle.kts`Ovaj fajl u korenu definiše module koji su uključeni u build. Ovde uključe podprojekat.`plugin.
[source,kotlin] ---- rootProject.name = "site-baker include("plugin") ----