-
Notifications
You must be signed in to change notification settings - Fork 0
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
Add initial version of redis-codegen #1
base: main
Are you sure you want to change the base?
Commits on Jun 11, 2022
-
Add initial version of redis-codegen
redis-codegen generates medium level API interfaces based on the redis command documention provided as commands.json from the redis-doc repository. Currently the generated commands still use the implement_commands macro and are included using the include macro. There are some breaking changes trough this. All shorthand medium level commands from the old definition needs to be moved out and reimplemented. Probably named as high level api.
Configuration menu - View commit details
-
Copy full SHA for 635f476 - Browse repository at this point
Copy the full SHA 635f476View commit details
Commits on Jun 13, 2022
-
Add support for multiple tag through slices
This also adds _single fn variants that do not take a slice, as a shorthand.
Configuration menu - View commit details
-
Copy full SHA for 1693f92 - Browse repository at this point
Copy the full SHA 1693f92View commit details
Commits on Jun 16, 2022
-
Remove the usage of the implement_commands!() macro
redis-code now generate a single module per type of implementation. The traits Commands and AsyncCommands are implemented in the commands and async_commands module. Cmd gets a additional implementation in the command module. The same holds for pipeline and cluster_pipeline. Token enum generation is WIP.
Configuration menu - View commit details
-
Copy full SHA for c2fda18 - Browse repository at this point
Copy the full SHA c2fda18View commit details
Commits on Jun 19, 2022
-
Improve handling of block arguments
We generate a tuple based interface for block arguments now. This is over specific, but should provide a stricter API.
Configuration menu - View commit details
-
Copy full SHA for afde254 - Browse repository at this point
Copy the full SHA afde254View commit details
Commits on Jun 22, 2022
-
Configuration menu - View commit details
-
Copy full SHA for b1b1fbd - Browse repository at this point
Copy the full SHA b1b1fbdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2da46c3 - Browse repository at this point
Copy the full SHA 2da46c3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 944fba6 - Browse repository at this point
Copy the full SHA 944fba6View commit details -
Remove some of the warning in generated files.
Add allow deprecated to commands.rs Add docs to tokens.rs
Configuration menu - View commit details
-
Copy full SHA for fc18c4d - Browse repository at this point
Copy the full SHA fc18c4dView commit details -
Configuration menu - View commit details
-
Copy full SHA for e0cab8b - Browse repository at this point
Copy the full SHA e0cab8bView commit details -
This test is ignored by default similar to the sync_schemas command of opentelemetry-rust. This test can be used to update the commands.json
Configuration menu - View commit details
-
Copy full SHA for a88af98 - Browse repository at this point
Copy the full SHA a88af98View commit details -
Configuration menu - View commit details
-
Copy full SHA for 15807e1 - Browse repository at this point
Copy the full SHA 15807e1View commit details
Commits on Jun 30, 2022
-
Rename token generator to type generator
This also fixes some logical flaws with the previous implementation. Previously when two types hat the same token name or in the worst case the same argument name, an identical type was created. This adds a TypeRegistry which creates a submodule when such an duplicate type is encountered. It also helps to resolve types when generating code. This solution is pretty regarding the names of modules, but at least this works for now.
Configuration menu - View commit details
-
Copy full SHA for c41ff7f - Browse repository at this point
Copy the full SHA c41ff7fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3206673 - Browse repository at this point
Copy the full SHA 3206673View commit details
Commits on Jul 24, 2022
-
Add first version of commands.json build script
Redis Maintainers asked to use the output of a working redis instance to generate the commands.json ourselves. This adds a built_commands_json module which is a more typesafe copy of the python script redis uses to generate the commands.json in the docs repo.
Configuration menu - View commit details
-
Copy full SHA for 5ea39e4 - Browse repository at this point
Copy the full SHA 5ea39e4View commit details
Commits on Aug 24, 2022
-
This adds support to automatically generate cursor based commands using an iterator result. This currently is not finished, as the command json generator is missing support for optional and multiple arguments.
Configuration menu - View commit details
-
Copy full SHA for a266465 - Browse repository at this point
Copy the full SHA a266465View commit details
Commits on Sep 5, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 48bd85e - Browse repository at this point
Copy the full SHA 48bd85eView commit details -
Finish commands.json generation and update generated code
The commands.json generation based on the redis-cli output now correctly computes subcommands.
Configuration menu - View commit details
-
Copy full SHA for d7fa5bf - Browse repository at this point
Copy the full SHA d7fa5bfView commit details