-
Notifications
You must be signed in to change notification settings - Fork 1
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
feat: add builtin build step #18
Conversation
I decided to do something slightly controversial but I believe it's a good decision in the long run (cc @mrcjkb) - I decided to break the rocktree schema and implemented my own. Instead of the all-over-the-place directory structures I've now reduced a rock tree to the following:
All rocks have an associated version number and the directories that distinguish various parts of the rock are very clear-cut and easy to understand. Below are some extra bits of information about this change:
|
All the boilerplate is in place now... all that's left is fixing a weird deserialization issue that I can't figure out quite just yet. |
Leaving it as-is for now, I'm finding it hard to debug the issue :p |
This is ready to review now. Not all features are fully set in stone yet, for instance I need to figure out how to read source.defines and source.incdirs. Additionally, more |
rocks-lib/src/build/mod.rs
Outdated
config | ||
.lua_version | ||
.as_ref() | ||
.unwrap_or(&crate::config::LuaVersion::Lua51), |
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.
lua_version
should be read from a configuration file instead of defaulting to Lua 5.1 here :)
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.
Might also be nice to be able to set it from an environmen variable
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.
[review incomplete] To be continued at a later time 😃
rocks-lib/src/build/mod.rs
Outdated
config | ||
.lua_version | ||
.as_ref() | ||
.unwrap_or(&crate::config::LuaVersion::Lua51), |
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.
Might also be nice to be able to set it from an environmen variable
I recognize that some parts of the code are slightly smelly and imperfect (including the large amount of for loops hah), but I'm not afraid of aggressively refactoring this later down the line once I set up the test suite for this and any potential regression tests. I'm prioritizing development speed over beauty for the time being. |
…ibility in `build()`
…autodetect Lua modules
Co-authored-by: Marc Jakobi <[email protected]>
…gic under `rockspec`
Waiting for the CI to complete and I believe we can merge :) |
This PR will add a functional
builtin
build step for rocks.Additionally, this PR refactors a few bits and bobs related to the build process to make everything cleaner and more readable with less duplication :)