mirror of
https://github.com/AntennaPod/AntennaPod.git
synced 2026-08-18 11:05:49 +00:00
### Description Several small improvements to CONTRIBUTING.md: - [X] Add missing links to existing website contributor (sub)pages for developers - [X] Strengthen instructions on searching before reporting bugs - [X] Plus other minor editing/proofreading corrections ### Checklist <!-- To help us keep the issue tracker clean and work as efficient as possible, please make sure that you have done all of the following. You can tick the boxes below by placing an x inside the brackets like this: [x] --> - [X] I have read the contribution guidelines: https://github.com/AntennaPod/AntennaPod/blob/develop/CONTRIBUTING.md#submit-a-pull-request - [X] I have performed a self-review of my code, going through my changes line by line and carefully considering why this line change is necessary - [ ] I have run the automated code checks using `./gradlew checkstyle lint` - [ ] My code follows the style guidelines of the AntennaPod project: https://antennapod.org/contribute/develop/app/code-style - [ ] I have mentioned the corresponding issue and the relevant keyword (e.g., "Closes: #xy") in the description (see https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue) - [ ] If it is a core feature, I have added automated tests
6.5 KiB
6.5 KiB
How to report a bug
- Before anything else, please make sure you are on the latest version, as the bug you are experiencing may have been fixed already!
- As a second step, use the search function (on both open and closed issues) to see if someone else has already reported the same bug.
- Once you are sure that you have encountered a new bug, try to describe the problem in as much detail as possible.
- Some bugs may only occur on certain devices or versions of Android. Please add information about your device and the version of Android that is running on it (you can look these up under
Settings → About phone), as well as which version of AntennaPod you are using. - If the bug only seems to occur with a certain podcast, please include the URL of that podcast.
- If possible, add instructions on how to reproduce the bug.
- If possible, add a log file to your post. This is especially useful if the bug makes the application crash. AntennaPod has an
export logsfeature for this. - Usually, you can take a screenshot of your smartphone by pressing Power + Volume down for a few seconds.
- Please use the dedicated template.
How to submit a feature request
- Make sure you are using the latest version of AntennaPod. Perhaps the feature you are looking for has already been implemented.
- Use the search function to see if someone else has already submitted the same feature request. If there is another request already, please upvote the first post instead of commenting something like "I also want this".
- To make it easier for us to keep track of requests, please only make one feature request per issue.
- Give a brief explanation about the problem that may currently exist and how your requested feature solves this problem.
- Try to be as specific as possible. Please do not only explain what the feature does, but also how. If your request is about (or includes) changing or extending the UI, describe what the UI would look like and how the user would interact with it.
- Please use the dedicated template.
Translating AntennaPod
If you would like to translate the app into another language or improve an existing translation, please visit the Weblate project page. From there, you can either join a language team if it already exists or create a new language team.
Submit a pull request
- Before you work on the code
- Make sure that there is an issue without the
Needs: TriageorNeeds: Decisionlabel for the feature you want to implement or bug you want to fix. If you just start working on a feature that is not approved yet (or doesn't even have an issue), your PR might not get merged. - Add a comment to the issue so that other people know that you are working on it.
- You don't need to ask for permission to work on something, just indicate that you are doing so.
- If you want to discuss the approach to take, feel free to ask in the issue or join a community call.
- Make sure that there is an issue without the
- Fork the repository
- Create a new branch for your contribution
- This makes opening possible additional pull requests easier.
- As a base, use the
developbranch.- Almost all changes of AntennaPod are done on the
developbranch. If a new version of AntennaPod is released, thedevelopbranch is merged intomaster. As a result, themasterbranch probably doesn't contain the latest changes. Otherwise, there might be a lot of merge conflicts when merging your changes intodevelopand therefore it might take longer to review your pull request.
- Almost all changes of AntennaPod are done on the
- Get coding :)
- If possible, add unit tests for your pull request and make sure that they pass.
- Please do not upgrade dependencies or build tools unless you have a good reason for it. Doing so can easily introduce bugs that are hard to track down.
- Please follow our code style. You can use Checkstyle within Android Studio using our configuration file.
- To check the code style locally, run
./gradlew checkstyle lint spotbugsPlayDebug spotbugsDebug - Please only change the English string resources. Translations are handled on Weblate.
- Open the PR
- Mention the corresponding issue in the pull request text, so that it can be closed when your pull request is merged. If you use special keywords, GitHub will close the issue(s) automatically.
- Finally, don't forget to make sure you get credited for your contribution.
Building from source
- Fork this repository
- Download Android Studio
- Download AntennaPod
- Option A: Using the git command line (recommended)
- Use
git clone <url>with the remote url of your forked repo. The AntennaPod repo contains a large submodule with app store metadata like screenshots. You do not need that for normal development. - In Android Studio:
File → New → Project from existing sources
- Use
- Option B: From Android Studio
File → New → Project from version control- Enter the remote url of the forked repo
- Option A: Using the git command line (recommended)
- Wait for a long time until all progress bars go away
- Press the Play button
Testing and verifying
As a developer contributing to AntennaPod, we ask that you test the feature yourself manually and better yet, add unit and functional tests to any feature you add or bug you fix.
Running unit tests
./gradlew testPlayDebugUnitTest# all projects./gradlew :app:testPlayDebugUnitTest# specific project - list project names with./gradlew projects
Running integration tests
Using Android Studio
- Create a configuration via
Run → Edit configurations...
Using the command line
- Start an AVD or plug in your phone
sh .github/workflows/runTests.sh
