Foto av Johan Eltes

Maven++ från Eclipse blir framtidens byggsystem?

// Johan Eltes

Projektet “Buckminster” från Eclipse är ett synnerligen efterlängtat svar på behovet av komponentbaserade bygg-miljöer med djup eclipse-integration. Buckminster kan beskrivas som Maven++, men med den unika möjligheten att integrera existerande komponentbaserade byggansatser - t.ex. Maven 2. Buckminster har sina egna beroende-baserade byggfiler - a la Maven. Men om man redan använder Maven för komponentbaserad utveckling, genererar Buckminster sina egna byggfiler från Maven, som ett del i byggprocessen. Buckminster låter m.a.o. Maven vara “master” för de komponenter som redan har en definierad byggmiljö, och ger helt transparent integration av dessa i Eclipse.

Buckminster versus Maven

Buckminster och Maven är kompletterande, men också överlappande. Buckminster har t.ex. inget motsvarighet till rapportgenerering. Maven saknar å andra sidan Buckminsters möjligheter att hantera beroenden till artifakter som inte är byggda i repositoriet - t.ex. xml-bindningsfiler. Med Buckminster kan man deklarera ett beroende till en jar-fil med genererade xml-bindningsklasser. jar-filen behöver inte finnas, utan är i sin tur beskriven som en komponent med ett internt beroende till det XML-schema + ev. JAXB-konfig-filer som är input till JAXB-generatorn. När Buckminster ska lösa upp beroendet, sker kompileringen. resultatet kan förhoppningsvis “cachas”… Buckminster har också en mer generell och öppen modell för att hantera komponentberoenden i förhållande till byggprocessens olika faser.

Buckminster integrerar den diversifierade floran av bygg-verktyg

Buckminster syftar till att homogenisera bygguppsättningen för byggen i Eclipse IDE och de byggen som körs i batch-mode -t.ex. drivet av CruiseControl eller andra verktyg för kontinuerlig integration.

Det finns flera likheter med ramverket Spring. Liksom Spring, erbjuder Buckminster ett väl genomtänkt koncept för att integrera en rad olika teknologier (jmfr Spring DI, Springs plattfomsabstraktioner) såväl som att det erbjuder implementationer av vissa mekanismer (jmfr Spring MVC).

Buckminster to-the-rescue

Maven har rationaliserat byggprocessen i många små och stora projekt, men har krävt mer än lovlig handpåläggning för att integrera väl i Eclipse. Med Buckminster får Eclipse IDE ett byggramverk som från början är gjort för den byggmodell Maven representerar.

Och detta vore väl inte ett blog-inlägg av mig, om inte SCA refererades! Buckminster är förstås gefundenes Fressen för den som sätter upp en arkitektur i linje med Service Component Architecture.

Vad är då haken? Well, versionsnumret är förnärvarande 0.10. men för den experimentlystne finns versioner att ladda ner för såväl Eclispe 3.2 och nyss släppta 3.3. Backminster är dessutom tillgänglig under “Europa” - samreleasen för Eclipse 3.3, som efterträder “Callisto” för 3.2.

Kommentarer