[ 
https://issues.apache.org/jira/browse/BEAM-13504?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17532441#comment-17532441
 ] 

Beam JIRA Bot commented on BEAM-13504:
--------------------------------------

This issue is P2 but has been unassigned without any comment for 60 days so it 
has been labeled "stale-P2". If this issue is still affecting you, we care! 
Please comment and remove the label. Otherwise, in 14 days the issue will be 
moved to P3.

Please see https://beam.apache.org/contribute/jira-priorities/ for a detailed 
explanation of what these priorities mean.


> 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
>              Labels: stale-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.7#820007)

Reply via email to