[ 
https://issues.apache.org/jira/browse/BEAM-3608?focusedWorklogId=184730&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-184730
 ]

ASF GitHub Bot logged work on BEAM-3608:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 14/Jan/19 09:46
            Start Date: 14/Jan/19 09:46
    Worklog Time Spent: 10m 
      Work Description: iemejia commented on issue #7494: [BEAM-3608] Port 
shaded Guava to vendored Guava
URL: https://github.com/apache/beam/pull/7494#issuecomment-453947699
 
 
   
   Ok, so we things we should probably do next:
   
   - notify dev@ about the use of vendored guava imports
   - update the contribution guide with info about this, and add how to deploy 
the vendored dependency source locally to improve ease of use from the IDE.
   
   Two questions:
   
   1. can we automatize the detection of guava imports and even break the build 
if
      so?  of course with the possibility to except some modules e.g. sql, 
cassandra
   2. what is needed to remove the shadow plugin now? or at least exclude it 
for the
      modules that don't need anymore this kind of magic e.g. most IOs?
   
   An interesting question for the future is what to do to detect security 
issues
   with the vendored dependencies? Automatic dependency checkers probably won't
   detect issues on our vendored dependencies. So something to think about.
   
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 184730)
    Time Spent: 9h 10m  (was: 9h)

> Vendor Guava
> ------------
>
>                 Key: BEAM-3608
>                 URL: https://issues.apache.org/jira/browse/BEAM-3608
>             Project: Beam
>          Issue Type: Sub-task
>          Components: runner-core, sdk-java-core
>            Reporter: Kenneth Knowles
>            Assignee: Kenneth Knowles
>            Priority: Major
>          Time Spent: 9h 10m
>  Remaining Estimate: 0h
>
> Instead of shading as part of our build, we can shade before build so that it 
> is apparent when reading code, and in IDEs, that a particular class resides 
> in a hidden namespace.
> {{import com.google.common.reflect.TypeToken}}
> becomes something like
> {{import org.apache.beam.private.guava21.com.google.common.reflect.TypeToken}}
> So we can very trivially ban `org.apache.beam.private` from public APIs 
> unless they are annotated {{@Internal}}, and it makes sharing between our own 
> modules never get broken by shading again.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to