.junie/guidelines.md
Exposed is an ORM framework for Kotlin, developed by JetBrains. It provides SQL database access with two approaches:
The project's mascot is the cuttlefish, which represents Exposed's ability to adapt to different database engines, allowing developers to build applications without dependencies on specific database engines.
Exposed is organized into multiple modules:
Exposed supports multiple database engines:
Tests in Exposed are organized by database type. The project has a comprehensive test suite that runs against multiple database backends to ensure compatibility.
Tests can be run against different database backends. The build system is configured to support testing against:
When making changes to the codebase, you should run tests against the relevant database backends to ensure compatibility.
The project uses Gradle for building. Key build commands:
./gradlew build: Build the entire project./gradlew test: Run all tests./gradlew <module>:test: Run tests for a specific module./gradlew <module>:test --tests "org.jetbrains.exposed.v1.sql.tests.<TestClass>": Run a specific test classThe project uses detekt for static code analysis. Code should follow Kotlin coding conventions and pass detekt checks.
Key style points:
When contributing to Exposed:
The project uses dokka for API documentation. When making changes, ensure that documentation is updated accordingly.