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

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 2h 10m
                  2h 10m