Description
Vala currently uses scripts to compile and run, which has been working great so far, but it comes with a couple of limitations:
- Vala users must specify the dependencies that they want to use in the script command. Misspelling them would cause the language server to break
- When writing demo in Vala from the ground up, shebang is not included by default, and the users must copy/paste it from other demos. The language server does not read the shebang when it is added immediately, so the code would be filled with false errors until it catches up.
- Adding/removing a dependency from the shebang is not caught by the language server immediately, which leads to false errors.
Using Meson as build system would require choosing the dependencies beforehand, just as Rust does, saving the user the need to specify them themselves. This comes at the cost that the users would not be able to add other dependencies that may have available vapi
files, but this is something Rust has too and does not seem to be a problem.
Adding new demos that require new dependencies would force us to keep the build systems updated too, but I think Workbench has gotten to a point where pretty much all the libraries used in GNOME projects have been covered, so this will not occur frequently.
If porting Vala to Meson is viable, I can start working on this issue :)
CC @lw64