[jira] [Assigned] (BEAM-3608) Pre-shade Guava for things we want to keep using
[ https://issues.apache.org/jira/browse/BEAM-3608?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kenneth Knowles reassigned BEAM-3608: - Assignee: (was: Kenneth Knowles) > Pre-shade Guava for things we want to keep using > > > 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 >Priority: Major > Time Spent: 1h 50m > 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)
[jira] [Assigned] (BEAM-3608) Pre-shade Guava for things we want to keep using
[ https://issues.apache.org/jira/browse/BEAM-3608?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kenneth Knowles reassigned BEAM-3608: - Assignee: Kenneth Knowles > Pre-shade Guava for things we want to keep using > > > 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 > > 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)
[jira] [Assigned] (BEAM-3608) Pre-shade Guava for things we want to keep using
[ https://issues.apache.org/jira/browse/BEAM-3608?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kenneth Knowles reassigned BEAM-3608: - Assignee: (was: Kenneth Knowles) > Pre-shade Guava for things we want to keep using > > > 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 >Priority: Major > > 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)