gradle | |
---|---|
Sorts | bygga automationsverktyg [d] |
Skrivet i | Java , Groovy [2] och Kotlin |
Operativ system | plattformsoberoende |
Första upplagan | 2007 |
Hårdvaruplattform | Java Virtual Machine |
senaste versionen | |
stat | aktiva |
Licens | Apache License 2.0 [3] |
Hemsida | gradle.org _ |
Mediafiler på Wikimedia Commons |
Gradle är ett automatiserat byggsystem byggt på principerna för Apache Ant och Apache Maven , men tillhandahåller DSL i Groovy och Kotlin istället för den traditionella XML -liknande formen av projektkonfigurationsrepresentation.
Till skillnad från Apache Maven , som är baserad på projektets livscykelkoncept, och Apache Ant , där ordningen för utförandet av uppgifter (mål) bestäms av beroenden (beroende på), använder Gradle en riktad acyklisk graf för att bestämma ordningen i vilka uppgifter som utförs.
Gradle designades för utökningsbara flerprojektsbyggen och stöder vattenfallsutvecklingsmodellen , som avgör vilka delar av byggträdet som inte har ändrats och vilka uppgifter som är beroende av dessa delar som inte behöver startas om.
De huvudsakliga plugins är för att utveckla och distribuera Java , Groovy och Scala- applikationer, men det finns plugins för andra programmeringsspråk : C++ , Swift , Kotlin och även Spring- projekt med Spring Boot.
Den har sin egen Gradle Daemon [4] - en bakgrundsprocess för att påskynda uppbyggnaden av projektet.
1. Vi går till nedladdningssidan Arkiverad 31 oktober 2021 på Wayback Machine och väljer en bekväm metod för installation i ditt operativsystem.
2. Ställ in miljön för att arbeta med Gradle genom att ställa in miljövariabler.
3. Verifiera installationen genom att skriva på kommandoraden för att få versionsnumret:$ gradle -v или $ gradle -h - для помощи в работе программы.
Låt oss titta på ett exempelprojekt som använder Mavens standardkatalogstruktur för källkoder och resurser.
Denna struktur innehåller följande kataloger:
Allt! Projektet har skapats och nu kan det öppnas i vilken IDE som helst och arbeta direkt med de genererade katalogerna och filerna.
Låt oss hitta Gradle-byggfilen för vårt projekt längs vägen /app/build.gradle:
plugins { // Använd applikationsplugin för att lägga till stöd för att bygga en CLI-applikation i Java. id 'applikation' } repositories { // Använd Maven Central för att lösa beroenden. mavenCentral () } beroenden { // Använd JUnit-testramverket. testImplementation 'junit:junit:4.13.1' // Detta beroende används av applikationen. implementering 'com.google.guava:guava:30.0-jre' } ansökan { // Definiera huvudklassen för applikationen. mainClass = 'mainProject.App' }Låt oss bygga projektet med kommandot gradle build:
> gradig byggnad :compileJava :processResources :klasser :burk :montera :compileTestJava :processTestResources :testklasser :testa :kolla upp :bygga BYGGA FRAMGÅNGDen färdiga jar-filen kommer att finnas i /app/build/libs: app.jar
Rensa upp de inbyggda filerna med kommandot: gradle clean
För att köra denna jar från kommandoraden, låt oss lägga till dessa rader i filen build.gradle (javaversionen och vår huvudklass):
java { sourceCompatibility = JavaVersion . VERSION_1_8 targetCompatibility = JavaVersion . VERSION_1_8 } burk { manifest { attribut ( 'Main-Class' : 'mainProject.App' ) } }Vi bygger projektet igen med kommandot gradle build -> gå till katalogen /app/build/libs och skriv: java -cp . -jar app.jar
Vi borde se hälsningen "Hello, World!".
Du kan se alla uppgifter genom kommandot: gradle tasks
Du kan se alla beroenden för barnappsprojektet med kommandot: gradle app:dependenties
Java -pluginen emulerar Maven- livscyklerna som uppgifter i en riktad acyklisk beroendegraf för ingångarna och utgångarna för varje uppgift. I det här exemplet beror utförandet av bygguppgiften på resultatet av kontroll- och monteringsuppgifterna . Kontrollera också uppgiften beror på testet , och monteringen beror på burken .
Gradle tillåter också projekt att använda en katalogstruktur som skiljer sig från Maven- konventionen . Följande exempel kommer att överväga ett projekt där källkoden finns i katalogen src/java istället för src/main/java .
bygga.gradle
tillämpa plugin: 'java' sourceSets { huvud { java { srcDirs = [ 'src/java' ] } } }
För applikationer som består av moduler är det bekvämt att använda Gradle - multiprojektmetoden:
- Utföra uppgifter i byggskedet ( testning, rapportering, loggning, etc. / resor till (nätverk | tjänster), i allmänhet allt som alla program kan göra )
- Sammansättning av beroende bibliotek i projektet för uppbyggnad, distribution av åtkomstgraden (som åtkomstmodifierare i programmeringsspråk) inuti den exekverande koden
Monteringsautomationssystem | |
---|---|