Skip to content
Snippets Groups Projects
  • Paul Duffin's avatar
    b28cb44e
    Enable tethering to perform its own hidden API processing · b28cb44e
    Paul Duffin authored
    Previously, the hidden API encoding of the tethering boot dex jars,
    i.e. those dex jars that tethering contributes to the bootclasspath
    were done as part of the monolithic hidden API processing. This change
    causes the encoding to be done by the tethering's
    bootclasspath_fragment.
    
    This change involves the following:
    * Addition of the fragments property to the tethering's
      bootclasspath_fragment module to list all the other
      bootclasspath_fragment modules on which this depends.
    * Addition of the additional_stubs property to add stubs for APIs that
      are not provided by another bootclasspath_fragment.
    * Moving hidden API flag file entries related to tethering from the
      flag files in frameworks/base/boot/hiddenapi directory into the
      tethering directory with an appropriate OWNERS file to allow them to
      be managed by the Soong and compat team.
    * Addition of a PREUPLOAD.cfg hook script to ensure that the flag files
      are sorted.
    
    The build automatically checks that the hidden API flags which are
    computed by tethering and encoded into its boot dex jars match those
    that are generated by the monolithic processing so this is guaranteed
    to be safe.
    
    Bug: 179354495
    Test: m com.android.tethering
          - ensure that the generated APEX is byte-for-byte identical
            before and after these changes.
          m out/soong/hiddenapi/hiddenapi-flags.csv
          - make sure that they are not changed by this.
    Change-Id: I4d9621325c7fcea5043cbca4c577ba2ac6125c0c
    Ignore-AOSP-First: merge conflicts
    b28cb44e
    History
    Enable tethering to perform its own hidden API processing
    Paul Duffin authored
    Previously, the hidden API encoding of the tethering boot dex jars,
    i.e. those dex jars that tethering contributes to the bootclasspath
    were done as part of the monolithic hidden API processing. This change
    causes the encoding to be done by the tethering's
    bootclasspath_fragment.
    
    This change involves the following:
    * Addition of the fragments property to the tethering's
      bootclasspath_fragment module to list all the other
      bootclasspath_fragment modules on which this depends.
    * Addition of the additional_stubs property to add stubs for APIs that
      are not provided by another bootclasspath_fragment.
    * Moving hidden API flag file entries related to tethering from the
      flag files in frameworks/base/boot/hiddenapi directory into the
      tethering directory with an appropriate OWNERS file to allow them to
      be managed by the Soong and compat team.
    * Addition of a PREUPLOAD.cfg hook script to ensure that the flag files
      are sorted.
    
    The build automatically checks that the hidden API flags which are
    computed by tethering and encoded into its boot dex jars match those
    that are generated by the monolithic processing so this is guaranteed
    to be safe.
    
    Bug: 179354495
    Test: m com.android.tethering
          - ensure that the generated APEX is byte-for-byte identical
            before and after these changes.
          m out/soong/hiddenapi/hiddenapi-flags.csv
          - make sure that they are not changed by this.
    Change-Id: I4d9621325c7fcea5043cbca4c577ba2ac6125c0c
    Ignore-AOSP-First: merge conflicts
Code owners
Assign users and groups as approvers for specific file changes. Learn more.