[
https://issues.apache.org/jira/browse/BEAM-3608?focusedWorklogId=184745&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-184745
]
ASF GitHub Bot logged work on BEAM-3608:
----------------------------------------
Author: ASF GitHub Bot
Created on: 14/Jan/19 10:49
Start Date: 14/Jan/19 10:49
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 (I will take care of
this).
- 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: 184745)
Time Spent: 9.5h (was: 9h 20m)
> 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: 9.5h
> 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)