blob: 8943099a5092fdae225f58c8e4c26204f6bb1c7b [file] [log] [blame] [view]
Multiplatform
=============
Okio is a [Kotlin Multiplatform][kotlin_multiplatform] project. We're still completing our feature
coverage.
### Compression (Deflater, Inflater, Gzip)
JVM-only.
### Concurrency (Pipe, Timeouts, Throttler)
JVM-only.
Timeout is on all platforms, but only the JVM has a useful implementation.
### Core (Buffer, ByteString, Source, Sink)
Available on all platforms.
### File System
Available on all platforms. For JavaScript this requires [Node.js][node_js].
### Hashing
Okio includes Kotlin implementations of MD5, SHA-1, SHA-256, and SHA-512. This includes both hash
functions and HMAC functions.
Okio uses the built-in implementations of these functions on the JVM.
[kotlin_multiplatform]: https://kotlinlang.org/docs/reference/multiplatform.html
[mingw]: http://www.mingw.org/
[node_js]: https://nodejs.org/api/fs.html
## Gradle configuration
```kotlin
// build.gradle.kts
kotlin {
sourceSets {
val okioVersion = "3.XXX"
val commonMain by getting {
dependencies {
implementation("com.squareup.okio:okio:$okioVersion")
}
}
val jsMain by getting {
dependencies {
implementation("com.squareup.okio:okio-nodefilesystem:$okioVersion")
}
}
val commonTest by getting {
dependencies {
implementation("com.squareup.okio:okio-fakefilesystem:$okioVersion")
}
}
}
}
```