Thank you for getting interested in contribution to this project! We really appreciate it. 😊
- Submit Bug Reports or Feature Requests
- Translate the Project
- Propose Code Changes
- Manage the Project
- Search for existing issues to check if it's a known issue.
- If it's not reported yet, create a new issue.
Tip
If you are not used to do, this section is for you.
We accept translations through Weblate.
Alternatively, you can fork this repository, edit the *.po
files directly, and submit changes through pull requests.
Note
Strings in the translation files are updated automatically if they're changed in the source code.
Things to happen when strings are changed in the source code:
- GitHub Actions (gettext-flatpak) updates the
*.pot
file and commits it to the repository - Weblate Addon (Update PO files to match POT (msgmerge)) detects the modification of
*.pot
file, updates*.po
files accordingly, and commits them to the repository
We accept changes to the source code through pull requests―even a small typo fix is welcome.
Tip
Again, the guideline by elementary would be helpful here too.
We follow the coding style of elementary OS. Try to respect them.
We use documentation comments for clarifying interfaces (so-called "Black Box").
You can refer to them locally to help your coding and you should edit them if you change the internal behavior or the interface of methods.
Building the source code with the option doc
to true
will generate HTML documentations.
You'll need the following extra dependencies to build:
- valadoc
Assuming that you've already built the project through the way described in the README:
meson configure builddir -Ddoc=true
meson compile -C builddir
xdg-open builddir/valadoc/index.html
You should edit documentation comments if you:
- change the internal behavior of existing methods.
- change the interface (parameters, the return value, etc.) of existing methods.
- add new methods, classes, structs, etc.
You should clarify the behavior, parameters, and the return value in case of methods. Here is an example:
/**
* Returns true if this and other contains the same values.
*
* @param other Another DesktopFile.
* @return true if this and other contains the same values.
*/
public bool equals (DesktopFile other) {
Refer to Valadoc for available markups.
- Repository URL: https://github.com/ryonakano/pinit
- Decide the version number of the release
- Versioning should follow Semantic Versioning
- Create a new branch named
release-X.Y.Z
from the latestorigin/main
(X.Y.Z
is the version number) - See changes since the previous release:
git diff $(git describe --tags --abbrev=0)..release-X.Y.Z
- Perform changes
- Write a release note in
data/pinit.metainfo.xml.in
- Refer to the Metainfo guidelines by Flathub
- Credits contributors with their GitHub username
- Translation contributors are excluded because some don't have a GitHub account. Just writing
Update translations
is fine
- Translation contributors are excluded because some don't have a GitHub account. Just writing
- Bump
version
inmeson.build
- Update screenshots if there are visual changes between releases
- Write a release note in
- Create a pull request with the above changes
- Merge it once the build succeeded
- Create a new release on GitHub
- Create a new tag named
X.Y.Z
- Release title:
<Project Name> X.Y.Z Released
- It's fine to reuse the release note in the metainfo file as the release description. Just convert XML to Markdown
- Publish it when completed
- Create a new tag named
- Repository URL: https://github.com/flathub/com.github.ryonakano.pinit
- Create a new branch named
release-X.Y.Z
- Perform changes
- Change
url
andsha256
in the manifest file- These two parameters should point to the tar.gz of the release assets just we published on the project repository
- Change
- Create a pull request with the above changes
- Merge it once the build succeeded
- The new release should be available on Flathub after some time