Skip to content
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

Create a Java parser wrapper #25

Open
fmvilas opened this issue Mar 19, 2019 · 21 comments
Open

Create a Java parser wrapper #25

fmvilas opened this issue Mar 19, 2019 · 21 comments

Comments

@fmvilas
Copy link
Member

fmvilas commented Mar 19, 2019

Implement a Java wrapper of the Go parser, by using the C shared object resulting from the compilation here: https://github.com/asyncapi/parser/blob/master/compile.sh.

It should be fairly straightforward to code but we need to make sure we understand how to compile C for different platforms and architectures.

References

@vadeg
Copy link

vadeg commented May 9, 2019

I think it is easier to implement a separate Java parser rather than wrap Go parser.

@fmvilas
Copy link
Member Author

fmvilas commented May 9, 2019

Sure, but then we'll have to maintain 2. If we keep growing, eventually we'll invest in creating a separate one. In the meantime, it's the easiest solution to provide Java support.

@gexclaude
Copy link

Is it still planned to implement this java wrapper around the AsyncAPI parser?

@fmvilas
Copy link
Member Author

fmvilas commented Oct 1, 2019

It's still planned but we don't have a date yet.

@github-actions
Copy link

This issue has been automatically marked as stale because it has not had recent activity 😴
It will be closed in 30 days if no further activity occurs. To unstale this issue, add a comment with detailed explanation.
Thank you for your contributions ❤️

@derberg
Copy link
Member

derberg commented Oct 5, 2021

Does it really make sense in 2021?

@gexclaude
Copy link

We did implement it in Java for our needs. We only took the schema and used standard java libraries to perform the validation of async api spec against the schema. Of course a Java Library providing model, parsing and validation would be awesome, but I think unless it comes with a model, there is no much benefit.

@derberg
Copy link
Member

derberg commented Oct 5, 2021

The problem is that not everything in AsyncAPI document can be validated with AsyncAPI JSON Schema. So we need a parser. Models could be generated with https://github.com/asyncapi/modelina maybe 🤔

Most important though is that it cannot just be my initiative. The best would be to have other companies work on it under AsyncAPI umbrella. I mean best if it is a work of folks that will actually use it in production. @gexclaude 😉

@gexclaude
Copy link

I see. Currently I no longer work for the customer where I've put AsyncAPI in place. At the moment I am not involved in projects where we can make use of AsyncAPI, therefore interest / benefit is not given right now. Maybe situation change and I'll be back contributing ;-)

@jason53
Copy link

jason53 commented Mar 23, 2022

We would definitely appreciate a Java library for parsing AsyncAPI spec files. We currently have some tooling for parsing the OpenAPI spec that uses the Java parser for OpenAPI. I can see us extending out tooling for AsyncAPI specs if the Java library were available.

@AayushSaini101
Copy link

@fmvilas @derberg I am interested in working on this project. let me know if i can work on the new parser : )

@fmvilas
Copy link
Member Author

fmvilas commented Dec 23, 2024

@AayushSaini101 please 🙏 That would be amazing.

@fmvilas
Copy link
Member Author

fmvilas commented Dec 23, 2024

@jonaslagoni had some ideas on how to semi-automate the generation of parsers in multiple languages. Is this documented somewhere, Jonas? Also, there's a Building Blocks Working Group that's currently stale but could be restarted by folks interested in pushing it forward.

@jonaslagoni
Copy link
Member

You can checkout some of the previous working group meetings on the AsyncAPI youtube, and then checkout https://github.com/jonaslagoni/asyncapi-python-parser which is how I did it for python, still need some love though

@AayushSaini101
Copy link

You can checkout some of the previous working group meetings on the AsyncAPI youtube, and then checkout https://github.com/jonaslagoni/asyncapi-python-parser which is how I did it for python, still need some love though

Thank you @jonaslagoni I am exploring references

@TusharMohapatra07
Copy link

@fmvilas Hey, i see that the development of parser go is stale. Are you guys looking for contributors for go parser? If yes, then i'd love to work on this project

@AayushSaini101
Copy link

@fmvilas Hey, i see that the development of parser go is stale. Are you guys looking for contributors for go parser? If yes, then i'd love to work on this project

@TusharMohapatra07 I am currently working on this project, I already created a skeleton, you can check another parser as well thanks for the support : )

@TusharMohapatra07
Copy link

@AayushSaini101 you working on go parser or java parser ?

@fmvilas
Copy link
Member Author

fmvilas commented Jan 10, 2025

@AayushSaini101 @TusharMohapatra07 I think you can both work together folks. There's a lot of work when creating a parser.

@TusharMohapatra07
Copy link

@fmvilas Yeahh works, now that @AayushSaini101 already developed the skeleton, we can collaborate on taking the parser forward

@AayushSaini101
Copy link

@fmvilas Yeahh works, now that @AayushSaini101 already developed the skeleton, we can collaborate on taking the parser forward

@fmvilas we are planning to put this project in GSOC that is upcoming, if this project gets selected it would be very nice, otherwise, we will build together thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants