documentation-website/Writerside/topics/Contributing.md
We're delighted that you're considering contributing to Exposed!
There are multiple ways you can contribute:
This project and the corresponding community is governed by the JetBrains Open Source and Community Code of Conduct. Independently of how you'd like to contribute, please make sure you read and comply with it.
If you encounter a bug or have an idea for a new feature, please submit it to us through YouTrack, our issue tracker. While issues are visible publicly, either creating a new issue or commenting on an existing one does require logging in to YouTrack.
Before submitting an issue or feature request, search YouTrack's existing issues to avoid reporting duplicates.
When submitting an issue or feature request, provide as much detail as possible, including a clear and concise description of the problem or desired functionality, steps to reproduce the issue, and any relevant code snippets or error messages.
There are multiple ways in which you can contribute to Exposed documentation:
documentation-website directory only, not to files in the docs folder.Contributions are made using GitHub pull requests:
detekt task in Gradle to perform code style validation.apiCheck Gradle task. If it's not successful, run the apiDump Gradle task. Further information can be
found here.A few things to remember:
Use import with '*' should be checked).Test functions:
test.testInsertEmojisWithInvalidLength.KDocs cannot reference function names that contain spaces.fun testMyTest() { withDb{} }, and avoid writing fun testMyTest() = withDb{}.fix: EXPOSED-123 Fix a specific bugTo run Oracle XE tests, you need to install Colima container runtime. It will work in pair with your docker installation.
brew install colima
After installing, you need to start the colima daemon in arch x86_64 mode:
colima start --arch x86_64 --memory 4 --network-address
The test task can automatically use colima context when needed, and it's better to use default context for other tasks. To switch the context to default, run:
docker context use default
Make sure that default is used as default docker context:
docker context list
If you'd like to help others, please join our Exposed channel on the Kotlin Slack workspace and help out. It's also a great way to learn!
Thank you for your cooperation and for helping to improve Exposed.