-
Notifications
You must be signed in to change notification settings - Fork 519
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tweak manifest plugin to return ELP compatible information. #2910
Conversation
Since this provider was marked as experimental I don't see big problems with changing the format. That none of the tests captured it does point to some of these tests eventually needing some hardening, particularly to get out of experimental mode. |
That's exactly the plan. One thing we're considering is if we shouldn't simply output JSON, easier for tools to consume, given that OTP 27 comes with it. Of course we'd have to detect whether the |
Yes, should output json I think. Or at least take a |
8201256
to
9353ecb
Compare
format_error(no_json_module) -> | ||
io_lib:format("The 'json' module is not available. Either upgrade to OTP 27 or use a different format.", []); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Either upgrade to OTP 27 or newer, or select a different output format." maybe
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed the spelling, thanks.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems good to me at this point, anything else you wanted on this or it's ready to go?
Ready to go for now. |
@ferd Not terribly urgent, but what's the ETA for the next rebar3 release? |
Yeah I'm probably due to cut a new one. Will try it this week, next week at the latest. |
3.24.0 was just released: https://github.com/erlang/rebar3/releases/tag/3.24.0 |
Starting the discussion around the actual format to use in the
manifest
plugin.For the time being, instead of returning the raw context, I'm basically adopting the same format previously adopted by the
build_info
plugin, used by the ELP language server. Using the same format avoids changes to ELP itself.I am also adding a
json
format to make it easier for tools to consume the information.Test Plan
Generate build information for the Erlang LS repo via ELP (internally using the
build_info
plugin):Locally modify ELP to use the
experimental manifest
plugin instead, then:Finally compare the two generated files:
The only difference, for each application, is:
This should not be an issue, but we can double check that as a follow-up.