Informator Utbildning

Varför är Gradle så bra?

Pressmeddelande   •   Feb 01, 2013 14:06 CET

På bilden: Jens Riboe
I begynnelsen var det make. Dvs i Javas barndom (a.k.a. 90-talet) fanns bara Unix/Linux make för att bygga/sammanfoga programsystem. Detta var ju ett problem för ett plattforms-oberoende språk som Java.

Apache Ant
Kring millennieskiftet och när XML var som hetast, kom så Ant. Via en konfigurationsfil i XML kunde man beskriva en stor mängd byggtekniska steg. Allt från att kompilera ett gäng Java klasser, peta in dem i en JAR fil, stoppa in denna plus mycket annat webbrelaterat i en WAR fil, hämta eller lämna data i en SQL databas, koka kaffe - äh, nä kanske inte just det, men mycket annat.

Ant tog Java världen med storm. Ant växte sig större och större, och en dag var Ant jättestor. Medan de andra ..., nä stopp - tillbaka i spåret. Det som vi alla noterade med varierande grad av frustration, var att varje gång man kom till ett nytt projekt så behövde man läsa in sig på bygg dokumentationen.

Hur gjorde man nu för att bygga systemet? Var det ant build, ant make, ant package, ant assembly, ant doit, ant fixit, eller bara kort och gott ant? Och, hur körde man de där unit testen? Och var ska man lägga alla 3-parts JAR filer? Och hur ska dessa packas upp med rätt namn-standard? Åh, föresten; var i hela friden ska jag lägga mina Java klasser? Alla som var med, minns detta.

Apache Maven
Så kom Maven i 2004 och gjorde rent hus med Ant. Maven innebar en smärre revolution i vår del av den programmerar-tekniska världen, genom att införa (1) standardisering och (2) konfigurering via konventioner, samt störst av dem alla, (3) automagisk hantering av 3-parts JAR filer.

Dessutom avslutade Maven debatten huruvida man har tid med dokumentation eller ej. Alla kunde nu köra kommandot mvn site och få den mest tjusiga webbplats med JavaDocs för alla klasser, unit-test rapporter, källkods-listningar, listning av alla 3-parts beroenden, instruktioner om hur och var man checkade ut koden och mycket annat.

Standardisering och konfigurering

Förvånansvärt snabbt lärde vi oss alla att placera Java klasser under src/main/java och test-klasser under src/test/java och resurs-filer under src/main/resources. Samt, ville man kompilera skrev man mvn compile, att bygga hela systemet var lika enkelt med mvn package och då kördes dessutom alla unit-test som en extra bonus.

Läs hela inlägget med kodexempel av Jens Riboe här

Informator är Nordens största kompetensutvecklare inom IT och projektledning. Våra kurs- och certifieringscenter finns i Stockholm, Göteborg och Malmö. www.informator.se