Meer met Maven – Bye Bye Codehaus

In elke editie zal Robert Scholte een probleem voorleggen en deze oplossen met behulp van Apache Maven om meer inzicht te geven in Maven zelf en de vele beschikbare plugins.

Codehaus is de bakermat van talloze open source projecten die een belangrijke bedrage hebben geleverd aan de ontwikkeling voor voornamelijk Java projecten. Denk hierbij aan Sonar(Qube), XStream, Groovy, Jetty, XDoclet, EasyMock, Mule, Jackson en uiteraard Mojo. En dit is nog maar een kleine opsomming van de projecten die bij Codehaus ontwikkeld worden.

Het was half januari 2015 toen ik via de mail op de hoogte werd gebracht van de toekomst van Codehaus of beter gezegd: over het einde ervan.  De voornaamste reden is de opkomst van andere open source platforms, zoals Github en BitBucket in combinatie met de kosten om het platform in de lucht te houden.

In deze mail werd besproken dat de focus voor beëindiging op half februari 2015 lag, maar vrij snel daarna deed SonarSource, de organisatie achter SonarQube, een donatie voor drie maanden, zodat alle projecten (inclusief zijzelf) voldoende tijd hadden om te migreren naar andere omgevingen.

Om historische redenen maakte Apache Maven gebruik van het issuetracking systeem van Codehaus en niet van de Apache Software Foundation(ASF). Dat heeft al regelmatig tot verwarring geleid. Het Maven team was sowieso al bezig om haar issues bij de ASF onder te brengen en bovengenoemde ontwikkelingen hebben dit allemaal versneld. Momenteel zijn alle issues van het Maven project verplaatst van http://jira.codehaus.org naar http://issues.apache.org/jira en betekent dat het Maven project voortaan voor 100% gebruik maakt van de infrastructuur van de ASF.

Voor Mojo is het een iets complexer verhaal. We willen Mojo niet onderbrengen bij de ASF, want daar is de opzet van het project niet geschikt voor. Echter, we konden geen ander platform vinden dat zo compleet is Codehaus. Er werd besloten om het project onder een nieuwe naam te verdelen over meerdere systemen waarmee we in totaal weer beschikken over een vergelijkbare platform.

Onder welke naam het project verder zouden gaan, daar werden we het al vrij snel over eens: MojoHaus. Door de samenvoeging van Mojo en Codehaus hopen we gebruik te kunnen maken van de reputatie van beide namen. Zo kunnen we nog steeds goed vindbaar zijn.

Voor de sources was GitHub de meest voor de hand liggende keuze: er is een nieuwe organisatie opgericht onder https://github.com/mojohaus en dit zal de officiële nieuwe thuisbasis zijn voor de Mojo sources. De repository structuur zal ook flink veranderen. Bij Codehaus werd nog gebruik gemaakt van één subversion repository voor het gehele Mojo project, nu zullen er allemaal losse Git repositories ontstaan per plugin. Het MojoHaus-team beschikt over een svn-dump, maar deze is nog niet volledig overgezet naar Github en dat zal ook niet gebeuren. Dit is namelijk ook een mooie gelegenheid om afscheid te nemen van plugins die het niet meer waard zijn verder te onderhouden.

Github biedt al een eigen issue tracking system, dus daarvan zal voortaan gebruik gemaakt worden.

De documentatie is verplaatst naar http://www.mojohaus.org/ . Ook hier geldt: niet alle documentatie is overgezet. Ontbreekt er online documentatie van een voor jou waardevolle plugin, vraag het MojoHaus-team of het beschikbaar gemaakt kan worden. Voor de mailinglijsten zal gebruikt gemaakt worden van Google groups voor development aan de plugins via mojohaus-dev, terwijl voor gebruikersvragen naar users@maven.apache.org doorverwezen wordt.

Voor de build- en code quality servers kunnen we gebruik maken van de infrastructuur van Cloudbees.

Met het beëindigen van Codehaus eindigt een tijdperk van een prachtig open source platform, maar dat betekent niet dat de bijbehorende open source projecten ook eindigen. De meesten hebben al een ander “Haus” gevonden waar de ontwikkeling zal worden voortgezet.