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

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

This issue is assigned but has not received an update in 30 days so it has been 
labeled "stale-assigned". If you are still working on the issue, please give an 
update and remove the label. If you are no longer working on the issue, please 
unassign so someone else may work on it. In 7 days the issue will be 
automatically unassigned.

> 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
>            Assignee: Emily Ye
>            Priority: P2
>              Labels: stale-assigned
>          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)

Reply via email to