Kenneth Knowles created BEAM-3608: ------------------------------------- Summary: 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
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)