Nicht nur für Scala-Tools: Build Server Protocol 1.0.0 ist fertig
Die Version 1.0.0 des Build Server Protocol (BSP) ist nun verfügbar. Es soll die Integration zwischen Language Server und Build-Tools deutlich verbessern.
- Frank-Michael Schlede
Der im Scala Center in der Schweiz als Computer Science Engineer tätige Jorg Vincente Cantero hat in einem Blogpost auf der Scala-Webseite die Verfügbarkeit der Version 1.0.0 des Build Server Protocol bekanntgegeben. Er bezeichnet es dabei als der Ergebnis einer engen Zusammenarbeit zwischen dem Scala Center und Justin Kaeser, der als Entwickler bei JetBrains für den sbt-Support in der Entwicklungsumgebung IntelliJ IDEA verantwortlich ist. Zudem hebt er hervor, dass dieses Projekt rund um das Build Server Protocol nach seiner Einschätzung die Arbeit der Entwickler grundsätzlich deutlich vereinfachen wird.
Das Build Server Protocol – Client/Server-Ansatz für die Integration
Das Ziel dieses nach Aussagen der Entwickler stetig weiter voranschreitenden Projekts besteht grundsätzlich darin, die Integration zwischen den Server/Editoren für die Programmiersprachen und den Build-Tools zu verbessern und zu vereinfachen. In der aktuellen Version ist das Protokoll zwar nach ganz auf den Einsatz mit Scala ausgerichtet, aber die Entwickler betonen ausdrücklich, dass dieses Protokoll so entwickelt wurde, dass es nicht an eine bestimmte Programmiersprache gebunden ist (sprachagnostisch). Darum fordern sie auf der GitHub-Seite zu BSP auch explizit Drittanbieter aus dem Umfeld anderer Programmiersprachen auf, sich an der weiteren Entwicklung zu beteiligen.
Ihr Ziel definieren die Entwickler von Scala und JetBrains dann auch klar mit dem Ausspruch "Any IDE, Any Build Tool". Sie erläutern dazu unter anderem, dass jede IDE traditionell eine spezifische, maßgeschneiderte Integration für jedes Build-Tool besitzt, das sie unterstützt. Das ist allein deshalb notwendig, damit die IDE die notwendigen Informationen wie Klassenpfade oder Quellverzeichnisse für jedes Projekt extrahieren kann. Nur so kann sie den Entwicklern dann eine Arbeitsumgebung bieten, in der sie den Scala-Code durchsuchen, schreiben und auch kompilieren können. Gleichzeitig wird von allen Build-Werkzeugen erwartet, dass sie mit allen verfügbaren IDEs zusammenarbeiten können.
Die stetig steigende Zahl von Language-Servern und Build-Tools bedeutet deshalb für die Entwickler solcher Werkzeuge, dass sie immer mehr Zeit für eine solche Integration aufwenden müssen. Das Build Server Protocol soll dabei helfen zu standardisieren, dass Protokoll für die Art und Weise wie die Build-Tools (Server) und IDEs (Clients) miteinander kommunizieren. Im Idealfall kann dann ein einzelner Build-Server zusammen mit unterschiedlichen IDEs genutzt werden, und die IDEs können die entsprechenden Tools mit geringem Aufwand nutzen.
Von Microsoft gelernt
Im Blogeintrag können interessierte Entwickler dann auch noch nachlesen, in welcher Beziehung das BSP zu Microsofts Language Server Protocol (LSP) steht, das ein ähnliches Konzept von Language Server und Editoren verwendet. Entwickler, die dabei helfen wollen, BSP in ihren favorisierten Editor oder in ihre bevorzugte IDE zu integrieren, sollten dem Gitter-Channel scalacenter/bsp beitreten. (fms)