First of all, thank you for considering contributing!
This project is in early and active development, and we are actively looking for contributors. Even if you're just getting started with QML, Qt Quick, or Rust, you're very welcome to contribute — small contributions are just as valuable!
If you're a student or new to open source, this is a great place to start.
Before contributing, you need to create a Qt account. This account is used to authenticate you across Bug tracker, Gerrit and Wiki.
There are many ways you can help:
- Fix issues
- Report bugs
- Suggest new features
- Improve documentation
Clone the repository from the official source with git hooks:
git clone "https://codereview.qt-project.org/qt/qtbridge-rust" && (cd "qtbridge-rust" && mkdir -p `git rev-parse \
--git-dir`/hooks/ && curl -Lo `git rev-parse \
--git-dir`/hooks/commit-msg https://codereview.qt-project.org/tools/hooks/commit-msg && chmod +x \
`git rev-parse --git-dir`/hooks/commit-msg)
cd qtbridge-<lang>
git checkout devLog into Gerrit and add necessary information to your account. Remember to accept Contributor License Agreement (CLA).
Configure Gerrit by following How to get started - Gerrit registration, Local Setup and Configuring Git sections from the Setting up Gerrit wiki page.
After correct configuration you should see the following message
when trying ssh codereview.qt-project.org command:
**** Welcome to Gerrit Code Review ****
Hi <name>, you have successfully connected over SSH.
Unfortunately, interactive shells are disabled.
To clone a hosted Git repository, use:
git clone ssh://<username>@codereview.qt-project.org:29418/qt/qtbridge-<lang>.git
Connection to codereview.qt-project.org closed.For a development setup you will need the same prerequisites as for using QtBridge. This is described in README.md.
When the prerequisites are installed, the code is checked out from source, and Gerrit is configured, you are also ready for developing QtBridge.
The top-level repository folder is a Rust workspace. By default, only the core crates and tests are built:
cargo build
cargo testTo build the full workspace including example apps:
cargo build --workspace
cargo test --workspaceCI runs the full workspace build, so you should run cargo test --workspace
before submitting a change to Gerrit.
If you've found a bug or have an idea for an improvement, feel free to work on it directly. For larger changes, it's a good idea to open an issue first to discuss it. See Reporting Bugs for more details.
If you're not working on something specific, check our Bug Report system for open issues.
If you're unsure what to pick, feel free to ask on our Qt Bridges forum or join Qt Bridges Discord - we're happy to help you get started!
- Create a new branch:
git checkout -b feature-name
- Make your changes
- Keep changes focused and minimal
Once you have your local patch ready to submit, check the Commit Policy and remember to add a Task-number: or Fixes: entry to the commit footer.
Commit your changes:
git add <the files you modified>
git commit # this will open an editor, for you to write a commit message
git push origin HEAD:refs/for/devYour change will now appear in Gerrit for review, where you will be able to modify the commit message, add reviewers and view your change in detail.
If you're not contributing code, you can still help by reporting bugs or suggesting features in our Bug Report system. When reporting an issue, please see Reporting Bugs first.
If anything is unclear, don't worry - we're here to help!
Feel free to ask on our Qt Bridges forum, join Qt Bridges Discord server or get support from the community on other Online communities.
Thanks again for contributing! ❤️