Ternary Expressions & try-with-resources

Eclipse Xtext 2.18: Erweiterung der Xtend Sprache und gesicherte Builds

Karsten Thoms

© Shutterstock / Carsten Reisinger

Das Team um Project Lead Christian Dietrich hat die Version 2.18 des Language Development Frameworks Eclipse Xtext veröffentlicht. Dieses Version ist ebenfalls Teil des Eclipse Simultaneous Release 2019-06, das am 19. Juni erschienen ist.

Neu in Xtend: Ternary Expressions & try-with-resources

Mit der aktuellen Version hat die Programmiersprache Xtend, die Teil des Xtext-Projekts ist, nützliche aus Java bekannte und geschätzte Features gelernt: Ternary Expressions und try-with-resources.

Mit Ternary Expressions können if-else-Bedingungen kürzer ausgedrückt werden. Statt

   if(condition) “thenValue” else “elseValue”

kann dies ab sofort auch wie folgt geschrieben werden:

   condition ? “thenValue” : “elseValue”

Mit try-with-resources können Ressourcen automatisch geschlossen werden, ohne sie extra in einem finally-Block zu behandeln:

   try (val resource = new StringReader("This \n is a text!"))
      return resource.read
   }

Dabei unterstützt der Xtend Compiler auch per Konfiguration Java-Versionen, die diese Konstrukte noch nicht unterstützen und erzeugt äquivalenten Code in Java.

Verbessertes Rename Refactoring

Das Rename Refactoring wurde überarbeitet und erlaubt nun den Abbruch langläufiger Refactoring-Operationen. Außerdem konnte der Speicherbedarf dieser Operation verringert werden, indem nicht benötigte Ressourcen frühzeitig freigegeben werden.

Language Server Protocol Support

Die Unterstützung von Language-Servern wurde durch das Upgrade auf die neueste LSP4J-Version 0.7.2 auf den letzten Stand gehoben.

Bei Multi-Project-Builds, die abgebrochen werden, wird nun das Build-Ergebnis bereits erfolgreich gebauter Teilprojekte berichtet. Damit können Listener, die sich beim BuildManager registriert haben, über die Ergebnisse von Teilprojekten informiert werden.

Entwickler von Language Server Extensions können nun über das Interface ILanguageServerAccess auf den Zustand des Xtext-Index zugreifen, um über alle bekannten Xtext-Ressourcen Informationen zu erhalten.

Absicherung von im Build verwendeten Artefakten über HTTPS

In vielen Projekten werden während eines Builds Artefakte u.a. über HTTP ohne TLS heruntergeladen. Der Security Researcher Jonathan Leitschuh hat es sich zur Aufgabe gemacht, die Repositorys von Open-Source-Projekten zu durchforsten und nach Indikatoren für die Verwendung von HTTP in gängigen Build-Deskriptoren (Maven pom.xml-Dateien, Gradle etc.).

Das Xtext-Team hat diese, wenn bisher auch wohl eher theoretische, Bedrohung ernst genommen und sämtliche Sourcen und Build-Jobs untersucht, damit ausschließlich Downloads über HTTPS erfolgen. Unabhängig davon werden alle Xtext-Artefakte seit jeher schon signiert, sodass Korruptionen von bezogenen Artefakten an sich nicht möglich sein sollten.

Die vollständige Liste aller Neuerungen sind in den Release Notes zu Xtext und Xtend zu finden. Außerdem verrät Sebastian Zarnekow in seinem Blog-Post ein paar zusätzliche Details.

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: