Project / working on kotmark
Contributing
Bug reports, fixes, and new extensions are welcome. Run the checks relevant to your change before opening a pull request.
Set up
Restore the locked build plugins
git clone https://github.com/Heapy/kotmark.git
cd kotmark
./ktc-plugins sync
./ktc-plugins verifyThe build uses the repository's ./kotlin wrapper. Restore plugins from the lock file with ./ktc-plugins sync and verify them with ./ktc-plugins verify; do not edit restored files under plugins/. JVM artifacts and tests target Java 17.
Checks
| Change | Verification |
|---|---|
| Parser or extension behavior | Run the module's JVM tests, add a focused regression, and run integration-test for interactions. |
| Public API | Run node scripts/library-tools.mjs api-check <module> before and after edits. |
| Documentation | Run the site-builder, kotlinr docs/check.main.kts, and the examples module tests. |
| Full JVM suite | Run ./kotlin test --platform jvm. |
Repository rules
- Keep CommonMark corpora complete and distinct; preserve upstream expected outputs.
- Keep extension dependencies scoped to their extension modules.
- Preserve third-party notices when adapting upstream code or fixtures.
Target matrix
Every declared target is built in CI; most also run the test suite.
| Targets | Verification |
|---|---|
jvm, android |
JVM suite and Android local unit tests |
linuxX64, linuxArm64 |
Native tests |
mingwX64 |
Native tests |
macosArm64, iosSimulatorArm64 |
Native and iOS simulator tests |
js |
Node.js tests |
wasmJs |
Browser tests |
wasmWasi |
Node.js WASI tests |
tvosSimulatorArm64, watchosSimulatorArm64 |
Simulator tests |
iosArm64, tvosArm64, watchosArm64, watchosDeviceArm64 |
Compilation only; execution requires devices |
Further evidence
- Generated API reference and JVM line coverage are rebuilt for each published revision.
- Property tests and fuzzing check parser invariants beyond the specification examples.
- API snapshots make changes to public declarations reviewable. Check the compatibility impact on published consumers.