Details

    • Type: Sub-task
    • Status: In Progress
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: runner-core, sdk-java-core
    • Labels:
      None

      Description

      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.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              kenn Kenneth Knowles
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: