diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 879266a4..fe748a02 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -8,8 +8,6 @@ on: env: SONATYPE_USER: ${{ secrets.SONATYPE_USER }} SONATYPE_PWD: ${{ secrets.SONATYPE_PWD }} - ORG_GRADLE_PROJECT_signingKey: ${{ secrets.PGP_SECRET }} - ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.PGP_PASSPHRASE }} OSS_USER: '${{ secrets.OSS_USER }}' OSS_TOKEN: '${{ secrets.OSS_TOKEN }}' OSS_STAGING_PROFILE_ID: '${{ secrets.OSS_STAGING_PROFILE_ID }}' diff --git a/clients/http4k-client/api/http4k-client.api b/clients/http4k-client/api/arrow-endpoint-http4k-client.api similarity index 100% rename from clients/http4k-client/api/http4k-client.api rename to clients/http4k-client/api/arrow-endpoint-http4k-client.api diff --git a/clients/http4k-client/build.gradle.kts b/clients/http4k-client/build.gradle.kts index e3d45e9b..1245973a 100644 --- a/clients/http4k-client/build.gradle.kts +++ b/clients/http4k-client/build.gradle.kts @@ -7,10 +7,10 @@ plugins { } dependencies { - api(projects.core) + api(projects.arrowEndpointCore) api(libs.http4k.core) - testImplementation(projects.test) + testImplementation(projects.arrowEndpointTest) testImplementation(libs.http4k.client.apache) testImplementation(libs.coroutines.core) testImplementation(libs.kotest.assertionsCore) diff --git a/clients/http4k-client/gradle.properties b/clients/http4k-client/gradle.properties index d8450fcf..925a5a5d 100644 --- a/clients/http4k-client/gradle.properties +++ b/clients/http4k-client/gradle.properties @@ -1,3 +1 @@ -POM_NAME=Arrow Endpoint Http4k Client -POM_ARTIFACT_ID=arrow-endpoint-client-http4k -POM_PACKAGING=jar \ No newline at end of file +pom.name=Arrow Endpoint Http4k Client \ No newline at end of file diff --git a/clients/ktor-client/api/ktor-client.api b/clients/ktor-client/api/arrow-endpoint-ktor-client.api similarity index 100% rename from clients/ktor-client/api/ktor-client.api rename to clients/ktor-client/api/arrow-endpoint-ktor-client.api diff --git a/clients/ktor-client/build.gradle.kts b/clients/ktor-client/build.gradle.kts index 9e768c7f..b98bf48e 100644 --- a/clients/ktor-client/build.gradle.kts +++ b/clients/ktor-client/build.gradle.kts @@ -7,12 +7,12 @@ plugins { } dependencies { - api(projects.core) + api(projects.arrowEndpointCore) api(libs.ktor.client.core) - testImplementation(projects.core) + testImplementation(projects.arrowEndpointCore) testImplementation(libs.ktor.client.cio) - testImplementation(projects.test) + testImplementation(projects.arrowEndpointTest) testImplementation(libs.coroutines.core) testImplementation(libs.kotest.assertionsCore) testImplementation(libs.kotest.property) diff --git a/clients/ktor-client/gradle.properties b/clients/ktor-client/gradle.properties index 5b8731fd..83326b69 100644 --- a/clients/ktor-client/gradle.properties +++ b/clients/ktor-client/gradle.properties @@ -1,3 +1 @@ -POM_NAME=Arrow Endpoint Ktor Client -POM_ARTIFACT_ID=arrow-endpoint-client-ktor -POM_PACKAGING=jar \ No newline at end of file +pom.name=Arrow Endpoint Ktor Client \ No newline at end of file diff --git a/clients/spring-web-client/api/spring-web-client.api b/clients/spring-web-client/api/arrow-endpoint-spring-web-client.api similarity index 100% rename from clients/spring-web-client/api/spring-web-client.api rename to clients/spring-web-client/api/arrow-endpoint-spring-web-client.api diff --git a/clients/spring-web-client/build.gradle.kts b/clients/spring-web-client/build.gradle.kts index 3a15cb41..6d8f163d 100644 --- a/clients/spring-web-client/build.gradle.kts +++ b/clients/spring-web-client/build.gradle.kts @@ -7,10 +7,10 @@ plugins { } dependencies { - api(projects.core) + api(projects.arrowEndpointCore) api(libs.spring.boot.starter.web) - testImplementation(projects.test) + testImplementation(projects.arrowEndpointTest) testImplementation(libs.coroutines.core) testImplementation(libs.kotest.assertionsCore) testImplementation(libs.kotest.property) diff --git a/clients/spring-web-client/gradle.properties b/clients/spring-web-client/gradle.properties index f3ce0821..2d642bd9 100644 --- a/clients/spring-web-client/gradle.properties +++ b/clients/spring-web-client/gradle.properties @@ -1,3 +1 @@ -POM_NAME=Arrow Endpoint Spring Web Client -POM_ARTIFACT_ID=arrow-endpoint-client-spring-web -POM_PACKAGING=jar \ No newline at end of file +pom.name=Arrow Endpoint Spring Web Client \ No newline at end of file diff --git a/clients/spring-web-flux-client/gradle.properties b/clients/spring-web-flux-client/gradle.properties deleted file mode 100644 index 26861745..00000000 --- a/clients/spring-web-flux-client/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -POM_NAME=Arrow Endpoint Spring WebFlux Client -POM_ARTIFACT_ID=arrow-endpoint-client-spring-webflux -POM_PACKAGING=jar \ No newline at end of file diff --git a/clients/spring-web-flux-client/api/spring-web-flux-client.api b/clients/spring-webflux-client/api/arrow-endpoint-spring-webflux-client.api similarity index 100% rename from clients/spring-web-flux-client/api/spring-web-flux-client.api rename to clients/spring-webflux-client/api/arrow-endpoint-spring-webflux-client.api diff --git a/clients/spring-web-flux-client/build.gradle.kts b/clients/spring-webflux-client/build.gradle.kts similarity index 87% rename from clients/spring-web-flux-client/build.gradle.kts rename to clients/spring-webflux-client/build.gradle.kts index bb165989..d6c7ff48 100644 --- a/clients/spring-web-flux-client/build.gradle.kts +++ b/clients/spring-webflux-client/build.gradle.kts @@ -7,13 +7,13 @@ plugins { } dependencies { - api(projects.core) + api(projects.arrowEndpointCore) api(libs.coroutines.reactive) api(libs.coroutines.reactor) api(libs.spring.boot.starter.webflux) api(libs.netty.transport.native.kqueue) - testImplementation(projects.test) + testImplementation(projects.arrowEndpointTest) testImplementation(libs.coroutines.core) testImplementation(libs.kotest.assertionsCore) testImplementation(libs.kotest.property) diff --git a/clients/spring-webflux-client/gradle.properties b/clients/spring-webflux-client/gradle.properties new file mode 100644 index 00000000..ca3793cf --- /dev/null +++ b/clients/spring-webflux-client/gradle.properties @@ -0,0 +1 @@ +pom.name=Arrow Endpoint Spring WebFlux Client \ No newline at end of file diff --git a/clients/spring-web-flux-client/src/main/kotlin/arrow/endpoint/spring/client/webClientInterpreter.kt b/clients/spring-webflux-client/src/main/kotlin/arrow/endpoint/spring/client/webClientInterpreter.kt similarity index 100% rename from clients/spring-web-flux-client/src/main/kotlin/arrow/endpoint/spring/client/webClientInterpreter.kt rename to clients/spring-webflux-client/src/main/kotlin/arrow/endpoint/spring/client/webClientInterpreter.kt diff --git a/clients/spring-web-flux-client/src/test/kotlin/arrow/endpoint/spring/client/WebClientInterpreterTest.kt b/clients/spring-webflux-client/src/test/kotlin/arrow/endpoint/spring/client/WebClientInterpreterTest.kt similarity index 100% rename from clients/spring-web-flux-client/src/test/kotlin/arrow/endpoint/spring/client/WebClientInterpreterTest.kt rename to clients/spring-webflux-client/src/test/kotlin/arrow/endpoint/spring/client/WebClientInterpreterTest.kt diff --git a/core/api/core.api b/core/api/arrow-endpoint-core.api similarity index 100% rename from core/api/core.api rename to core/api/arrow-endpoint-core.api diff --git a/core/gradle.properties b/core/gradle.properties index dff3dc68..e11a2475 100644 --- a/core/gradle.properties +++ b/core/gradle.properties @@ -1,3 +1 @@ -POM_NAME=Arrow Endpoint Core -POM_ARTIFACT_ID=arrow-endpoint-core -POM_PACKAGING=jar \ No newline at end of file +pom.name=Arrow Endpoint Core \ No newline at end of file diff --git a/docs/openapi-docs/api/openapi-docs.api b/docs/openapi-docs/api/arrow-endpoint-openapi-docs.api similarity index 100% rename from docs/openapi-docs/api/openapi-docs.api rename to docs/openapi-docs/api/arrow-endpoint-openapi-docs.api diff --git a/docs/openapi-docs/build.gradle.kts b/docs/openapi-docs/build.gradle.kts index e299c0aa..221cc931 100644 --- a/docs/openapi-docs/build.gradle.kts +++ b/docs/openapi-docs/build.gradle.kts @@ -8,7 +8,7 @@ plugins { apply(plugin = "kotlinx-serialization") dependencies { - api(projects.core) + api(projects.arrowEndpointCore) implementation(libs.kotlinx.serialization.json) testImplementation(rootProject.libs.coroutines.core) diff --git a/docs/openapi-docs/gradle.properties b/docs/openapi-docs/gradle.properties new file mode 100644 index 00000000..95cd5044 --- /dev/null +++ b/docs/openapi-docs/gradle.properties @@ -0,0 +1 @@ +pom.name=Arrow Endpoint OpenApi Docs \ No newline at end of file diff --git a/examples/api/examples.api b/examples/api/arrow-endpoint-examples.api similarity index 100% rename from examples/api/examples.api rename to examples/api/arrow-endpoint-examples.api diff --git a/examples/build.gradle.kts b/examples/build.gradle.kts index 125b8ffe..21d1404c 100644 --- a/examples/build.gradle.kts +++ b/examples/build.gradle.kts @@ -7,15 +7,15 @@ plugins { apply(plugin = "kotlinx-serialization") dependencies { - api(projects.core) - implementation(projects.servers.ktorServer) - implementation(projects.docs.openapiDocs) + api(projects.arrowEndpointCore) + implementation(projects.arrowEndpointKtorServer) + implementation(projects.arrowEndpointOpenapiDocs) implementation(libs.ktor.server.core) implementation(libs.ktor.server.netty) implementation(libs.spring.boot.starter.webflux) implementation(libs.logback.classic) implementation(libs.kotlinx.serialization.json) - implementation(project(":servers:spring-web-server")) + implementation(projects.arrowEndpointSpringWebfluxServer) } application { diff --git a/schema-reflect/api/schema-reflect.api b/schema-reflect/api/arrow-endpoint-schema-reflect.api similarity index 100% rename from schema-reflect/api/schema-reflect.api rename to schema-reflect/api/arrow-endpoint-schema-reflect.api diff --git a/schema-reflect/build.gradle.kts b/schema-reflect/build.gradle.kts index 8744f051..e75f8783 100644 --- a/schema-reflect/build.gradle.kts +++ b/schema-reflect/build.gradle.kts @@ -8,7 +8,7 @@ plugins { dependencies { runtimeOnly(libs.kotlin.reflect) - api(projects.core) + api(projects.arrowEndpointCore) testImplementation(rootProject.libs.coroutines.core) testImplementation(rootProject.libs.kotest.assertionsCore) diff --git a/schema-reflect/gradle.properties b/schema-reflect/gradle.properties index 7b65bd84..edbddc2a 100644 --- a/schema-reflect/gradle.properties +++ b/schema-reflect/gradle.properties @@ -1,3 +1 @@ -POM_NAME=Arrow Endpoint Schema Reflect -POM_ARTIFACT_ID=arrow-endpoint-schema-reflect -POM_PACKAGING=jar \ No newline at end of file +pom.name=Arrow Endpoint Schema Reflect \ No newline at end of file diff --git a/servers/ktor-server/api/ktor-server.api b/servers/ktor-server/api/arrow-endpoint-ktor-server.api similarity index 100% rename from servers/ktor-server/api/ktor-server.api rename to servers/ktor-server/api/arrow-endpoint-ktor-server.api diff --git a/servers/ktor-server/build.gradle.kts b/servers/ktor-server/build.gradle.kts index 0e8f5592..e25ea5d7 100644 --- a/servers/ktor-server/build.gradle.kts +++ b/servers/ktor-server/build.gradle.kts @@ -7,11 +7,11 @@ plugins { } dependencies { - api(projects.core) + api(projects.arrowEndpointCore) api(libs.ktor.server.core) - testImplementation(projects.test) - testImplementation(projects.clients.ktorClient) + testImplementation(projects.arrowEndpointTest) + testImplementation(projects.arrowEndpointKtorClient) testImplementation(libs.ktor.test) testImplementation(libs.ktor.server.netty) testImplementation(libs.coroutines.core) diff --git a/servers/ktor-server/gradle.properties b/servers/ktor-server/gradle.properties index 3e24e443..ef30b3fd 100644 --- a/servers/ktor-server/gradle.properties +++ b/servers/ktor-server/gradle.properties @@ -1,3 +1 @@ -POM_NAME=ArrowEndpoint Ktor Server -POM_ARTIFACT_ID=arrow-endpoint-server-ktor -POM_PACKAGING=jar \ No newline at end of file +pom.name=Arrow Endpoint Ktor Server \ No newline at end of file diff --git a/servers/spring-web-server/gradle.properties b/servers/spring-web-server/gradle.properties deleted file mode 100644 index bbc64e23..00000000 --- a/servers/spring-web-server/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -POM_NAME=ArrowEndpoint Spring WebFlux Server -POM_ARTIFACT_ID=arrow-endpoint-server-spring-webflux -POM_PACKAGING=jar \ No newline at end of file diff --git a/servers/spring-web-server/api/spring-web-server.api b/servers/spring-webflux-server/api/arrow-endpoint-spring-webflux-server.api similarity index 100% rename from servers/spring-web-server/api/spring-web-server.api rename to servers/spring-webflux-server/api/arrow-endpoint-spring-webflux-server.api diff --git a/servers/spring-web-server/build.gradle.kts b/servers/spring-webflux-server/build.gradle.kts similarity index 83% rename from servers/spring-web-server/build.gradle.kts rename to servers/spring-webflux-server/build.gradle.kts index e7325a74..0691d5b1 100644 --- a/servers/spring-web-server/build.gradle.kts +++ b/servers/spring-webflux-server/build.gradle.kts @@ -7,15 +7,15 @@ plugins { } dependencies { - api(projects.core) + api(projects.arrowEndpointCore) implementation(libs.coroutines.reactive) implementation(libs.coroutines.reactor) implementation(libs.spring.boot.starter.webflux) implementation(libs.reactor.kotlin.extensions) implementation(libs.netty.transport.native.kqueue) - testImplementation(projects.test) - testImplementation(projects.clients.springWebFluxClient) + testImplementation(projects.arrowEndpointTest) + testImplementation(projects.arrowEndpointSpringWebfluxClient) testImplementation(libs.undertow) testImplementation(rootProject.libs.coroutines.core) testImplementation(rootProject.libs.kotest.assertionsCore) diff --git a/servers/spring-webflux-server/gradle.properties b/servers/spring-webflux-server/gradle.properties new file mode 100644 index 00000000..41381826 --- /dev/null +++ b/servers/spring-webflux-server/gradle.properties @@ -0,0 +1 @@ +pom.name=Arrow Endpoint Spring WebFlux Server \ No newline at end of file diff --git a/servers/spring-web-server/src/main/kotlin/arrow/endpoint/spring/server/SpringWebServerInterpreter.kt b/servers/spring-webflux-server/src/main/kotlin/arrow/endpoint/spring/server/SpringWebServerInterpreter.kt similarity index 100% rename from servers/spring-web-server/src/main/kotlin/arrow/endpoint/spring/server/SpringWebServerInterpreter.kt rename to servers/spring-webflux-server/src/main/kotlin/arrow/endpoint/spring/server/SpringWebServerInterpreter.kt diff --git a/servers/spring-web-server/src/test/kotlin/arrow/endpoint/spring/server/SpringServerInterpreterSuite.kt b/servers/spring-webflux-server/src/test/kotlin/arrow/endpoint/spring/server/SpringServerInterpreterSuite.kt similarity index 100% rename from servers/spring-web-server/src/test/kotlin/arrow/endpoint/spring/server/SpringServerInterpreterSuite.kt rename to servers/spring-webflux-server/src/test/kotlin/arrow/endpoint/spring/server/SpringServerInterpreterSuite.kt diff --git a/settings.gradle.kts b/settings.gradle.kts index eb462364..4c389578 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -14,13 +14,26 @@ dependencyResolutionManagement { } rootProject.name = "arrow-endpoint" -include("core", "examples", "schema-reflect", "test") + +include(":arrow-endpoint-core", ":arrow-endpoint-examples", ":arrow-endpoint-schema-reflect", ":arrow-endpoint-test") // clients -include(":clients:ktor-client", ":clients:http4k-client", ":clients:spring-web-client", ":clients:spring-web-flux-client") +include(":arrow-endpoint-ktor-client", ":arrow-endpoint-http4k-client", ":arrow-endpoint-spring-web-client", ":arrow-endpoint-spring-webflux-client") // servers -include(":servers:ktor-server", ":servers:spring-web-server") +include(":arrow-endpoint-ktor-server", ":arrow-endpoint-spring-webflux-server") // docs -include(":docs:openapi-docs") +include(":arrow-endpoint-openapi-docs") + +project(":arrow-endpoint-core").projectDir = file("core") +project(":arrow-endpoint-examples").projectDir = file("examples") +project(":arrow-endpoint-schema-reflect").projectDir = file("schema-reflect") +project(":arrow-endpoint-test").projectDir = file("test") +project(":arrow-endpoint-ktor-client").projectDir = file("clients/ktor-client") +project(":arrow-endpoint-http4k-client").projectDir = file("clients/http4k-client") +project(":arrow-endpoint-spring-web-client").projectDir = file("clients/spring-web-client") +project(":arrow-endpoint-spring-webflux-client").projectDir = file("clients/spring-webflux-client") +project(":arrow-endpoint-ktor-server").projectDir = file("servers/ktor-server") +project(":arrow-endpoint-spring-webflux-server").projectDir = file("servers/spring-webflux-server") +project(":arrow-endpoint-openapi-docs").projectDir = file("docs/openapi-docs") diff --git a/test/api/test.api b/test/api/arrow-endpoint-test.api similarity index 100% rename from test/api/test.api rename to test/api/arrow-endpoint-test.api diff --git a/test/build.gradle.kts b/test/build.gradle.kts index c2e1668f..758ad69b 100644 --- a/test/build.gradle.kts +++ b/test/build.gradle.kts @@ -6,14 +6,14 @@ plugins { apply(plugin = "kotlinx-serialization") dependencies { - api(projects.core) + api(projects.arrowEndpointCore) api(libs.kotest.frameworkEngine) api(libs.kotest.assertionsCore) api(libs.kotest.property) - implementation(projects.clients.http4kClient) - implementation(projects.clients.springWebClient) - implementation(projects.clients.springWebFluxClient) + implementation(projects.arrowEndpointHttp4kClient) + implementation(projects.arrowEndpointSpringWebClient) + implementation(projects.arrowEndpointSpringWebfluxClient) implementation(libs.kotlinx.serialization.json) implementation(libs.http4k.client.apache) implementation(libs.mockwebserver)