gradle Zelfstudie
Aan de slag met gradle
Zoeken…
Opmerkingen
Gradle is een open-source, algemene bouwtool. Het is populair in de Java-community en is de voorkeurstool voor Android .
Gemarkeerde Gradle-functies
- Declaratieve build-scripts zijn code geschreven in Groovy of Kotlin .
- Veel kern- en community-plug-ins die een flexibele, op conventie gebaseerde aanpak gebruiken
- Incrementele builds zodat taken waarvan de afhankelijkheden die niet zijn gewijzigd, niet opnieuw worden uitgevoerd.
- Ingebouwde afhankelijkheidsresolutie voor Maven en Ivy . Bijgedragen plug-ins bieden afhankelijkheidsresolutie van andere
repositories
zoals npm . - Eersteklas multi-project builds.
- Integratie met andere build-tools zoals Maven , Ant en anderen.
- Build-scans waarmee ontwikkelaars beter kunnen samenwerken en Gradle-builds kunnen optimaliseren.
Meer informatie
Als u meer wilt weten over Gradle-functies, kunt u kijken in het overzichtsgedeelte van de Gradle-gebruikershandleiding .
Als je Gradle wilt proberen, kun je hier de handleidingen bekijken . U kunt door een Java-snelstartgids lopen, leren hoe u Gradle voor het eerst gebruikt en migreren vanuit een ander build-hulpmiddel.
Gradle-installatie
Vereisten: Java JDK of JRE geïnstalleerd (versie 7 of hoger voor Gradle 3.x-versie)
Installatie stappen:
- Download Gradle-distributie van de officiële website
- Pak de ZIP uit
- Voeg de omgevingsvariabele
GRADLE_HOME
. Deze variabele moet verwijzen naar de uitgepakte bestanden uit de vorige stap. - Voeg
GRADLE_HOME/bin
aan uw omgevingsvariabelePATH
, zodat uGRADLE_HOME/bin
kunt uitvoeren vanaf de opdrachtregelinterface (CLI) - Test uw Gradle-installatie door
gradle -v
in de CLI te typen. De uitvoer moet de geïnstalleerde Gradle-versie en de huidige Gradle-configuratiegegevens bevatten
Meer informatie is te vinden in de officiële gebruikershandleiding
Installatie met homebrew op OS X / macOS
Gebruikers van homebrew kunnen gradle installeren door te rennen
brew install gradle
Installeren met SdkMan
Gebruikers van SdkMan kunnen Gradle installeren door te draaien:
sdk install gradle
Installeer specifieke versie
sdk list gradle
sdk install gradle 2.14
Schakel versies
sdk use gradle 2.12
Installeer Gradle-plug-in voor Eclipse
Hier zijn de stappen die nodig zijn om de Gradle-plug-in in Eclipse te installeren:
- Open Eclipse en ga naar Help -> Eclipse Marketplace
- Voer in de zoekbalk buildship in en druk op enter
- Selecteer "Buildship Gradle Integration 1.0" en klik op Installeren
- Klik in het volgende venster op Bevestigen
- Accepteer vervolgens de voorwaarden en licentieovereenkomst en klik vervolgens op Voltooien
- Na installatie moet Eclipse opnieuw opstarten, klik op Ja
Hallo Wereld
Gradle-taken kunnen worden geschreven met Groovy-code vanuit een build.gradle-bestand van een project. Deze taken kunnen vervolgens worden uitgevoerd met > gradle [taskname]
op de terminal of door de taak uit te voeren vanuit een IDE zoals Eclipse.
Om het Hello World-voorbeeld in gradle te maken, moeten we een taak definiëren die een tekenreeks naar de console afdrukt met Groovy. We zullen Groovy's printLn
om de methode System.out.printLn
Java aan te roepen om de tekst naar de console af te drukken.
build.gradle
task hello {
doLast {
println 'Hello world!'
}
}
We kunnen deze taak vervolgens uitvoeren met > gradle hello
of > gradle -q hello
. De -q
wordt gebruikt om gradle-logberichten te onderdrukken, zodat alleen de uitvoer van de taak wordt getoond.
Uitgang van > gradle -q hello
:
> gradle -q hello
Hello world!
Meer over taken
Allereerst: operator <<
(leftShift) is het equivalent van doLast {closure}
. Vanaf gradle 3.2 is het verouderd . Alle taakcode schrijft in een build.gradle .
Een taak vertegenwoordigt een atomair stuk werk dat een build uitvoert. Dit kan een verzameling van klassen zijn, een JAR maken, Javadoc genereren of sommige archieven naar een repository publiceren.
Gradle ondersteunt twee grote soorten taken: eenvoudig en verbeterd.
Laten we enkele taakdefinitiestijlen bekijken:
task hello {
doLast{
//some code
}
}
Of de:
task(hello) {
doLast{
//some code
}
}
Deze taken hierboven zijn equivalent. U kunt ook enkele extensies voor de taak dependsOn
, zoals: dependsOn
, mustRunAfter
, type
etc. U kunt de taak uitbreiden door acties toe te voegen na mustRunAfter
, zoals deze:
task hello {
doLast{
println 'Inside task'
}
}
hello.doLast {
println 'added code'
}
Wanneer we dit uitvoeren, hebben we:
> gradle -q hello
Inside task
added code
Vragen over taakafhankelijkheden en ordening worden hier onderzocht
Laten we het hebben over twee grote soorten taken.
Gemakkelijk:
Taken die we definiëren met een actiesluiting:
task hello {
doLast{
println "Hello from a simple task"
}
}
Enhanced
Verbeterd is het een taak met een vooraf geconfigureerd gedrag. Alle plug-ins die u in uw project gebruikt, zijn de uitgebreide of de verbeterde taken . Laten we de onze maken en u zult begrijpen hoe het werkt:
task hello(type: HelloTask)
class HelloTask extends DefaultTask {
@TaskAction
def greet() {
println 'hello from our custom task'
}
}
Ook kunnen we parameters als volgt aan onze taak doorgeven:
class HelloTask extends DefaultTask {
String greeting = "This is default greeting"
@TaskAction
def greet() {
println greeting
}
}
En vanaf nu kunnen we onze taak als volgt herschrijven:
//this is our old task definition style
task oldHello(type: HelloTask)
//this is our new task definition style
task newHello(type: HelloTask) {
greeting = 'This is not default greeting!'
}
Wanneer we dit uitvoeren, hebben we:
> gradle -q oldHello
This is default greeting
> gradle -q newHello
This is not default greeting!
Alle vragen over de ontwikkeling van gradle-plug-ins op de officiële site