Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Felix Becker
    @felixfbecker
    so yes
    but my primary concern is about the architecture of how to “pick” the right build server
    Ólafur Páll Geirsson
    @olafurpg

    Multible build servers shouldn't be a problem, most of the methods are easily aggregatable (lists, or single notifications).

    Requiring a config file to be committed to every repo to make it work is something we would need to avoid

    I agree

    Felix Becker
    @felixfbecker
    because if each client codes in assumptions about specific build servers, they might as well just use shared libraries instead of a shared IPC/RPC protocol
    Ólafur Páll Geirsson
    @olafurpg
    well, in vscode there are language-specific plugins who take care of starting the server
    Felix Becker
    @felixfbecker
    I see the benefit of BSP in the langserver just saying “give me the build targets”, “install dependencies for this one”, etc without having to care about what build system fulfills the request
    in Sourcegraph, the langservers are long-running services that act as a TCP server, accepting multiple connections
    How they are started is defined in their Dockerfile, they just need to expose LSP over a TCP socket
    Ólafur Páll Geirsson
    @olafurpg
    do you have suggestions for a reasonable architecture for picking build servers? For example, how to initiate a connection
    One of the applications I'm most excited about with BSP is a nice build-agnostic UI for running tests :D
    Ólafur Páll Geirsson
    @olafurpg
    I had imagined that it would be possible to auto-detect which build tools are used in a repo (package.json, build.sbt, BUILD, ...) and have a tiny shared library for establishing the connection with those build tools (via exec or sockets)
    anyways, I gotta go, thanks for the chat @felixfbecker ! I will think more about your questions and it would be good to update the introduction/FAQ of bsp.md to answer some of those questions up-front!
    Felix Becker
    @felixfbecker
    What do you think of my idea above of having a master server?
    Thanks for the chat!
    Ólafur Páll Geirsson
    @olafurpg
    It's an interesting idea, the master server could replace that shared library for establishing connections with the various build tools
    Felix Becker
    @felixfbecker
    I think a shared library won't work because you would have to a) implement it in all languages and b) keep it up-to-date in all language servers
    Ólafur Páll Geirsson
    @olafurpg
    I like the thought of One True Way to connect to The Build Server :smile:
    Felix Becker
    @felixfbecker
    Would you be up to hop on a call sometime next week to discuss?
    Jorge
    @jvican
    Interesting discussion. I would be happy to! :smile:
    Felix Becker
    @felixfbecker
    Awesome. What timezone are you in?
    Jorge
    @jvican
    This week I’m in New York. In two weeks I should be back in CET (Zurich)
    Felix Becker
    @felixfbecker
    Cool, I’m in San Francisco (PST). Although in 6 weeks I’ll be back in CET (Germany).
    Would tomorrow 2pm your time work?
    Jorge
    @jvican
    Actually no, what about we find a place on Wednesday/Thursday?
    Laurent Le Brun
    @laurentlb
    Thanks for starting this protocol, it looks very interesting!
    Felix Becker
    @felixfbecker
    @jvican sure, any time you prefer?
    Jorge
    @jvican
    @laurentlb I think the protocol will benefit tools like Bazel or Pants, esp with regards to integrations with IntelliJ and other editors :smile:
    @felixfbecker after checking my schedule, i just realized that friday is the best time i can meet
    i'm at a conference so on wednesday/thursday i'm not sure i'll be able to find a slot among all the talks
    Jorge
    @jvican
    i'm available all day on friday, since @olafurpg may want to join, let's ask him what's the time that works best for him since it'll likely be in his afternoon
    Ólafur Páll Geirsson
    @olafurpg
    I'll leave it to you guys to sync @jvican @felixfbecker :)
    Laurent Le Brun
    @laurentlb
    @jvican Yes! Did you contact teams developing other editors? (e.g. VS Code)
    Felix Becker
    @felixfbecker
    @olafurpg would love to chat with you too!
    Jorge
    @jvican
    @laurentlb Not yet, I hope we can approach them once we've further develop the protocol and have some success stories to share
    Laurent Le Brun
    @laurentlb
    I think it can be useful to have early feedback.
    Laurent Le Brun
    @laurentlb
    Regarding "PublishDiagnosticsParams": this means a build system should parse the compiler output (or get the structured information somehow), right?
    Ólafur Páll Geirsson
    @olafurpg
    @laurentlb I agree it would be valuable to have feedback from the LSP/VS Code developers. There is some related discussion in https://github.com/Microsoft/language-server-protocol/issues/472#issuecomment-387416447 and https://github.com/Microsoft/language-server-protocol/issues/470#issuecomment-387364987 but it would be good to have a more organized discussion.
    For PublishDiagnosticsParams it's expected that the build tool provides rich metadata for compiler output such as position ranges and message contents. It's up to the build tool whether that's parsed from console output or extracted from a compiler API
    There exist tools to parse compiler output such as http://www.flycheck.org/en/latest/languages.html#flycheck-languages
    Laurent Le Brun
    @laurentlb
    Thanks!
    Laurent Le Brun
    @laurentlb
    Cool, there's now a tracking bug for BSP in VS Code: Microsoft/vscode#52462
    kerr
    @hepin1989
    Bsp will support Java too?
    Seems like so
    Justin Kaeser
    @jastice
    it already does
    Simon Soriano
    @simon0191
    Hi, I'm interested on the protocol. Is this still an active project?
    Ólafur Páll Geirsson
    @olafurpg
    @simon0191 hei! This project is active and used by both the IntelliJ Scala plugin and Metals , a Scala language server
    Shane Delmore
    @ShaneDelmore
    I was just browsing the bsp github repo and noticed bsp4j. Is there a java language server that is compatible with BSP?
    Ólafur Páll Geirsson
    @olafurpg
    This message was deleted
    @ShaneDelmore there are two implemented clients, IntelliJ Scala and Metals, that currently use bsp4j
    Shane Delmore
    @ShaneDelmore
    :thumbsup: