dimas-b commented on code in PR #3281:
URL: https://github.com/apache/polaris/pull/3281#discussion_r2629139567
##########
persistence/relational-jdbc/build.gradle.kts:
##########
@@ -33,8 +33,11 @@ dependencies {
compileOnly(libs.jakarta.enterprise.cdi.api)
compileOnly(libs.jakarta.inject.api)
+ compileOnly(libs.smallrye.config.core) // @ConfigMapping for Quarkus
integration
implementation(libs.smallrye.common.annotation) // @Identifier
implementation(libs.postgresql)
+ implementation(platform(libs.quarkus.amazon.services.bom))
Review Comment:
JDBC Persistence and other similar modules compile against their respective
interfaces.
The `runtime/server` module includes drivers (PostgreSQL, RDS, etc.)
according to the Polaris project decisions - whatever is supposed to be
included in the ASF releases. This does not have to be an all-encompassing list.
In this regard, the `runtime/server` module is essentially the "default"
server "package".
Downstream projects are not supposed to reuse `runtime/server` directly.
Downstream projects reuse JDBC Persistence, `runtime/service`, etc... as
needed and build a custom `server`. Downstream projects also include libraries
/ drivers as needed according to the needs of the downstream project.
For example, PostgreSQL or RDS code may or may not be included - the
decision should rest with the downstream project IMHO. A downstream project may
even choose to use a completely different JDBC driver.
Conversely, with the current state of this PR, RDS is an impl. dependency of
JDBC Persistence and NOT including it in downstream builds requires extra work
at explicitly preventing RDS jars from leaking into custom builds... which is
very inconvenient.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]