In the summertime...

Eclipse Xtext 2.19: Bau der Distribution erfolgt nun auf der neuen Eclipse-Infrastruktur JIRO

Karsten Thoms

© Shutterstock / miloje

Das Xtext-Team hat die Veröffentlichung von Xtext 2.19 bekannt gegeben. Wie üblich nimmt das Projekt am Eclipse Simultaneous Release teil, das mittlerweile quartalsweise erfolgt, und wird damit am 18. September in Eclipse 2019-09 enthalten sein. Neben der kompletten Aktualisierung des Technologie-Stacks wurde das Release erstmals auf der neuen Eclipse-Build-Infrastruktur gebaut.

Migration zur Build-Plattform JIRO

Das Eclipse-CBI-Team (CBI: Common Build Infrastructure) hat eine neue Build-Infrastruktur aufgebaut, zu der alle Eclipse-Projekte nach und nach migrieren. Sie heißt JIRO, was für Jenkins Instance Runnning on OpenShift steht. Dies wurde unter anderem deshalb nötig, weil der Managementaufwand der Jenkins-Instanzen mit der Anzahl der neuen Projekte (insbesondere durch die Aufnahme der Jakarta-EE-Projekte) enorm gestiegen war. Die neue Infrastruktur läuft auf einem Kubernetes Cluster auf OpenShift.

Das Xtext-Projekt hatte sich schon im vergangenen Jahr dazu entschlossen, sich als eines der ersten Pilotprojekte dafür zur Verfügung zu stellen. Dedizierte Jenkins-Pipelines wurden erstellt, welche auf der neuen Infrastruktur liefen. Während die Haupt-Buildjobs bereits lauffähig waren, gab es noch eine Reihe von Jobs für das Release Engineering, die migriert werden mussten. Außerdem wurde darauf geachtet, dass regelmäßig Builds gegen verschiedene Eclipse- und Java-Versionen erfolgen, um Inkompatibilitäten frühzeitig erkennen zu können.

Handlungsbedarf bestand in dieser Release-Periode vor allem auch, weil das Eclipse-Infrastrukturteam den Server, auf dem die Xtext Builds liefen, endgültig abschalten und dem OpenShift Cluster zufügen wollte. Nachdem neben Xtext auch alle anderen Projekte erfolgreich migriert wurden, ist dies mittlerweile erfolgt.

Tech-Stack-Aktualisierungen

Der vom Xtext-Framework verwendete Technologie-Stack ist nicht klein, und ständig erscheinen neue Releases der verwendeten Komponenten. Das Projekt versucht, möglichst dicht an den aktuellen Entwicklungen zu bleiben und die neuesten Versionen zu verwenden. Dass dies reibungslos funktioniert, muss natürlich zunächst getestet werden.

Erwähnenswert ist dabei die Aktualisierung der Google Guava Library auf die Version 27.1.0. In der zuvor verwendeten Version war ein Sicherheitsproblem identifiziert worden, das zu unbegrenzter Speicherallokation führen konnte. Dieses Problem ist für Xtext zwar irrelevant, da die betroffenen Klassen nicht verwendet werden, doch im Simultaneous Release ist die verwendete Guava-Version für alle teilnehmenden Projekte vorgegeben. Das Eclipse 2019-09 Release wird daher nur gegen Guava 27.1.0 gebaut.

Die zweite größere Änderung betrifft Gradle. Jedes Gradle-Release bringt Neuerungen, die bestehende Skripte zum Teil brechen. Dies mussten die Projektbeteiligten schon oft erfahren. Nun steht Gradle 6 vor der Tür, und es wurde daran gearbeitet, die Build-Skripte und Gradle-Plug-ins auf das Major Release vorzubereiten.

Mit der Aktualisierung auf LSP4J 0.8 wird nun die Version 3.14 des Language Server Protocols unterstützt. Die wesentliche Neuerung besteht darin, dass Language-Server nun über WebSocket angebunden werden können.

Die weiteren Aktualisierungen können in den Release Notes nachgeschlagen werden.

Ein kleines Release

Bedingt durch die Urlaubssaison und den akuten Handlungsbedarf im Build Engineering ist das Release 2.19 nach außen hin nicht umfangreich ausgefallen. Dementsprechend einfach gestaltet sich auch das Upgrade. Das Projekt hat sich aber weiter darauf vorbereitet, die nun besser skalierbare, dafür jedoch komplexere Build-Infrastruktur effektiv zu nutzen und den wachsenden Automatisierungsanforderungen gerecht zu werden.

Geschrieben von
Karsten Thoms
Karsten Thoms
Karsten is a software architect at itemis and part of the Xtext team. He strongly believes that Model Driven Software Development helps to be more efficient in mission critical projects.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: