xref: /aosp_15_r20/external/okio/docs/multiplatform.md (revision f9742813c14b702d71392179818a9e591da8620c)
1*f9742813SAndroid Build Coastguard WorkerMultiplatform
2*f9742813SAndroid Build Coastguard Worker=============
3*f9742813SAndroid Build Coastguard Worker
4*f9742813SAndroid Build Coastguard WorkerOkio is a [Kotlin Multiplatform][kotlin_multiplatform] project. We're still completing our feature
5*f9742813SAndroid Build Coastguard Workercoverage.
6*f9742813SAndroid Build Coastguard Worker
7*f9742813SAndroid Build Coastguard Worker
8*f9742813SAndroid Build Coastguard Worker### Compression (Deflater, Inflater, Gzip)
9*f9742813SAndroid Build Coastguard Worker
10*f9742813SAndroid Build Coastguard WorkerJVM-only.
11*f9742813SAndroid Build Coastguard Worker
12*f9742813SAndroid Build Coastguard Worker
13*f9742813SAndroid Build Coastguard Worker### Concurrency (Pipe, Timeouts, Throttler)
14*f9742813SAndroid Build Coastguard Worker
15*f9742813SAndroid Build Coastguard WorkerJVM-only.
16*f9742813SAndroid Build Coastguard Worker
17*f9742813SAndroid Build Coastguard WorkerTimeout is on all platforms, but only the JVM has a useful implementation.
18*f9742813SAndroid Build Coastguard Worker
19*f9742813SAndroid Build Coastguard Worker
20*f9742813SAndroid Build Coastguard Worker### Core (Buffer, ByteString, Source, Sink)
21*f9742813SAndroid Build Coastguard Worker
22*f9742813SAndroid Build Coastguard WorkerAvailable on all platforms.
23*f9742813SAndroid Build Coastguard Worker
24*f9742813SAndroid Build Coastguard Worker
25*f9742813SAndroid Build Coastguard Worker### File System
26*f9742813SAndroid Build Coastguard Worker
27*f9742813SAndroid Build Coastguard WorkerAvailable on all platforms. For JavaScript this requires [Node.js][node_js].
28*f9742813SAndroid Build Coastguard Worker
29*f9742813SAndroid Build Coastguard Worker
30*f9742813SAndroid Build Coastguard Worker### Hashing
31*f9742813SAndroid Build Coastguard Worker
32*f9742813SAndroid Build Coastguard WorkerOkio includes Kotlin implementations of MD5, SHA-1, SHA-256, and SHA-512. This includes both hash
33*f9742813SAndroid Build Coastguard Workerfunctions and HMAC functions.
34*f9742813SAndroid Build Coastguard Worker
35*f9742813SAndroid Build Coastguard WorkerOkio uses the built-in implementations of these functions on the JVM.
36*f9742813SAndroid Build Coastguard Worker
37*f9742813SAndroid Build Coastguard Worker
38*f9742813SAndroid Build Coastguard Worker[kotlin_multiplatform]: https://kotlinlang.org/docs/reference/multiplatform.html
39*f9742813SAndroid Build Coastguard Worker[mingw]: http://www.mingw.org/
40*f9742813SAndroid Build Coastguard Worker[node_js]: https://nodejs.org/api/fs.html
41*f9742813SAndroid Build Coastguard Worker
42*f9742813SAndroid Build Coastguard Worker## Gradle configuration
43*f9742813SAndroid Build Coastguard Worker
44*f9742813SAndroid Build Coastguard Worker```kotlin
45*f9742813SAndroid Build Coastguard Worker// build.gradle.kts
46*f9742813SAndroid Build Coastguard Workerkotlin {
47*f9742813SAndroid Build Coastguard Worker    sourceSets {
48*f9742813SAndroid Build Coastguard Worker        val okioVersion = "3.XXX"
49*f9742813SAndroid Build Coastguard Worker        val commonMain by getting {
50*f9742813SAndroid Build Coastguard Worker            dependencies {
51*f9742813SAndroid Build Coastguard Worker                implementation("com.squareup.okio:okio:$okioVersion")
52*f9742813SAndroid Build Coastguard Worker            }
53*f9742813SAndroid Build Coastguard Worker        }
54*f9742813SAndroid Build Coastguard Worker        val jsMain by getting {
55*f9742813SAndroid Build Coastguard Worker            dependencies {
56*f9742813SAndroid Build Coastguard Worker                implementation("com.squareup.okio:okio-nodefilesystem:$okioVersion")
57*f9742813SAndroid Build Coastguard Worker            }
58*f9742813SAndroid Build Coastguard Worker        }
59*f9742813SAndroid Build Coastguard Worker        val commonTest by getting {
60*f9742813SAndroid Build Coastguard Worker            dependencies {
61*f9742813SAndroid Build Coastguard Worker                implementation("com.squareup.okio:okio-fakefilesystem:$okioVersion")
62*f9742813SAndroid Build Coastguard Worker            }
63*f9742813SAndroid Build Coastguard Worker        }
64*f9742813SAndroid Build Coastguard Worker    }
65*f9742813SAndroid Build Coastguard Worker}
66*f9742813SAndroid Build Coastguard Worker```
67