[
https://issues.apache.org/jira/browse/BEAM-13504?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17501772#comment-17501772
]
Beam JIRA Bot commented on BEAM-13504:
--------------------------------------
This issue was marked "stale-assigned" and has not received a public comment in
7 days. It is now automatically unassigned. If you are still working on it, you
can assign it to yourself again. Please also give an update about the status of
the work.
> Remove provided/compileOnly deps not intended for external use
> --------------------------------------------------------------
>
> Key: BEAM-13504
> URL: https://issues.apache.org/jira/browse/BEAM-13504
> Project: Beam
> Issue Type: Sub-task
> Components: build-system
> Reporter: Daniel Collins
> Priority: P2
> Time Spent: 40m
> Remaining Estimate: 0h
>
> There are a lot of compileOnly deps in place to make certain libraries
> lighter. In many cases, these don't actually reduce the size of the resulting
> binary, and are a result of an overriding strategy where the types of the
> implementation are needed in the loading library.
> In the short term, these can all be replaced by `implementation`, with the
> downside that jars will have extra explicit dependencies, and the upside that
> users will not experience runtime errors due to missing dependencies. In the
> longer term, we should restructure these libraries (sql being the worst
> offender) to use serviceLoaders or other strategies that do not require
> naming the types of the overriders within the same package that the interface
> is declared.
> The one exception to this is libraries that we intend to use whatever version
> the user puts on the classpath at runtime without expressing a version
> preference, such as hadoop or kafka. We should still consider if this has
> value though, as users are still free to explicitly override the dependency
> version we choose, even if we declare an `implementation` dependency on it.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)