Nederlands Minecraft Forum

Minecraft => Tutorials => Topic gestart door: remcov1 op 11 december 2017, 13:39:07

Titel: Bukkit/Spigot met Gradle
Bericht door: remcov1 op 11 december 2017, 13:39:07
(https://i.imgur.com/1AdJ0Xi.png)

Woordje vooraf
Sins ik weer ben begonnen met programmeren in bukkit, kwam ik er achter dat veel mensen vandaag de dag nogsteeds Maven gebruiken.
Natuurlijk is daar niks mis mee, maar er zijn andere vissen in de zee  ;)
Zelf gebruik ik al een tijdje Grade in java projecten en besloot er maar eens een mooie tutorial voor te maken voor de NMCF'ers.

PS om deze tutorial optimaal te kunnen volgen zorg dat je  intellij IDEA (https://www.jetbrains.com/idea/) hebt geinstalleerd.

Houdt er rekning mee dat:
- De $ tekens zijn ervoor om aan te geven dat het in terminal/command prompt moet, dus kopieer deze niet mee.
- Deze tutorial is niet voor mensen die nog nooit een plugin hebben geschreven ik leg niet uit hoe plugin.yml of hoe je moet beginnen met code in java


Wat is gradle
Gradle is een build systeem vergelijkbaar met maven.
De files waarin je werkt zijn niet geschreven in XML maar in groovy (http://groovy-lang.org/) dit zorgt erookvoor dat je in gradle zou kunnen scripten i.p.v. te gaan klooien met maven en ant.
Ook is gradle in veel situaties sneller met bouwen
Toon inhoud
Maven (macbook pro 2014) build time 14s +/-
Maven (i7 6700k) build time 8s +/-

gradle (macbook pro 2014) build time 5s +/-
gradle (i7 6700k) build time 2s +/-


Stap 1. Installeer gradle
Om aan de slag te kunnen gaan met gradle moeten we het eerst gaan installeren

Macintosh
Voor mac gebruikers download homebrew (https://brew.sh/index_nl.html)
na het installeren van homebrew doe
$ homebrew install gradle
Windows
De windows gebruiker kunnen gradle installeren met scoop
$ scoop install gradle
aangezien de meeste dit niet zullen hebben raadt ik aan om gradle te downloaden van deze pagina https://gradle.org/releases/ (https://gradle.org/releases/) (gebruik de complete variant).
Pak de zip file uit (gradle-X.X-all.zip) en verander de naam van de zip naar gradle
Kopieer de folder gradle naar de c:\ schijf.
Open windows verkenner -> rechtermuisknop op Deze pc -> eigenschappen ->(links) geavanceerde systeminstellingen -> (rechts onderin) omgevingsvariablen... -> zoek tussen systeemvariablen naar PATH -> selecteer path -> klik op bewerken -> nieuw -> en voer in "C:\gradle\bin" -> klik op OK en sluit alle vensters af
Om te checken of het is gelukt open cmd en type
$ gradle -v

stap 2. project aanmaken
Open intellij en start een leeg java project, voer een locatie en naam in en de ide zal te voorschijn komen.
Ga in de menubalk van intellij naar View -> Tool windows ->Terminal
Type de terminal/command prompt in $ gradle init

Stap 3. Voeg gradle toe aan intellij
Vaak zal intellij niet direct gradle herkennen sluit daarom het programma af en start het opnieuw op krijg je links onderin een popup
(https://i.imgur.com/jUWB7XC.png)
klik op import gradle project en klik op het volgende scherm op ok.
Ga in de menubalk van intellij naar View -> Tool windows -> Gradle
In je menubalk rechts op het scherm is nu een nieuw tabje gradle


Stap 4. inrichten project
Selecteer de src folder -> rechtermuisknop -> mark Directory as -> unmark as Source Root
Maak in de src folder een folder aan main en daarin een folder java
Selecteer de java folder -> rechtermuisknop -> mark Directory as -> Source Root
Maak in de src folder ook een folder aan genaamd resources (hier gaan plugin.yml, config.yml etc)


Stap 5. Bouw je project met gradle
Kopieer onderstaand code en plak dit in settings.gradle:
Verander de group (line 3.), version (line 4.), description (line 5.)
Verander ook destinationDir (line 13.) dit naar de path van je plugins folder (gebruik \\ in windows i.p.v. \ (dit vanwege escape van characters)


Stap 6. runnen
Maak in de java Source Root folder een package aan zoals je gewend bent een bukkit/spigot plugin te schrijven, plaats config.yml en plugin.yml in de resources folder.
Ga in Intellij naar gradle tab (rechts) en klik op Tasks -> other -> fatjar
Als je geen intellij gebruikt kan je ook $ gradle fatJar doen in de root directory van je project
Je plugin wordt gebuild (1ste keer duurt altijd iets langer)


Dit was me tutorial over Gradle, ik hoop dat jullie er wat aan gehad hebben, eventuele vragen / suggesties, tips kan hieronder gepost worden
Titel: Re: Bukkit/Spigot met Gradle
Bericht door: smessie op 11 december 2017, 14:33:19
Mooie tutorial!
Goedgekeurd.