-
Notifications
You must be signed in to change notification settings - Fork 0
OTP-28 support #2
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
Conversation
This adds inflex to our project, inflex have not had updates in 5 years, the source code here is from the branch https://github.com/warmwaffles/inflex/tree/master which make inflex otp28 compatible
Update all that are not high level depencies earmark_parser 1.4.42 => 1.4.44 ex_doc 0.37.3 => 0.38.2 (minor) makeup_erlang 1.0.1 => 1.0.2 mime 2.0.6 => 2.0.7 nimble_parsec 1.4.0 => 1.4.2 plug_crypto 2.1.0 => 2.1.1
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.
I skipped reviewing the Inflex code - I assume it was just copied from the fixed branch.
Some comments/questions:
- I see that we don't use
Inflex.*anywhere in the Legolas code - this means it is used only byja_serializerunder the hood? - I see some risks when it comes to usage of our
ja_serializerfork. We can miss some important updates or improvements... But it looks like bothja_serializerandinflexare abandoned 🤔 - I saw this comment saying that with 28.1 the issue should be solved. I assume we don't want to wait for it and continue with this PR?
- Maybe this issue would be worth updating with a comment saying something about also including
inflexin the fork alongside signifying that we will stick to the fork for a longer time 😏 Maybe the issue could be even closed?
Yes, its they only use we have of it now.
I agree, it's not optimal that we have a fork, but if
Hmm 🤔 that's a great point. We are for once very bleeding edge with our packages. I personally would like to get it before 28.1 - there is as far as I can see no ETA on it: https://github.com/erlang/otp/milestone/218.
I've updated the issue with a comment. In regards to whether the issue could be closed - under all circumstances we will need to continue on our own forks as long as nobody is actively maintaining |
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.
LGTM 🎉👍
This allows
ja_serializerto run on OTP-28, pulls inflex-lib directly into library, and updated dependencies, adds CI.OTP 28 support
Erlang/OTP 28 no longer allows regexes to be defined in the module body and interpolated into an attribute, this meant that the depency inflex cannot be compiled under OTP-28. there is an open pr which fixes the issue.
inflexnow part of ourja_serializerforkI've opted to remove
inflexas a dependency (Clone of the branch which fixes OTP 28 compatibility) and added it directly to ja_serializer see a41c595. 'inflex' have not been updated in 5 years see hex.pm.CI
workflow have been added, so we now executed the units test and lint on each push.
This required some code changes (credo and formatting)
Note: otp-28 elixir 1.17.x is excluded in matix (otp-28 is first supported from elixir 1.18.4
Deps
The deps have been updated as well