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

Commit generated opcodes to remove the need for ruby? #2

Open
lqd opened this issue Apr 14, 2023 · 3 comments
Open

Commit generated opcodes to remove the need for ruby? #2

lqd opened this issue Apr 14, 2023 · 3 comments

Comments

@lqd
Copy link

lqd commented Apr 14, 2023

Hi 👋

Could the dependency on ruby be removed maybe, by e.g. committing the generated opcodes to the repository?

@playXE
Copy link
Owner

playXE commented Apr 14, 2023

Hi wave

Could the dependency on ruby be removed maybe, by e.g. committing the generated opcodes to the repository?

Hello! I would not remove it as opcodes might be changed in the future or new ones added, always rebuilding them manually is not a great idea IMO. What might be done instead is maybe rewrite the DSL in Rust itself, but it is a large task to do

@lqd
Copy link
Author

lqd commented Apr 14, 2023

I did not mean to rebuild them manually, only that the build script for example checked that an existing opcode_generated.rs is older than the opcode.opcodes file, and then automatically rebuild it.

That would allow to have the automation to keep the generated code up to date without needing to manually call the generator, while also allowing for people to use the library without ruby installed, which could also be achieved by publishing to crates.io with the generated opcodes there of course.

@playXE
Copy link
Owner

playXE commented Apr 14, 2023

I am not sure how to do that properly but that is definitely a great idea. If you have some examples on how to do it or could do a PR, I would love to see it. :D

Also, b3-rs is not yet on Crates.io, I am checking some stuff for proper functionality and then will probably publish 0.1.0 release.

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

No branches or pull requests

2 participants