Skip to content

Commit 990fc66

Browse files
committed
Added platforms table
1 parent 24022eb commit 990fc66

File tree

7 files changed

+509
-7
lines changed

7 files changed

+509
-7
lines changed

.github/workflows/platforms.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Check PR Labels
2+
3+
on:
4+
pull_request:
5+
6+
permissions:
7+
contents: read
8+
9+
jobs:
10+
verify-platforms-table:
11+
name: Verify Platforms Table
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout Sources
15+
uses: actions/checkout@v4
16+
- name: Setup Gradle
17+
uses: gradle/actions/setup-gradle@v3
18+
- name: Check Platforms Table
19+
run: ./gradlew verifyPlatformsTable --no-configuration-cache

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -114,11 +114,11 @@ However, we are also a multi-module library, meaning that some modules may not s
114114

115115
Current high-level status:
116116

117-
| Subsystem | Supported Platforms |
118-
|-----------|--------------------------------------------|
119-
| Core | JVM, Native, JS, WasmJs, WasmWASI, Windows |
120-
| kRPC | JVM, Native, JS, WasmJs, Windows |
121-
| gRPC | JVM (in JVM-only projects) |
117+
| Subsystem | Supported Platforms |
118+
|-----------|--------------------------------------------------|
119+
| Core | Jvm, Js, WasmJs, WasmWasi, Apple, Linux, Windows |
120+
| kRPC | Jvm, Js, WasmJs, Apple, Linux, Windows |
121+
| gRPC | Jvm (in Jvm-only projects) |
122122

123123
For more detailed module by module information,
124124
check out our [platform support table](https://kotlin.github.io/kotlinx-rpc/platforms.html).

build.gradle.kts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion
66
import util.configureApiValidation
77
import util.configureNpm
88
import util.configureProjectReport
9+
import util.registerDumpPlatformTableTask
910
import util.libs
11+
import util.registerVerifyPlatformTableTask
1012

1113
plugins {
1214
alias(libs.plugins.serialization) apply false
@@ -21,6 +23,9 @@ configureProjectReport()
2123
configureNpm()
2224
configureApiValidation()
2325

26+
registerDumpPlatformTableTask()
27+
registerVerifyPlatformTableTask()
28+
2429
val kotlinVersion = rootProject.libs.versions.kotlin.lang.get()
2530
val kotlinCompiler = rootProject.libs.versions.kotlin.compiler.get()
2631

docs/pages/kotlinx-rpc/rpc.tree

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
</toc-element>
4040
<toc-element topic="strict-mode.topic"/>
4141
<toc-element topic="versions.topic"/>
42+
<toc-element topic="platforms.topic"/>
4243
<toc-element toc-title="Migration guides">
4344
<toc-element topic="0-8-0.topic"/>
4445
<toc-element topic="0-6-0.topic"/>
Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,167 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE topic
3+
SYSTEM "https://resources.jetbrains.com/writerside/1.0/xhtml-entities.dtd">
4+
<!--suppress WrsMissingSpaceChecker -->
5+
<topic xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6+
xsi:noNamespaceSchemaLocation="https://resources.jetbrains.com/writerside/1.0/topic.v2.xsd"
7+
title="Platforms" id="platforms">
8+
9+
10+
<p>
11+
<code>kotlinx.rpc</code> is a KMP library, so we aim to support all available platforms.
12+
13+
However, we are also a multi-module library, meaning that some modules may not support some platforms.
14+
15+
Current high-level status:
16+
</p>
17+
<table>
18+
<tr>
19+
<td>Subsystem</td>
20+
<td>Supported Platforms</td>
21+
</tr>
22+
<tr>
23+
<td>Core</td>
24+
<td>Jvm, Js, WasmJs, WasmWasi, Apple, Linux, Windows</td>
25+
</tr>
26+
<tr>
27+
<td>kRPC</td>
28+
<td>Jvm, Js, WasmJs, Apple, Linux, Windows</td>
29+
</tr>
30+
<tr>
31+
<td>gRPC</td>
32+
<td>Jvm (in Jvm-only projects)</td>
33+
</tr>
34+
</table>
35+
36+
<p>
37+
The following table contains a list of all published modules and their supported platforms:
38+
</p>
39+
<table>
40+
<tr>
41+
<td>Module</td>
42+
<td>Jvm</td>
43+
<td>Js</td>
44+
<td>Wasm</td>
45+
<td>Native</td>
46+
</tr>
47+
<!-- Don't delete comment tags, they are used for automated platforms table generation -->
48+
<!-- Don't modify content in between the tags -->
49+
<!-- PLATFORMS_TABLE_START -->
50+
<tr>
51+
<td>core</td>
52+
<td>jvm</td>
53+
<td><list><li>browser</li><li>node</li></list></td>
54+
<td><list><li>wasmJs<list><li>browser</li><li>d8</li><li>node</li></list></li><li>wasmWasi<list><li>node</li></list></li></list></td>
55+
<td><list><li>apple<list><li>ios<list><li>iosArm64</li><li>iosSimulatorArm64</li><li>iosX64</li></list></li><li>macos<list><li>macosArm64</li><li>macosX64</li></list></li><li>watchos<list><li>watchosArm32</li><li>watchosArm64</li><li>watchosDeviceArm64</li><li>watchosSimulatorArm64</li><li>watchosX64</li></list></li><li>tvos<list><li>tvosArm64</li><li>tvosSimulatorArm64</li><li>tvosX64</li></list></li></list></li><li>linux<list><li>linuxArm64</li><li>linuxX64</li></list></li><li>windows<list><li>mingwX64</li></list></li></list></td>
56+
</tr>
57+
58+
<tr>
59+
<td>utils</td>
60+
<td>jvm</td>
61+
<td><list><li>browser</li><li>node</li></list></td>
62+
<td><list><li>wasmJs<list><li>browser</li><li>d8</li><li>node</li></list></li><li>wasmWasi<list><li>node</li></list></li></list></td>
63+
<td><list><li>apple<list><li>ios<list><li>iosArm64</li><li>iosSimulatorArm64</li><li>iosX64</li></list></li><li>macos<list><li>macosArm64</li><li>macosX64</li></list></li><li>watchos<list><li>watchosArm32</li><li>watchosArm64</li><li>watchosDeviceArm64</li><li>watchosSimulatorArm64</li><li>watchosX64</li></list></li><li>tvos<list><li>tvosArm64</li><li>tvosSimulatorArm64</li><li>tvosX64</li></list></li></list></li><li>linux<list><li>linuxArm64</li><li>linuxX64</li></list></li><li>windows<list><li>mingwX64</li></list></li></list></td>
64+
</tr>
65+
66+
<tr>
67+
<td>krpc-client</td>
68+
<td>jvm</td>
69+
<td><list><li>browser</li><li>node</li></list></td>
70+
<td><list><li>wasmJs<list><li>browser</li><li>d8</li><li>node</li></list></li></list></td>
71+
<td><list><li>apple<list><li>ios<list><li>iosArm64</li><li>iosSimulatorArm64</li><li>iosX64</li></list></li><li>macos<list><li>macosArm64</li><li>macosX64</li></list></li><li>watchos<list><li>watchosArm64</li><li>watchosSimulatorArm64</li><li>watchosX64</li></list></li><li>tvos<list><li>tvosArm64</li><li>tvosSimulatorArm64</li><li>tvosX64</li></list></li></list></li><li>linux<list><li>linuxArm64</li><li>linuxX64</li></list></li><li>windows<list><li>mingwX64</li></list></li></list></td>
72+
</tr>
73+
74+
<tr>
75+
<td>krpc-core</td>
76+
<td>jvm</td>
77+
<td><list><li>browser</li><li>node</li></list></td>
78+
<td><list><li>wasmJs<list><li>browser</li><li>d8</li><li>node</li></list></li></list></td>
79+
<td><list><li>apple<list><li>ios<list><li>iosArm64</li><li>iosSimulatorArm64</li><li>iosX64</li></list></li><li>macos<list><li>macosArm64</li><li>macosX64</li></list></li><li>watchos<list><li>watchosArm64</li><li>watchosSimulatorArm64</li><li>watchosX64</li></list></li><li>tvos<list><li>tvosArm64</li><li>tvosSimulatorArm64</li><li>tvosX64</li></list></li></list></li><li>linux<list><li>linuxArm64</li><li>linuxX64</li></list></li><li>windows<list><li>mingwX64</li></list></li></list></td>
80+
</tr>
81+
82+
<tr>
83+
<td>krpc-logging</td>
84+
<td>jvm</td>
85+
<td><list><li>browser</li><li>node</li></list></td>
86+
<td><list><li>wasmJs<list><li>browser</li><li>d8</li><li>node</li></list></li></list></td>
87+
<td><list><li>apple<list><li>ios<list><li>iosArm64</li><li>iosSimulatorArm64</li><li>iosX64</li></list></li><li>macos<list><li>macosArm64</li><li>macosX64</li></list></li><li>watchos<list><li>watchosArm64</li><li>watchosSimulatorArm64</li><li>watchosX64</li></list></li><li>tvos<list><li>tvosArm64</li><li>tvosSimulatorArm64</li><li>tvosX64</li></list></li></list></li><li>linux<list><li>linuxArm64</li><li>linuxX64</li></list></li><li>windows<list><li>mingwX64</li></list></li></list></td>
88+
</tr>
89+
90+
<tr>
91+
<td>krpc-server</td>
92+
<td>jvm</td>
93+
<td><list><li>browser</li><li>node</li></list></td>
94+
<td><list><li>wasmJs<list><li>browser</li><li>d8</li><li>node</li></list></li></list></td>
95+
<td><list><li>apple<list><li>ios<list><li>iosArm64</li><li>iosSimulatorArm64</li><li>iosX64</li></list></li><li>macos<list><li>macosArm64</li><li>macosX64</li></list></li><li>watchos<list><li>watchosArm64</li><li>watchosSimulatorArm64</li><li>watchosX64</li></list></li><li>tvos<list><li>tvosArm64</li><li>tvosSimulatorArm64</li><li>tvosX64</li></list></li></list></li><li>linux<list><li>linuxArm64</li><li>linuxX64</li></list></li><li>windows<list><li>mingwX64</li></list></li></list></td>
96+
</tr>
97+
98+
<tr>
99+
<td>krpc-test</td>
100+
<td>jvm</td>
101+
<td><list><li>browser</li><li>node</li></list></td>
102+
<td><list><li>wasmJs<list><li>browser</li><li>node</li></list></li></list></td>
103+
<td><list><li>apple<list><li>ios<list><li>iosArm64</li><li>iosSimulatorArm64</li><li>iosX64</li></list></li><li>macos<list><li>macosArm64</li><li>macosX64</li></list></li><li>watchos<list><li>watchosArm64</li><li>watchosSimulatorArm64</li><li>watchosX64</li></list></li><li>tvos<list><li>tvosArm64</li><li>tvosSimulatorArm64</li><li>tvosX64</li></list></li></list></li><li>linux<list><li>linuxArm64</li><li>linuxX64</li></list></li><li>windows<list><li>mingwX64</li></list></li></list></td>
104+
</tr>
105+
106+
<tr>
107+
<td>krpc-ktor-client</td>
108+
<td>jvm</td>
109+
<td><list><li>browser</li><li>node</li></list></td>
110+
<td><list><li>wasmJs<list><li>browser</li><li>d8</li><li>node</li></list></li></list></td>
111+
<td><list><li>apple<list><li>ios<list><li>iosArm64</li><li>iosSimulatorArm64</li><li>iosX64</li></list></li><li>macos<list><li>macosArm64</li><li>macosX64</li></list></li><li>watchos<list><li>watchosArm64</li><li>watchosSimulatorArm64</li><li>watchosX64</li></list></li><li>tvos<list><li>tvosArm64</li><li>tvosSimulatorArm64</li><li>tvosX64</li></list></li></list></li><li>linux<list><li>linuxArm64</li><li>linuxX64</li></list></li><li>windows<list><li>mingwX64</li></list></li></list></td>
112+
</tr>
113+
114+
<tr>
115+
<td>krpc-ktor-core</td>
116+
<td>jvm</td>
117+
<td><list><li>browser</li><li>node</li></list></td>
118+
<td><list><li>wasmJs<list><li>browser</li><li>d8</li><li>node</li></list></li></list></td>
119+
<td><list><li>apple<list><li>ios<list><li>iosArm64</li><li>iosSimulatorArm64</li><li>iosX64</li></list></li><li>macos<list><li>macosArm64</li><li>macosX64</li></list></li><li>watchos<list><li>watchosArm64</li><li>watchosSimulatorArm64</li><li>watchosX64</li></list></li><li>tvos<list><li>tvosArm64</li><li>tvosSimulatorArm64</li><li>tvosX64</li></list></li></list></li><li>linux<list><li>linuxArm64</li><li>linuxX64</li></list></li><li>windows<list><li>mingwX64</li></list></li></list></td>
120+
</tr>
121+
122+
<tr>
123+
<td>krpc-ktor-server</td>
124+
<td>jvm</td>
125+
<td><list><li>browser</li><li>node</li></list></td>
126+
<td><list><li>wasmJs<list><li>browser</li><li>d8</li><li>node</li></list></li></list></td>
127+
<td><list><li>apple<list><li>ios<list><li>iosArm64</li><li>iosSimulatorArm64</li><li>iosX64</li></list></li><li>macos<list><li>macosArm64</li><li>macosX64</li></list></li><li>watchos<list><li>watchosArm64</li><li>watchosSimulatorArm64</li><li>watchosX64</li></list></li><li>tvos<list><li>tvosArm64</li><li>tvosSimulatorArm64</li><li>tvosX64</li></list></li></list></li><li>linux<list><li>linuxArm64</li><li>linuxX64</li></list></li><li>windows<list><li>mingwX64</li></list></li></list></td>
128+
</tr>
129+
130+
<tr>
131+
<td>krpc-serialization-cbor</td>
132+
<td>jvm</td>
133+
<td><list><li>browser</li><li>node</li></list></td>
134+
<td><list><li>wasmJs<list><li>browser</li><li>d8</li><li>node</li></list></li></list></td>
135+
<td><list><li>apple<list><li>ios<list><li>iosArm64</li><li>iosSimulatorArm64</li><li>iosX64</li></list></li><li>macos<list><li>macosArm64</li><li>macosX64</li></list></li><li>watchos<list><li>watchosArm64</li><li>watchosSimulatorArm64</li><li>watchosX64</li></list></li><li>tvos<list><li>tvosArm64</li><li>tvosSimulatorArm64</li><li>tvosX64</li></list></li></list></li><li>linux<list><li>linuxArm64</li><li>linuxX64</li></list></li><li>windows<list><li>mingwX64</li></list></li></list></td>
136+
</tr>
137+
138+
<tr>
139+
<td>krpc-serialization-core</td>
140+
<td>jvm</td>
141+
<td><list><li>browser</li><li>node</li></list></td>
142+
<td><list><li>wasmJs<list><li>browser</li><li>d8</li><li>node</li></list></li></list></td>
143+
<td><list><li>apple<list><li>ios<list><li>iosArm64</li><li>iosSimulatorArm64</li><li>iosX64</li></list></li><li>macos<list><li>macosArm64</li><li>macosX64</li></list></li><li>watchos<list><li>watchosArm64</li><li>watchosSimulatorArm64</li><li>watchosX64</li></list></li><li>tvos<list><li>tvosArm64</li><li>tvosSimulatorArm64</li><li>tvosX64</li></list></li></list></li><li>linux<list><li>linuxArm64</li><li>linuxX64</li></list></li><li>windows<list><li>mingwX64</li></list></li></list></td>
144+
</tr>
145+
146+
<tr>
147+
<td>krpc-serialization-json</td>
148+
<td>jvm</td>
149+
<td><list><li>browser</li><li>node</li></list></td>
150+
<td><list><li>wasmJs<list><li>browser</li><li>d8</li><li>node</li></list></li></list></td>
151+
<td><list><li>apple<list><li>ios<list><li>iosArm64</li><li>iosSimulatorArm64</li><li>iosX64</li></list></li><li>macos<list><li>macosArm64</li><li>macosX64</li></list></li><li>watchos<list><li>watchosArm64</li><li>watchosSimulatorArm64</li><li>watchosX64</li></list></li><li>tvos<list><li>tvosArm64</li><li>tvosSimulatorArm64</li><li>tvosX64</li></list></li></list></li><li>linux<list><li>linuxArm64</li><li>linuxX64</li></list></li><li>windows<list><li>mingwX64</li></list></li></list></td>
152+
</tr>
153+
154+
<tr>
155+
<td>krpc-serialization-protobuf</td>
156+
<td>jvm</td>
157+
<td><list><li>browser</li><li>node</li></list></td>
158+
<td><list><li>wasmJs<list><li>browser</li><li>d8</li><li>node</li></list></li></list></td>
159+
<td><list><li>apple<list><li>ios<list><li>iosArm64</li><li>iosSimulatorArm64</li><li>iosX64</li></list></li><li>macos<list><li>macosArm64</li><li>macosX64</li></list></li><li>watchos<list><li>watchosArm64</li><li>watchosSimulatorArm64</li><li>watchosX64</li></list></li><li>tvos<list><li>tvosArm64</li><li>tvosSimulatorArm64</li><li>tvosX64</li></list></li></list></li><li>linux<list><li>linuxArm64</li><li>linuxX64</li></list></li><li>windows<list><li>mingwX64</li></list></li></list></td>
160+
</tr>
161+
162+
<!-- PLATFORMS_TABLE_END -->
163+
</table>
164+
<p>
165+
We are working on making the library more portable so that it can be used on more platforms.
166+
</p>
167+
</topic>

0 commit comments

Comments
 (0)