AdaCore / ada_language_server

Server implementing the Microsoft Language Protocol for Ada and SPARK
GNU General Public License v3.0
226 stars 54 forks source link

Alire community index is not up to date regarding the Ada Language Server #1167

Closed dalybrown closed 8 months ago

dalybrown commented 8 months ago

I'm not sure if this is the correct place to raise this issue, but the version of the Ada Language Server in the Alire community index is out of date with respect to the released in GitHub.

The latest version of the language server (as of writing this) in the community index is 23.0.0: https://github.com/alire-project/alire-index/tree/stable-1.2.1/index/ad/ada_language_server.

There is an alternate index managed here that is more up to date: https://github.com/reznikmm/als-alire-index/tree/main/index/ad/ada_language_server.

I think the fragmentation is confusing: the community index should be kept up to date and reflect the latest releases. Otherwise, developers will just abandon it. It's also not quite clear to me why there are multiple indices managing the same sources. I feel that just creates more work.

The reason it's important to me is that I develop on a Mac M1 (well, linux/arm64 in a docker container on a Mac M1) and I have to build the language server myself for use with VS Code. I like to keep up to date on it, which means having to use another developer's index or my own private one. That seems to be against the whole concept of the Alire ecosystem and community index.

I'm happy to help automate building / publishing the Ada Language Server to the community index. I feel like it should be an automated job as part of the release process.

reznikmm commented 8 months ago

AdaCore traditionally contributes its libraries to the Alire index once a year, usually in late autumn (last updated on October 31, 2022). The Ada Language Server's codebase involves a multitude of dependencies. Releasing full versions of the server and its dependencies more frequently would incur substantial costs and effort. Acknowledging the community's demand for more frequent server updates, I established my personal index. This index enables me to create server builds more regularly, relying on periodic snapshots of dependency source code rather than complete releases.

In essence, the personal index serves as a pragmatic solution, allowing for quicker iterations in server development. From my perspective, there's no inherent drawback to having separate indices. The standard Alire index ensures stability by offering reliable, well-tested versions of software components. In contrast, the personal index facilitates the assembly of the server by providing access to more recent, albeit less stable, versions of crates.

I appreciate your raising this concern; it prompts us to consider potential improvements. We will explore ways to enhance the existing setup, taking into account the community's need for more up-to-date Ada Language Server builds. Thank you for your understanding and patience as we work towards a more streamlined solution.

dalybrown commented 8 months ago

Sounds good!

The biggest issue for me is that the VS Code extension not in sync with the Ada Language Server version in the community index. Presumably it is AdaCore authoring (or you personally?) the extension so it would be nice to keep the community index of the language server in sync.

Regardless, I appreciate the effort in keeping your index up to date!