Consolidate and extend development/contribution documentation
There are several places from where a willing contributor needs to obtain information from before they can successfully build and contribute to the project.
An effort is needed to consolidate all this information in one place and make it accessible from all the locations:
- Website, from a new, dedicated "Contribute" section
- README.md and CONTRIBUTING.md files directly in the repository (https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-readmes)
Decide whether to use the GitLab project's wiki or https://techbase.kde.org/Projects/KMyMoney
- The biggest pro of using GitLab's built in wiki is the immediate integration with the code and other areas (can link issues, comments, epics, users, files, etc. See: https://docs.gitlab.com/ee/user/markdown.html#special-gitlab-references). GitHub has popularized this concept and developers are used to seeing a tech wiki next to the source code.
- Another one is the ability to checkout the wiki's git repository and edit it in an Markup editor of choice for convenience
- KDE TechBase in turn provides integration with other KDE pages, but this is basically limited to linking, so not that useful.
- Based on the above, I think it's best to rewrite the tech documentation in GitLab.
Copy over the existing TechBase documentation to GitLab
- Update TechBase link and point to invent.kde.org
- Update the kmymoney.org link and point to invent.kde.org
- Add a generic README file with information about the project and a link to dev wiki, website and other resources (KDE techbase, SDK/API Doxygen website)
- Add the content from existing sources:
Expand developing instructions - this could be made generic and added to KDE techbase instead:
Developing under macOS
- using brew dev environment
Developing under Windows
- using WSL (with reference to Developing under Linux)
Developing under Linux
- Developing using Docker Linux image
Building & debugging binary packages, troubleshooting the packaging
- craft macOS packages
- craft Windows packages
- craft blueprints
- macOS brew packages
- AppImage packages
Setting up IDE of choice
- Setting up debuggers (GDB, LLDB), pretty printers
- debugging symbol locations
- stepping into Qt sources, etc.
- Document CMAKE switches
Any additional requirements
- bumping the
- Developing under macOS
- Add plugin development guidelines
- Add online sources development guidelines
Add contribution procedure guidelines:
- Pull Requests
- bugzilla usage
- commit message requirements
- updating GPL headers
- documentation updates
- Document release process
- Remove TODO?
- Fix the API documentation (relevant issue: #7)