Split classes into api and internal packages

Description

We have internal classes like for example QuarkusSessionBuilder, MicroProfileMetricsUpdater, and others.
They are and should reside in the runtime module. The problem is that this module is imported in the client application and all classes from runtime are accessible to the client app.

We should at least move those classes to the internal package to signal that they should not be used in the client code. On the other hand, public classes should be moved to api package.

The second problem that should be solved in this task is to find a reason why the CassandraClientConfig and CassandraClientConnectionConfig must be in the com.datastax.oss.quarkus.config and not in the com.datastax.oss.quarkus.runtime.config. Currently, with such change, they are not visible in the deployment module. We should fix it and move those classes to com.datastax.oss.quarkus.runtime.config if possible.

Environment

None

Pull Requests

None

Assignee

Unassigned

Reporter

Tomasz Lelek

Labels

None

PM Priority

None

Affects versions

None

Fix versions

None

Pull Request

None

Doc Impact

None

Size

None

External issue ID

None

External issue ID

None

Epic Link

Priority

Major
Configure