From b855981541e9b67e99d64a50dd0f5387ab9e7d81 Mon Sep 17 00:00:00 2001 From: Oleg Yukhnevich Date: Fri, 1 Mar 2024 21:22:28 +0200 Subject: [PATCH] restructure transport modules * rename ktor-websocket to ktor-websocket-internal and make it an implementation dependency (not exposed) * move all transports under `rsocket-transports` folder * drop empty modules * implement small DSL for including projects --- .../kotlin/rsocketsettings/ProjectsScope.kt | 47 +++++++++++++++++++ rsocket-ktor/api/rsocket-ktor.api | 0 rsocket-ktor/build.gradle.kts | 37 --------------- .../api/rsocket-ktor-client.api | 0 .../build.gradle.kts | 3 +- .../io/rsocket/kotlin/ktor/client/Builders.kt | 2 +- .../kotlin/ktor/client/RSocketSupport.kt | 0 .../api/rsocket-ktor-server.api | 0 .../build.gradle.kts | 5 +- .../kotlin/ktor/server/RSocketSupport.kt | 0 .../io/rsocket/kotlin/ktor/server/Routing.kt | 2 +- .../server/WebSocketConnectionTest.kt | 2 +- .../kotlin/io/rsocket/kotlin/ktor/dummy.kt | 3 -- .../api/rsocket-transport-ktor.api | 0 rsocket-transport-ktor/build.gradle.kts | 35 -------------- .../io/rsocket/kotlin/transport/ktor/dummy.kt | 19 -------- .../api/rsocket-transport-ktor-tcp.api | 0 .../ktor-tcp}/build.gradle.kts | 3 +- .../transport/ktor/tcp/TcpClientTransport.kt | 0 .../transport/ktor/tcp/TcpConnection.kt | 0 .../transport/ktor/tcp/TcpServerTransport.kt | 0 .../transport/ktor/tcp/TcpServerTest.kt | 0 .../transport/ktor/tcp/TcpTransportTest.kt | 0 .../transport/ktor/tcp/defaultDispatcher.kt | 2 +- .../transport/ktor/tcp/defaultDispatcher.kt | 2 +- ...socket-transport-ktor-websocket-client.api | 0 .../ktor-websocket-client}/build.gradle.kts | 3 +- .../client/WebSocketClientTransport.kt | 2 +- .../client/ClientWebSocketTransportTest.kt | 2 +- ...cket-transport-ktor-websocket-internal.api | 2 +- .../ktor-websocket-internal}/build.gradle.kts | 2 +- .../internal}/WebSocketConnection.kt | 2 +- ...socket-transport-ktor-websocket-server.api | 0 .../ktor-websocket-server}/build.gradle.kts | 5 +- .../server/WebSocketServerTransport.kt | 2 +- .../server/CIOWebSocketTransportTest.kt | 2 +- .../server/WebSocketTransportTest.kt | 0 .../server/WebSocketTransportTests.kt | 2 +- .../local}/api/rsocket-transport-local.api | 0 .../local}/build.gradle.kts | 0 .../kotlin/transport/local/LocalConnection.kt | 0 .../kotlin/transport/local/LocalServer.kt | 0 .../transport/local/LocalTransportTest.kt | 0 .../nodejs-tcp}/build.gradle.kts | 0 .../nodejs/tcp/FrameWithLengthAssembler.kt | 2 +- .../nodejs/tcp/TcpClientTransport.kt | 0 .../transport/nodejs/tcp/TcpConnection.kt | 0 .../nodejs/tcp/TcpServerTransport.kt | 0 .../transport/nodejs/tcp/internal/ext.kt | 2 +- .../nodejs/tcp/internal/nodejs.net.kt | 2 +- .../transport/nodejs/tcp/TcpTransportTest.kt | 0 settings.gradle.kts | 43 ++++++++--------- 52 files changed, 96 insertions(+), 139 deletions(-) create mode 100644 build-settings/src/main/kotlin/rsocketsettings/ProjectsScope.kt delete mode 100644 rsocket-ktor/api/rsocket-ktor.api delete mode 100644 rsocket-ktor/build.gradle.kts rename rsocket-ktor/{rsocket-ktor-client => client}/api/rsocket-ktor-client.api (100%) rename rsocket-ktor/{rsocket-ktor-client => client}/build.gradle.kts (89%) rename rsocket-ktor/{rsocket-ktor-client => client}/src/commonMain/kotlin/io/rsocket/kotlin/ktor/client/Builders.kt (97%) rename rsocket-ktor/{rsocket-ktor-client => client}/src/commonMain/kotlin/io/rsocket/kotlin/ktor/client/RSocketSupport.kt (100%) rename rsocket-ktor/{rsocket-ktor-server => server}/api/rsocket-ktor-server.api (100%) rename rsocket-ktor/{rsocket-ktor-server => server}/build.gradle.kts (87%) rename rsocket-ktor/{rsocket-ktor-server => server}/src/commonMain/kotlin/io/rsocket/kotlin/ktor/server/RSocketSupport.kt (100%) rename rsocket-ktor/{rsocket-ktor-server => server}/src/commonMain/kotlin/io/rsocket/kotlin/ktor/server/Routing.kt (96%) rename rsocket-ktor/{rsocket-ktor-server => server}/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/WebSocketConnectionTest.kt (98%) delete mode 100644 rsocket-ktor/src/commonMain/kotlin/io/rsocket/kotlin/ktor/dummy.kt delete mode 100644 rsocket-transport-ktor/api/rsocket-transport-ktor.api delete mode 100644 rsocket-transport-ktor/build.gradle.kts delete mode 100644 rsocket-transport-ktor/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/dummy.kt rename {rsocket-transport-ktor/rsocket-transport-ktor-tcp => rsocket-transports/ktor-tcp}/api/rsocket-transport-ktor-tcp.api (100%) rename {rsocket-transport-ktor/rsocket-transport-ktor-tcp => rsocket-transports/ktor-tcp}/build.gradle.kts (95%) rename {rsocket-transport-ktor/rsocket-transport-ktor-tcp => rsocket-transports/ktor-tcp}/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/TcpClientTransport.kt (100%) rename {rsocket-transport-ktor/rsocket-transport-ktor-tcp => rsocket-transports/ktor-tcp}/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/TcpConnection.kt (100%) rename {rsocket-transport-ktor/rsocket-transport-ktor-tcp => rsocket-transports/ktor-tcp}/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/TcpServerTransport.kt (100%) rename {rsocket-transport-ktor/rsocket-transport-ktor-tcp => rsocket-transports/ktor-tcp}/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/tcp/TcpServerTest.kt (100%) rename {rsocket-transport-ktor/rsocket-transport-ktor-tcp => rsocket-transports/ktor-tcp}/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/tcp/TcpTransportTest.kt (100%) rename {rsocket-transport-ktor/rsocket-transport-ktor-tcp => rsocket-transports/ktor-tcp}/src/jvmMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/defaultDispatcher.kt (92%) rename {rsocket-transport-ktor/rsocket-transport-ktor-tcp => rsocket-transports/ktor-tcp}/src/nativeMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/defaultDispatcher.kt (93%) rename {rsocket-transport-ktor/rsocket-transport-ktor-websocket-client => rsocket-transports/ktor-websocket-client}/api/rsocket-transport-ktor-websocket-client.api (100%) rename {rsocket-transport-ktor/rsocket-transport-ktor-websocket-client => rsocket-transports/ktor-websocket-client}/build.gradle.kts (89%) rename {rsocket-transport-ktor/rsocket-transport-ktor-websocket-client => rsocket-transports/ktor-websocket-client}/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket/client/WebSocketClientTransport.kt (98%) rename {rsocket-transport-ktor/rsocket-transport-ktor-websocket-client => rsocket-transports/ktor-websocket-client}/src/jsTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/client/ClientWebSocketTransportTest.kt (94%) rename rsocket-transport-ktor/rsocket-transport-ktor-websocket/api/rsocket-transport-ktor-websocket.api => rsocket-transports/ktor-websocket-internal/api/rsocket-transport-ktor-websocket-internal.api (66%) rename {rsocket-transport-ktor/rsocket-transport-ktor-websocket => rsocket-transports/ktor-websocket-internal}/build.gradle.kts (95%) rename {rsocket-transport-ktor/rsocket-transport-ktor-websocket/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket => rsocket-transports/ktor-websocket-internal/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket/internal}/WebSocketConnection.kt (94%) rename {rsocket-transport-ktor/rsocket-transport-ktor-websocket-server => rsocket-transports/ktor-websocket-server}/api/rsocket-transport-ktor-websocket-server.api (100%) rename {rsocket-transport-ktor/rsocket-transport-ktor-websocket-server => rsocket-transports/ktor-websocket-server}/build.gradle.kts (88%) rename {rsocket-transport-ktor/rsocket-transport-ktor-websocket-server => rsocket-transports/ktor-websocket-server}/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/WebSocketServerTransport.kt (97%) rename {rsocket-transport-ktor/rsocket-transport-ktor-websocket-server => rsocket-transports/ktor-websocket-server}/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/CIOWebSocketTransportTest.kt (96%) rename {rsocket-transport-ktor/rsocket-transport-ktor-websocket-server => rsocket-transports/ktor-websocket-server}/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/WebSocketTransportTest.kt (100%) rename {rsocket-transport-ktor/rsocket-transport-ktor-websocket-server => rsocket-transports/ktor-websocket-server}/src/jvmTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/WebSocketTransportTests.kt (95%) rename {rsocket-transport-local => rsocket-transports/local}/api/rsocket-transport-local.api (100%) rename {rsocket-transport-local => rsocket-transports/local}/build.gradle.kts (100%) rename {rsocket-transport-local => rsocket-transports/local}/src/commonMain/kotlin/io/rsocket/kotlin/transport/local/LocalConnection.kt (100%) rename {rsocket-transport-local => rsocket-transports/local}/src/commonMain/kotlin/io/rsocket/kotlin/transport/local/LocalServer.kt (100%) rename {rsocket-transport-local => rsocket-transports/local}/src/commonTest/kotlin/io/rsocket/kotlin/transport/local/LocalTransportTest.kt (100%) rename {rsocket-transport-nodejs-tcp => rsocket-transports/nodejs-tcp}/build.gradle.kts (100%) rename {rsocket-transport-nodejs-tcp => rsocket-transports/nodejs-tcp}/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/FrameWithLengthAssembler.kt (97%) rename {rsocket-transport-nodejs-tcp => rsocket-transports/nodejs-tcp}/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/TcpClientTransport.kt (100%) rename {rsocket-transport-nodejs-tcp => rsocket-transports/nodejs-tcp}/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/TcpConnection.kt (100%) rename {rsocket-transport-nodejs-tcp => rsocket-transports/nodejs-tcp}/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/TcpServerTransport.kt (100%) rename {rsocket-transport-nodejs-tcp => rsocket-transports/nodejs-tcp}/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/internal/ext.kt (95%) rename {rsocket-transport-nodejs-tcp => rsocket-transports/nodejs-tcp}/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/internal/nodejs.net.kt (96%) rename {rsocket-transport-nodejs-tcp => rsocket-transports/nodejs-tcp}/src/jsTest/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/TcpTransportTest.kt (100%) diff --git a/build-settings/src/main/kotlin/rsocketsettings/ProjectsScope.kt b/build-settings/src/main/kotlin/rsocketsettings/ProjectsScope.kt new file mode 100644 index 000000000..80cd39401 --- /dev/null +++ b/build-settings/src/main/kotlin/rsocketsettings/ProjectsScope.kt @@ -0,0 +1,47 @@ +/* + * Copyright 2015-2024 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package rsocketsettings + +import org.gradle.api.initialization.* + +fun Settings.projects(block: ProjectsScope.() -> Unit) { + ProjectsScope(settings, emptyList(), emptyList()).apply(block) +} + +class ProjectsScope( + private val settings: Settings, + private val pathParts: List, + private val prefixParts: List, +) { + + fun module(name: String) { + val moduleName = (prefixParts + name).joinToString("-") + val modulePath = (pathParts + name).joinToString("/") + + settings.include(moduleName) + settings.project(":$moduleName").projectDir = settings.rootDir.resolve(modulePath) + } + + fun module(name: String, prefix: String = name, nested: ProjectsScope.() -> Unit = {}) { + module(name) + folder(name, prefix, nested) + } + + fun folder(name: String, prefix: String = name, block: ProjectsScope.() -> Unit) { + ProjectsScope(settings, pathParts + name, prefixParts + prefix).apply(block) + } +} diff --git a/rsocket-ktor/api/rsocket-ktor.api b/rsocket-ktor/api/rsocket-ktor.api deleted file mode 100644 index e69de29bb..000000000 diff --git a/rsocket-ktor/build.gradle.kts b/rsocket-ktor/build.gradle.kts deleted file mode 100644 index b79629dc1..000000000 --- a/rsocket-ktor/build.gradle.kts +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2015-2024 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import rsocketbuild.* - -plugins { - id("rsocketbuild.multiplatform-library") -} - -description = "rsocket-kotlin ktor integration" - -kotlin { - jvmTarget() - jsTarget() - nativeTargets() - - sourceSets { - commonMain.dependencies { - api(projects.rsocketCore) - api(projects.rsocketTransportKtor.rsocketTransportKtorWebsocket) - //TODO ContentNegotiation will be here later - } - } -} diff --git a/rsocket-ktor/rsocket-ktor-client/api/rsocket-ktor-client.api b/rsocket-ktor/client/api/rsocket-ktor-client.api similarity index 100% rename from rsocket-ktor/rsocket-ktor-client/api/rsocket-ktor-client.api rename to rsocket-ktor/client/api/rsocket-ktor-client.api diff --git a/rsocket-ktor/rsocket-ktor-client/build.gradle.kts b/rsocket-ktor/client/build.gradle.kts similarity index 89% rename from rsocket-ktor/rsocket-ktor-client/build.gradle.kts rename to rsocket-ktor/client/build.gradle.kts index df4db279f..9d9b43f8e 100644 --- a/rsocket-ktor/rsocket-ktor-client/build.gradle.kts +++ b/rsocket-ktor/client/build.gradle.kts @@ -29,7 +29,8 @@ kotlin { sourceSets { commonMain.dependencies { - api(projects.rsocketKtor) + implementation(projects.rsocketTransportKtorWebsocketInternal) + api(projects.rsocketCore) api(libs.ktor.client.websockets) } } diff --git a/rsocket-ktor/rsocket-ktor-client/src/commonMain/kotlin/io/rsocket/kotlin/ktor/client/Builders.kt b/rsocket-ktor/client/src/commonMain/kotlin/io/rsocket/kotlin/ktor/client/Builders.kt similarity index 97% rename from rsocket-ktor/rsocket-ktor-client/src/commonMain/kotlin/io/rsocket/kotlin/ktor/client/Builders.kt rename to rsocket-ktor/client/src/commonMain/kotlin/io/rsocket/kotlin/ktor/client/Builders.kt index 49850ce2a..5b8f6778b 100644 --- a/rsocket-ktor/rsocket-ktor-client/src/commonMain/kotlin/io/rsocket/kotlin/ktor/client/Builders.kt +++ b/rsocket-ktor/client/src/commonMain/kotlin/io/rsocket/kotlin/ktor/client/Builders.kt @@ -23,7 +23,7 @@ import io.ktor.client.request.* import io.ktor.http.* import io.rsocket.kotlin.* import io.rsocket.kotlin.transport.* -import io.rsocket.kotlin.transport.ktor.websocket.* +import io.rsocket.kotlin.transport.ktor.websocket.internal.* import kotlin.coroutines.* public suspend fun HttpClient.rSocket( diff --git a/rsocket-ktor/rsocket-ktor-client/src/commonMain/kotlin/io/rsocket/kotlin/ktor/client/RSocketSupport.kt b/rsocket-ktor/client/src/commonMain/kotlin/io/rsocket/kotlin/ktor/client/RSocketSupport.kt similarity index 100% rename from rsocket-ktor/rsocket-ktor-client/src/commonMain/kotlin/io/rsocket/kotlin/ktor/client/RSocketSupport.kt rename to rsocket-ktor/client/src/commonMain/kotlin/io/rsocket/kotlin/ktor/client/RSocketSupport.kt diff --git a/rsocket-ktor/rsocket-ktor-server/api/rsocket-ktor-server.api b/rsocket-ktor/server/api/rsocket-ktor-server.api similarity index 100% rename from rsocket-ktor/rsocket-ktor-server/api/rsocket-ktor-server.api rename to rsocket-ktor/server/api/rsocket-ktor-server.api diff --git a/rsocket-ktor/rsocket-ktor-server/build.gradle.kts b/rsocket-ktor/server/build.gradle.kts similarity index 87% rename from rsocket-ktor/rsocket-ktor-server/build.gradle.kts rename to rsocket-ktor/server/build.gradle.kts index e1ebecf36..c4b6c7884 100644 --- a/rsocket-ktor/rsocket-ktor-server/build.gradle.kts +++ b/rsocket-ktor/server/build.gradle.kts @@ -28,11 +28,12 @@ kotlin { sourceSets { commonMain.dependencies { - api(projects.rsocketKtor) + implementation(projects.rsocketTransportKtorWebsocketInternal) + api(projects.rsocketCore) api(libs.ktor.server.websockets) } commonTest.dependencies { - implementation(projects.rsocketKtor.rsocketKtorClient) + implementation(projects.rsocketKtorClient) implementation(projects.rsocketTransportTests) //port provider implementation(libs.ktor.client.cio) implementation(libs.ktor.server.cio) diff --git a/rsocket-ktor/rsocket-ktor-server/src/commonMain/kotlin/io/rsocket/kotlin/ktor/server/RSocketSupport.kt b/rsocket-ktor/server/src/commonMain/kotlin/io/rsocket/kotlin/ktor/server/RSocketSupport.kt similarity index 100% rename from rsocket-ktor/rsocket-ktor-server/src/commonMain/kotlin/io/rsocket/kotlin/ktor/server/RSocketSupport.kt rename to rsocket-ktor/server/src/commonMain/kotlin/io/rsocket/kotlin/ktor/server/RSocketSupport.kt diff --git a/rsocket-ktor/rsocket-ktor-server/src/commonMain/kotlin/io/rsocket/kotlin/ktor/server/Routing.kt b/rsocket-ktor/server/src/commonMain/kotlin/io/rsocket/kotlin/ktor/server/Routing.kt similarity index 96% rename from rsocket-ktor/rsocket-ktor-server/src/commonMain/kotlin/io/rsocket/kotlin/ktor/server/Routing.kt rename to rsocket-ktor/server/src/commonMain/kotlin/io/rsocket/kotlin/ktor/server/Routing.kt index 20fcb27a7..7cdd09831 100644 --- a/rsocket-ktor/rsocket-ktor-server/src/commonMain/kotlin/io/rsocket/kotlin/ktor/server/Routing.kt +++ b/rsocket-ktor/server/src/commonMain/kotlin/io/rsocket/kotlin/ktor/server/Routing.kt @@ -21,7 +21,7 @@ import io.ktor.server.routing.* import io.ktor.server.websocket.* import io.rsocket.kotlin.* import io.rsocket.kotlin.transport.* -import io.rsocket.kotlin.transport.ktor.websocket.* +import io.rsocket.kotlin.transport.ktor.websocket.internal.* import kotlinx.coroutines.* public fun Route.rSocket( diff --git a/rsocket-ktor/rsocket-ktor-server/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/WebSocketConnectionTest.kt b/rsocket-ktor/server/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/WebSocketConnectionTest.kt similarity index 98% rename from rsocket-ktor/rsocket-ktor-server/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/WebSocketConnectionTest.kt rename to rsocket-ktor/server/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/WebSocketConnectionTest.kt index ecd950270..b1d686838 100644 --- a/rsocket-ktor/rsocket-ktor-server/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/WebSocketConnectionTest.kt +++ b/rsocket-ktor/server/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/WebSocketConnectionTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2015-2022 the original author or authors. + * Copyright 2015-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/rsocket-ktor/src/commonMain/kotlin/io/rsocket/kotlin/ktor/dummy.kt b/rsocket-ktor/src/commonMain/kotlin/io/rsocket/kotlin/ktor/dummy.kt deleted file mode 100644 index df46d5bd2..000000000 --- a/rsocket-ktor/src/commonMain/kotlin/io/rsocket/kotlin/ktor/dummy.kt +++ /dev/null @@ -1,3 +0,0 @@ -package io.rsocket.kotlin.ktor - -private val dummy: Int = 0 diff --git a/rsocket-transport-ktor/api/rsocket-transport-ktor.api b/rsocket-transport-ktor/api/rsocket-transport-ktor.api deleted file mode 100644 index e69de29bb..000000000 diff --git a/rsocket-transport-ktor/build.gradle.kts b/rsocket-transport-ktor/build.gradle.kts deleted file mode 100644 index 0fd2e0077..000000000 --- a/rsocket-transport-ktor/build.gradle.kts +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright 2015-2024 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import rsocketbuild.* - -plugins { - id("rsocketbuild.multiplatform-library") -} - -description = "rsocket-kotlin ktor transport utilities" - -kotlin { - jvmTarget() - jsTarget() - nativeTargets() - - sourceSets { - commonMain.dependencies { - api(projects.rsocketCore) - } - } -} diff --git a/rsocket-transport-ktor/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/dummy.kt b/rsocket-transport-ktor/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/dummy.kt deleted file mode 100644 index d15499d1b..000000000 --- a/rsocket-transport-ktor/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/dummy.kt +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright 2015-2022 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package io.rsocket.kotlin.transport.ktor - -private val dummy: Int = 0 diff --git a/rsocket-transport-ktor/rsocket-transport-ktor-tcp/api/rsocket-transport-ktor-tcp.api b/rsocket-transports/ktor-tcp/api/rsocket-transport-ktor-tcp.api similarity index 100% rename from rsocket-transport-ktor/rsocket-transport-ktor-tcp/api/rsocket-transport-ktor-tcp.api rename to rsocket-transports/ktor-tcp/api/rsocket-transport-ktor-tcp.api diff --git a/rsocket-transport-ktor/rsocket-transport-ktor-tcp/build.gradle.kts b/rsocket-transports/ktor-tcp/build.gradle.kts similarity index 95% rename from rsocket-transport-ktor/rsocket-transport-ktor-tcp/build.gradle.kts rename to rsocket-transports/ktor-tcp/build.gradle.kts index 8b6077b61..7c4cf76d5 100644 --- a/rsocket-transport-ktor/rsocket-transport-ktor-tcp/build.gradle.kts +++ b/rsocket-transports/ktor-tcp/build.gradle.kts @@ -29,8 +29,7 @@ kotlin { sourceSets { commonMain.dependencies { implementation(projects.rsocketInternalIo) - - api(projects.rsocketTransportKtor) + api(projects.rsocketCore) api(libs.ktor.network) } commonTest.dependencies { diff --git a/rsocket-transport-ktor/rsocket-transport-ktor-tcp/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/TcpClientTransport.kt b/rsocket-transports/ktor-tcp/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/TcpClientTransport.kt similarity index 100% rename from rsocket-transport-ktor/rsocket-transport-ktor-tcp/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/TcpClientTransport.kt rename to rsocket-transports/ktor-tcp/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/TcpClientTransport.kt diff --git a/rsocket-transport-ktor/rsocket-transport-ktor-tcp/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/TcpConnection.kt b/rsocket-transports/ktor-tcp/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/TcpConnection.kt similarity index 100% rename from rsocket-transport-ktor/rsocket-transport-ktor-tcp/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/TcpConnection.kt rename to rsocket-transports/ktor-tcp/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/TcpConnection.kt diff --git a/rsocket-transport-ktor/rsocket-transport-ktor-tcp/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/TcpServerTransport.kt b/rsocket-transports/ktor-tcp/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/TcpServerTransport.kt similarity index 100% rename from rsocket-transport-ktor/rsocket-transport-ktor-tcp/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/TcpServerTransport.kt rename to rsocket-transports/ktor-tcp/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/TcpServerTransport.kt diff --git a/rsocket-transport-ktor/rsocket-transport-ktor-tcp/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/tcp/TcpServerTest.kt b/rsocket-transports/ktor-tcp/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/tcp/TcpServerTest.kt similarity index 100% rename from rsocket-transport-ktor/rsocket-transport-ktor-tcp/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/tcp/TcpServerTest.kt rename to rsocket-transports/ktor-tcp/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/tcp/TcpServerTest.kt diff --git a/rsocket-transport-ktor/rsocket-transport-ktor-tcp/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/tcp/TcpTransportTest.kt b/rsocket-transports/ktor-tcp/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/tcp/TcpTransportTest.kt similarity index 100% rename from rsocket-transport-ktor/rsocket-transport-ktor-tcp/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/tcp/TcpTransportTest.kt rename to rsocket-transports/ktor-tcp/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/tcp/TcpTransportTest.kt diff --git a/rsocket-transport-ktor/rsocket-transport-ktor-tcp/src/jvmMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/defaultDispatcher.kt b/rsocket-transports/ktor-tcp/src/jvmMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/defaultDispatcher.kt similarity index 92% rename from rsocket-transport-ktor/rsocket-transport-ktor-tcp/src/jvmMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/defaultDispatcher.kt rename to rsocket-transports/ktor-tcp/src/jvmMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/defaultDispatcher.kt index 3f287bafd..aec806034 100644 --- a/rsocket-transport-ktor/rsocket-transport-ktor-tcp/src/jvmMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/defaultDispatcher.kt +++ b/rsocket-transports/ktor-tcp/src/jvmMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/defaultDispatcher.kt @@ -1,5 +1,5 @@ /* - * Copyright 2015-2022 the original author or authors. + * Copyright 2015-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/rsocket-transport-ktor/rsocket-transport-ktor-tcp/src/nativeMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/defaultDispatcher.kt b/rsocket-transports/ktor-tcp/src/nativeMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/defaultDispatcher.kt similarity index 93% rename from rsocket-transport-ktor/rsocket-transport-ktor-tcp/src/nativeMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/defaultDispatcher.kt rename to rsocket-transports/ktor-tcp/src/nativeMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/defaultDispatcher.kt index 6ff07864b..5fa3a8e23 100644 --- a/rsocket-transport-ktor/rsocket-transport-ktor-tcp/src/nativeMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/defaultDispatcher.kt +++ b/rsocket-transports/ktor-tcp/src/nativeMain/kotlin/io/rsocket/kotlin/transport/ktor/tcp/defaultDispatcher.kt @@ -1,5 +1,5 @@ /* - * Copyright 2015-2022 the original author or authors. + * Copyright 2015-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/rsocket-transport-ktor/rsocket-transport-ktor-websocket-client/api/rsocket-transport-ktor-websocket-client.api b/rsocket-transports/ktor-websocket-client/api/rsocket-transport-ktor-websocket-client.api similarity index 100% rename from rsocket-transport-ktor/rsocket-transport-ktor-websocket-client/api/rsocket-transport-ktor-websocket-client.api rename to rsocket-transports/ktor-websocket-client/api/rsocket-transport-ktor-websocket-client.api diff --git a/rsocket-transport-ktor/rsocket-transport-ktor-websocket-client/build.gradle.kts b/rsocket-transports/ktor-websocket-client/build.gradle.kts similarity index 89% rename from rsocket-transport-ktor/rsocket-transport-ktor-websocket-client/build.gradle.kts rename to rsocket-transports/ktor-websocket-client/build.gradle.kts index 7c0dd0039..86ee3265f 100644 --- a/rsocket-transport-ktor/rsocket-transport-ktor-websocket-client/build.gradle.kts +++ b/rsocket-transports/ktor-websocket-client/build.gradle.kts @@ -29,7 +29,8 @@ kotlin { sourceSets { commonMain.dependencies { - api(projects.rsocketTransportKtor.rsocketTransportKtorWebsocket) + implementation(projects.rsocketTransportKtorWebsocketInternal) + api(projects.rsocketCore) api(libs.ktor.client.core) api(libs.ktor.client.websockets) } diff --git a/rsocket-transport-ktor/rsocket-transport-ktor-websocket-client/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket/client/WebSocketClientTransport.kt b/rsocket-transports/ktor-websocket-client/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket/client/WebSocketClientTransport.kt similarity index 98% rename from rsocket-transport-ktor/rsocket-transport-ktor-websocket-client/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket/client/WebSocketClientTransport.kt rename to rsocket-transports/ktor-websocket-client/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket/client/WebSocketClientTransport.kt index 0f33ee440..89eeef97a 100644 --- a/rsocket-transport-ktor/rsocket-transport-ktor-websocket-client/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket/client/WebSocketClientTransport.kt +++ b/rsocket-transports/ktor-websocket-client/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket/client/WebSocketClientTransport.kt @@ -26,7 +26,7 @@ import io.ktor.client.request.* import io.ktor.http.* import io.rsocket.kotlin.* import io.rsocket.kotlin.transport.* -import io.rsocket.kotlin.transport.ktor.websocket.* +import io.rsocket.kotlin.transport.ktor.websocket.internal.* import kotlinx.coroutines.* import kotlin.coroutines.* diff --git a/rsocket-transport-ktor/rsocket-transport-ktor-websocket-client/src/jsTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/client/ClientWebSocketTransportTest.kt b/rsocket-transports/ktor-websocket-client/src/jsTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/client/ClientWebSocketTransportTest.kt similarity index 94% rename from rsocket-transport-ktor/rsocket-transport-ktor-websocket-client/src/jsTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/client/ClientWebSocketTransportTest.kt rename to rsocket-transports/ktor-websocket-client/src/jsTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/client/ClientWebSocketTransportTest.kt index 1bc38053c..67f71ba94 100644 --- a/rsocket-transport-ktor/rsocket-transport-ktor-websocket-client/src/jsTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/client/ClientWebSocketTransportTest.kt +++ b/rsocket-transports/ktor-websocket-client/src/jsTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/client/ClientWebSocketTransportTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2015-2023 the original author or authors. + * Copyright 2015-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/rsocket-transport-ktor/rsocket-transport-ktor-websocket/api/rsocket-transport-ktor-websocket.api b/rsocket-transports/ktor-websocket-internal/api/rsocket-transport-ktor-websocket-internal.api similarity index 66% rename from rsocket-transport-ktor/rsocket-transport-ktor-websocket/api/rsocket-transport-ktor-websocket.api rename to rsocket-transports/ktor-websocket-internal/api/rsocket-transport-ktor-websocket-internal.api index 90f9c276d..9ca3776f4 100644 --- a/rsocket-transport-ktor/rsocket-transport-ktor-websocket/api/rsocket-transport-ktor-websocket.api +++ b/rsocket-transports/ktor-websocket-internal/api/rsocket-transport-ktor-websocket-internal.api @@ -1,4 +1,4 @@ -public final class io/rsocket/kotlin/transport/ktor/websocket/WebSocketConnection : io/rsocket/kotlin/Connection, kotlinx/coroutines/CoroutineScope { +public final class io/rsocket/kotlin/transport/ktor/websocket/internal/WebSocketConnection : io/rsocket/kotlin/Connection, kotlinx/coroutines/CoroutineScope { public fun (Lio/ktor/websocket/WebSocketSession;)V public fun getCoroutineContext ()Lkotlin/coroutines/CoroutineContext; public fun receive (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; diff --git a/rsocket-transport-ktor/rsocket-transport-ktor-websocket/build.gradle.kts b/rsocket-transports/ktor-websocket-internal/build.gradle.kts similarity index 95% rename from rsocket-transport-ktor/rsocket-transport-ktor-websocket/build.gradle.kts rename to rsocket-transports/ktor-websocket-internal/build.gradle.kts index 2094900d2..0cb0129d8 100644 --- a/rsocket-transport-ktor/rsocket-transport-ktor-websocket/build.gradle.kts +++ b/rsocket-transports/ktor-websocket-internal/build.gradle.kts @@ -29,7 +29,7 @@ kotlin { sourceSets { commonMain.dependencies { - api(projects.rsocketTransportKtor) + api(projects.rsocketCore) api(libs.ktor.websockets) } } diff --git a/rsocket-transport-ktor/rsocket-transport-ktor-websocket/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket/WebSocketConnection.kt b/rsocket-transports/ktor-websocket-internal/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket/internal/WebSocketConnection.kt similarity index 94% rename from rsocket-transport-ktor/rsocket-transport-ktor-websocket/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket/WebSocketConnection.kt rename to rsocket-transports/ktor-websocket-internal/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket/internal/WebSocketConnection.kt index 47423e62c..9a04350a1 100644 --- a/rsocket-transport-ktor/rsocket-transport-ktor-websocket/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket/WebSocketConnection.kt +++ b/rsocket-transports/ktor-websocket-internal/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket/internal/WebSocketConnection.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package io.rsocket.kotlin.transport.ktor.websocket +package io.rsocket.kotlin.transport.ktor.websocket.internal import io.ktor.utils.io.core.* import io.ktor.websocket.* diff --git a/rsocket-transport-ktor/rsocket-transport-ktor-websocket-server/api/rsocket-transport-ktor-websocket-server.api b/rsocket-transports/ktor-websocket-server/api/rsocket-transport-ktor-websocket-server.api similarity index 100% rename from rsocket-transport-ktor/rsocket-transport-ktor-websocket-server/api/rsocket-transport-ktor-websocket-server.api rename to rsocket-transports/ktor-websocket-server/api/rsocket-transport-ktor-websocket-server.api diff --git a/rsocket-transport-ktor/rsocket-transport-ktor-websocket-server/build.gradle.kts b/rsocket-transports/ktor-websocket-server/build.gradle.kts similarity index 88% rename from rsocket-transport-ktor/rsocket-transport-ktor-websocket-server/build.gradle.kts rename to rsocket-transports/ktor-websocket-server/build.gradle.kts index 322a990ea..a58680538 100644 --- a/rsocket-transport-ktor/rsocket-transport-ktor-websocket-server/build.gradle.kts +++ b/rsocket-transports/ktor-websocket-server/build.gradle.kts @@ -28,13 +28,14 @@ kotlin { sourceSets { commonMain.dependencies { - api(projects.rsocketTransportKtor.rsocketTransportKtorWebsocket) + implementation(projects.rsocketTransportKtorWebsocketInternal) + api(projects.rsocketCore) api(libs.ktor.server.host.common) api(libs.ktor.server.websockets) } commonTest.dependencies { implementation(projects.rsocketTransportTests) - implementation(projects.rsocketTransportKtor.rsocketTransportKtorWebsocketClient) + implementation(projects.rsocketTransportKtorWebsocketClient) implementation(libs.ktor.client.cio) implementation(libs.ktor.server.cio) } diff --git a/rsocket-transport-ktor/rsocket-transport-ktor-websocket-server/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/WebSocketServerTransport.kt b/rsocket-transports/ktor-websocket-server/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/WebSocketServerTransport.kt similarity index 97% rename from rsocket-transport-ktor/rsocket-transport-ktor-websocket-server/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/WebSocketServerTransport.kt rename to rsocket-transports/ktor-websocket-server/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/WebSocketServerTransport.kt index 12426887f..24c2278cf 100644 --- a/rsocket-transport-ktor/rsocket-transport-ktor-websocket-server/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/WebSocketServerTransport.kt +++ b/rsocket-transports/ktor-websocket-server/src/commonMain/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/WebSocketServerTransport.kt @@ -22,7 +22,7 @@ import io.ktor.server.routing.* import io.ktor.server.websocket.* import io.rsocket.kotlin.* import io.rsocket.kotlin.transport.* -import io.rsocket.kotlin.transport.ktor.websocket.* +import io.rsocket.kotlin.transport.ktor.websocket.internal.* //TODO: will be reworked later with transport API rework diff --git a/rsocket-transport-ktor/rsocket-transport-ktor-websocket-server/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/CIOWebSocketTransportTest.kt b/rsocket-transports/ktor-websocket-server/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/CIOWebSocketTransportTest.kt similarity index 96% rename from rsocket-transport-ktor/rsocket-transport-ktor-websocket-server/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/CIOWebSocketTransportTest.kt rename to rsocket-transports/ktor-websocket-server/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/CIOWebSocketTransportTest.kt index 52860bb66..08f5f81d4 100644 --- a/rsocket-transport-ktor/rsocket-transport-ktor-websocket-server/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/CIOWebSocketTransportTest.kt +++ b/rsocket-transports/ktor-websocket-server/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/CIOWebSocketTransportTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2015-2022 the original author or authors. + * Copyright 2015-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/rsocket-transport-ktor/rsocket-transport-ktor-websocket-server/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/WebSocketTransportTest.kt b/rsocket-transports/ktor-websocket-server/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/WebSocketTransportTest.kt similarity index 100% rename from rsocket-transport-ktor/rsocket-transport-ktor-websocket-server/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/WebSocketTransportTest.kt rename to rsocket-transports/ktor-websocket-server/src/commonTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/WebSocketTransportTest.kt diff --git a/rsocket-transport-ktor/rsocket-transport-ktor-websocket-server/src/jvmTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/WebSocketTransportTests.kt b/rsocket-transports/ktor-websocket-server/src/jvmTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/WebSocketTransportTests.kt similarity index 95% rename from rsocket-transport-ktor/rsocket-transport-ktor-websocket-server/src/jvmTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/WebSocketTransportTests.kt rename to rsocket-transports/ktor-websocket-server/src/jvmTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/WebSocketTransportTests.kt index 820521310..bb17b9a2b 100644 --- a/rsocket-transport-ktor/rsocket-transport-ktor-websocket-server/src/jvmTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/WebSocketTransportTests.kt +++ b/rsocket-transports/ktor-websocket-server/src/jvmTest/kotlin/io/rsocket/kotlin/transport/ktor/websocket/server/WebSocketTransportTests.kt @@ -1,5 +1,5 @@ /* - * Copyright 2015-2022 the original author or authors. + * Copyright 2015-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/rsocket-transport-local/api/rsocket-transport-local.api b/rsocket-transports/local/api/rsocket-transport-local.api similarity index 100% rename from rsocket-transport-local/api/rsocket-transport-local.api rename to rsocket-transports/local/api/rsocket-transport-local.api diff --git a/rsocket-transport-local/build.gradle.kts b/rsocket-transports/local/build.gradle.kts similarity index 100% rename from rsocket-transport-local/build.gradle.kts rename to rsocket-transports/local/build.gradle.kts diff --git a/rsocket-transport-local/src/commonMain/kotlin/io/rsocket/kotlin/transport/local/LocalConnection.kt b/rsocket-transports/local/src/commonMain/kotlin/io/rsocket/kotlin/transport/local/LocalConnection.kt similarity index 100% rename from rsocket-transport-local/src/commonMain/kotlin/io/rsocket/kotlin/transport/local/LocalConnection.kt rename to rsocket-transports/local/src/commonMain/kotlin/io/rsocket/kotlin/transport/local/LocalConnection.kt diff --git a/rsocket-transport-local/src/commonMain/kotlin/io/rsocket/kotlin/transport/local/LocalServer.kt b/rsocket-transports/local/src/commonMain/kotlin/io/rsocket/kotlin/transport/local/LocalServer.kt similarity index 100% rename from rsocket-transport-local/src/commonMain/kotlin/io/rsocket/kotlin/transport/local/LocalServer.kt rename to rsocket-transports/local/src/commonMain/kotlin/io/rsocket/kotlin/transport/local/LocalServer.kt diff --git a/rsocket-transport-local/src/commonTest/kotlin/io/rsocket/kotlin/transport/local/LocalTransportTest.kt b/rsocket-transports/local/src/commonTest/kotlin/io/rsocket/kotlin/transport/local/LocalTransportTest.kt similarity index 100% rename from rsocket-transport-local/src/commonTest/kotlin/io/rsocket/kotlin/transport/local/LocalTransportTest.kt rename to rsocket-transports/local/src/commonTest/kotlin/io/rsocket/kotlin/transport/local/LocalTransportTest.kt diff --git a/rsocket-transport-nodejs-tcp/build.gradle.kts b/rsocket-transports/nodejs-tcp/build.gradle.kts similarity index 100% rename from rsocket-transport-nodejs-tcp/build.gradle.kts rename to rsocket-transports/nodejs-tcp/build.gradle.kts diff --git a/rsocket-transport-nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/FrameWithLengthAssembler.kt b/rsocket-transports/nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/FrameWithLengthAssembler.kt similarity index 97% rename from rsocket-transport-nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/FrameWithLengthAssembler.kt rename to rsocket-transports/nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/FrameWithLengthAssembler.kt index 5f40d17b7..b141081e4 100644 --- a/rsocket-transport-nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/FrameWithLengthAssembler.kt +++ b/rsocket-transports/nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/FrameWithLengthAssembler.kt @@ -1,5 +1,5 @@ /* - * Copyright 2015-2023 the original author or authors. + * Copyright 2015-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/rsocket-transport-nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/TcpClientTransport.kt b/rsocket-transports/nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/TcpClientTransport.kt similarity index 100% rename from rsocket-transport-nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/TcpClientTransport.kt rename to rsocket-transports/nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/TcpClientTransport.kt diff --git a/rsocket-transport-nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/TcpConnection.kt b/rsocket-transports/nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/TcpConnection.kt similarity index 100% rename from rsocket-transport-nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/TcpConnection.kt rename to rsocket-transports/nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/TcpConnection.kt diff --git a/rsocket-transport-nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/TcpServerTransport.kt b/rsocket-transports/nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/TcpServerTransport.kt similarity index 100% rename from rsocket-transport-nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/TcpServerTransport.kt rename to rsocket-transports/nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/TcpServerTransport.kt diff --git a/rsocket-transport-nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/internal/ext.kt b/rsocket-transports/nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/internal/ext.kt similarity index 95% rename from rsocket-transport-nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/internal/ext.kt rename to rsocket-transports/nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/internal/ext.kt index ebe2547b4..f484aed4b 100644 --- a/rsocket-transport-nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/internal/ext.kt +++ b/rsocket-transports/nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/internal/ext.kt @@ -1,5 +1,5 @@ /* - * Copyright 2015-2022 the original author or authors. + * Copyright 2015-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/rsocket-transport-nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/internal/nodejs.net.kt b/rsocket-transports/nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/internal/nodejs.net.kt similarity index 96% rename from rsocket-transport-nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/internal/nodejs.net.kt rename to rsocket-transports/nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/internal/nodejs.net.kt index 28ddd6dbc..b67c77919 100644 --- a/rsocket-transport-nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/internal/nodejs.net.kt +++ b/rsocket-transports/nodejs-tcp/src/jsMain/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/internal/nodejs.net.kt @@ -1,5 +1,5 @@ /* - * Copyright 2015-2022 the original author or authors. + * Copyright 2015-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/rsocket-transport-nodejs-tcp/src/jsTest/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/TcpTransportTest.kt b/rsocket-transports/nodejs-tcp/src/jsTest/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/TcpTransportTest.kt similarity index 100% rename from rsocket-transport-nodejs-tcp/src/jsTest/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/TcpTransportTest.kt rename to rsocket-transports/nodejs-tcp/src/jsTest/kotlin/io/rsocket/kotlin/transport/nodejs/tcp/TcpTransportTest.kt diff --git a/settings.gradle.kts b/settings.gradle.kts index af6e81f42..511c69cf0 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -14,6 +14,8 @@ * limitations under the License. */ +import rsocketsettings.* + pluginManagement { includeBuild("build-logic") includeBuild("build-settings") @@ -25,30 +27,29 @@ plugins { rootProject.name = "rsocket-kotlin" -//include("benchmarks") +projects { + module("rsocket-internal-io") + module("rsocket-core") -include("rsocket-internal-io") + module("rsocket-test") + module("rsocket-transport-tests") -include("rsocket-core") -include("rsocket-test") + // transports + folder("rsocket-transports", "rsocket-transport") { + module("local") -include("rsocket-transport-tests") -include("rsocket-transport-local") + module("ktor-tcp") -//ktor transport modules -include( - "rsocket-transport-ktor", - "rsocket-transport-ktor:rsocket-transport-ktor-tcp", - "rsocket-transport-ktor:rsocket-transport-ktor-websocket", - "rsocket-transport-ktor:rsocket-transport-ktor-websocket-client", - "rsocket-transport-ktor:rsocket-transport-ktor-websocket-server", -) + module("ktor-websocket-client") + module("ktor-websocket-server") + module("ktor-websocket-internal") -include("rsocket-transport-nodejs-tcp") + module("nodejs-tcp") + } -//deep ktor integration module -include( - "rsocket-ktor", - "rsocket-ktor:rsocket-ktor-client", - "rsocket-ktor:rsocket-ktor-server", -) + // ktor integration module + folder("rsocket-ktor") { + module("client") + module("server") + } +}